Оригинальная ссылка:CHAPTER 3 Improving the way neural networks learn
Предисловие Софтмакс
В основном мы используем кросс-энтропию для решения проблем с медленным обучением. Однако я хотел бы кратко представить другой подход к этой проблеме, основанный на слоях нейронов softmax. В искусственной нейронной сети (ИНС) softmax обычно используется как функция активации выходного слоя. Это не только потому, что он хорошо работает, но и потому, что он упрощает понимание выходных значений ИНС. В то же время эффект обучения softmax с функцией стоимости логарифмического правдоподобия лучше, чем эффект использования квадратичной функции стоимости.
Свойства функции Softmax

Функциональная формула softmax выглядит следующим образом:
Показатель степени в формуле гарантирует, что все выходные активации положительны. Тогда суммирование знаменателей в уравнении снова гарантирует, что выходная сумма softmax равна. Эта конкретная форма гарантирует, что значения активации вывода образуют естественный способ распределения вероятностей. Вы можете думать об этом как о своего рода корректировке
метод, а затем интегрировать результаты, чтобы сформировать распределение вероятностей.
Наиболее очевидной особенностью функции softmax является то, что она принимает отношение входных данных каждого нейрона к сумме входных данных всех нейронов в текущем слое в качестве выходных данных нейрона. Это облегчает интерпретацию выходных данных: чем больше выходное значение нейрона, тем выше вероятность того, что класс, соответствующий этому нейрону, является истинным классом.
Монотонность softmax
доказать, что еслино
положительный,
время отрицательно. В результате увеличивается
увеличит соответствующее значение активации выхода
и уменьшите все остальные значения активации выхода. Доказательство монотонности будет дано позже.
Нелокальность softmax
Одним из преимуществ слоя softmax является то, что выводсоответствующий взвешенный вход
Функция. Так как знаменатель суммирует все
Таким образом, формула расчета вычисляет каждый
оба с другим
Тесно связаны. Глубокое понимание для слоя softmax: любое конкретное значение активации вывода
Зависит от всех взвешенных входных данных.
Инвертировать слой softmax
Предположим, у нас есть нейронная сеть с выходным слоем softmax, тогда значение активацииИзвестный. Легко доказать, что соответствующий взвешенный вход имеет вид
, где постоянная
не зависит от
из.
Softmax решает проблему медленного обучения
Теперь у нас есть некоторое представление о слое гибких максимумных нейронов. Но мы не видели, как слой soft max решит проблему медленного обучения. Чтобы понять это, давайте сначала определим функцию логарифмического правдоподобия. Мы используемпредставляет обучающий ввод сети,
представляет соответствующий целевой результат. Тогда функция стоимости, связанная с этим обучающим входом, имеет вид
Итак, если бы мы тренировались на изображениях MNIST, ввод был бы, то соответствующая логарифмическая стоимость правдоподобия равна
. Чтобы понять, что это означает интуитивно, подумайте о том, когда сеть работает хорошо, т. е. подтверждается ли входной сигнал.
когда. В это время он оценит соответствующую вероятность
и
очень близко, поэтому цена
будет маленьким. И наоборот, если сеть работает плохо, вероятность
становится маленькой, цена
впоследствии увеличилось. Таким образом, функция стоимости логарифмического правдоподобия также удовлетворяет условию нашей функции ожидаемой стоимости.
Как насчет медленного обучения? Чтобы проанализировать это, вспомните, что ключом к медленному обучению является количествои
изменения. Я не буду приводить здесь подробный вывод, но с помощью небольшой алгебры вы получите
Эти уравнения на самом деле аналогичны тем, что мы получили ранее для кросс-энтропии. И, как и в предыдущем анализе, эти выражения гарантируют, что мы не столкнемся с проблемами медленного обучения. На самом деле полезно думать о выходном слое softmax с логарифмической стоимостью правдоподобия как о очень похожем на сигмовидный выходной слой с кросс-энтропийной стоимостью.
При таком сходстве следует ли вам использовать сигмовидный выходной слой с кросс-энтропийной стоимостью или выходной слой softmax со стоимостью логарифмического правдоподобия? На самом деле во многих сценариях приложений хорошо работают оба метода. С общей точки зрения комбинация softmax плюс логарифм правдоподобия больше подходит для сценариев, в которых выходные активации необходимо интерпретировать как вероятности. Это не всегда проблема, но это действительно полезно для непересекающихся задач классификации, таких как MNIST.
Математическое доказательство эффективности Softmax
Функциональная формула softmax выглядит следующим образом:
Результаты вывода softmax весьма специфичны и делятся на два случая.



