Проблема в следующем:
Получите градиент относительно входного слоя для нейронной сети с одним скрытым слоем, используя сигмоид для ввода -> скрытый, softmax для скрытого -> выход, с перекрестной потерей энтропии.
Я могу пройти через большую часть деривации, используя правило цепочки, но я не уверен, как на самом деле «связать» их вместе.
Определить некоторые обозначения
, σ - сигмовидная функция
,
,Sявляется функцией SoftMax
, у реальна одну метку горячей вектор
Тогда по правилу цепи,
Отдельные градиенты:
Теперь мы должны объединить определения. В простой переменной это просто, мы просто умножаем все вместе. В векторах я не уверен, использовать ли поэлементное умножение или матричное умножение.
Где - поэлементное умножение векторов, а - матричное умножение. Эта комбинация операций - единственный способ, которым я мог бы связать их вместе, чтобы получить вектор размерности , который, как я знаю, должен быть .
У меня вопрос: какой принципиальный способ для меня выяснить, какой оператор использовать? Меня особенно смущает необходимость поэлементного между и .
Спасибо!