Как упоминалось выше, квадратичная функция стоимости может вызвать проблему низкой скорости обучения при обучении ИНС. То есть, чем дальше начальное выходное значение от истинного значения, тем медленнее скорость обучения. Эту проблему можно решить, используя кросс-энтропийную функцию стоимости. Фактически, эту проблему также можно решить другим методом, который заключается в использовании функции активации softmax и использовании функции стоимости логарифмического правдоподобия для ее решения.
Формула для функции стоимости логарифмического правдоподобия:
Обратите внимание на эту ситуацию:Среди них он представляет собой первуюВыходное значение нейрона,
Представляет истинное значение, соответствующее k-му нейрону, принимая значение 0 или 1 . так как
Принимает значение 0 или 1 для каждого образца,
Только один принимает 1, а остальные принимают 0, поэтому знак суммирования функции логарифмического правдоподобия можно удалить и упростить до
Чтобы проверить, что softmax и эта функция стоимости также могут решить вышеупомянутую проблему замедления скорости обучения, следующим фокусом является вывод формулы градиента веса w и смещения b ИНС.
Сначала найдите частную производную функции потерь по смещению b:
когдаКогда , введите приведенный выше результат
когдаКогда , введите приведенный выше результат
Согласно четырем уравнениям обратного распространения см. конкретный анализ«Алгоритм обратного распространения»

Знать,и
Так когдачас,
когдачас,
НапримерПри расчете нескольких слоев окончательная оценка вектора обучающей выборки составляет [ 2, 3, 4 ], тогда вероятность после функции softmax соответственно = [e ^ 2 / (e ^ 2 + e ^ 3 + e ^ 4),е^3/(е^2+е^3+е^4),е^4/(е^2+е^3+е^4)] = [0,0903,0,2447,0,665], если правильная классификация этой выборки вторая, то вычисляемая частная производная (на самом деле эта частная производная естьИли скорее
) равно [0,0903,0,2447-1,0,665]=[0,0903,-0,7553,0,665], это очень просто! Затем вы можете выполнить обратное распространение на основе этого.
Уведомление! когдаКогда значение не 0 или 1, а действительное значение в интервале [0,1], приведенную выше формулу нужно лишь немного изменить, просто поместите следующую формулу в
результаты из
изменить на
Вот и все,
Другие процессы деривации также должны быть скорректированы соответствующим образом. Так что в некоторых местах вы увидите такую формулу,
И то, и другое верно, только потому, что посылки разные, поэтому и вывод другой.
Связь между кросс-энтропией и логарифмической вероятностью
в заключении: Функция потерь перекрестной энтропии и максимального правдоподобия согласуется в случае, когда класс, к которому принадлежит образец, уникален.
Ключевыми моментами, которые могут быть гармонично объединены, являются:
Категория, к которой принадлежит образец, уникальна, и образец должен принадлежать к определенной категории.Идея вероятности состоит в том, чтобы максимизировать вероятность выборки образцов, поэтому каждый образец может находиться только в фиксированном состоянии. Это позволяет записать вероятностную форму каждой выборки в комплексной форме, а комплексную форму можно просто разделить на кросс-энтропию под логарифмом. При мультиклассе, если класс, к которому принадлежит выборка, уникален, потеря максимального правдоподобия и потеря перекрестной энтропии по-прежнему согласуются.
Аргумент:
биномиальное распределение
Биномиальное распределение также называется распределением 0-1. Например, случайная величина x подчиняется биномиальному распределению. Что касается параметра μ (0≤μ≤1), вероятность того, что его значение примет 1 и примет 0, выглядит следующим образом:
Тогда распределение вероятностей по x:
функция логарифмического правдоподобия для выборки из биномиального распределения
Дана выборка D={x1,x2,…,xB} — это наблюдение над случайной величиной x в предположении, что выборка не зависит от биномиального распределения p(x|µ) (p(x1,x2,…, xN) = ∏ip(xi)), то функция правдоподобия текущего набора выборок относительно μ равна:
С частотной точки зрения через значение функции максимального правдоподобия можно оценить параметр µ, максимизирующий функцию правдоподобия, что эквивалентно максимизации ее логарифмической формы:

Нахождение его производной по μ, решение максимального правдоподобия для μ:
Здесь мы сосредоточимся только на:
Функция кросс-энтропийных потерь
x представляет исходный сигнал, а z представляет реконструированный сигнал. (Цель функции потерь — минимизировать, а функции правдоподобия — максимизировать, разница между ними — только один знак).
использованная литература
[1] Michael Nielsen.CHAPTER 3 Improving the way neural networks learn[DB/OL]. http://neuralnetworksanddeeplearning.com/chap3.html, 2018-06-22.
[2] Zhu Xiaohu. Zhang Freeman.Another Chinese Translation of Neural Networks and Deep Learning[DB/OL].https://github.com/zhanggyb/nndl/blob/master/chap3.tex, 2018-06-22.
[3] __Hong Функция стоимости логарифмического правдоподобия softmax (вывод формулы) [DB/OL].
[4] Yizhen HIT_NLP Пример ручного ввода шаг за шагом покажет вам функцию softmax и соответствующий процесс деривации [DB/OL]. https://www.jianshu.com/p/ffa51250ba2e. 2018-06-22 .