Многочленные логистические потери против (перекрестная энтропия против квадратной ошибки)

9

Я заметил, что Caffe (структура глубокого обучения) использовала Softmax Loss Layer в SoftmaxWithLoss качестве выходного слоя для большинства образцов модели .

Насколько я знаю, слой Softmax Loss представляет собой комбинацию Multinomial Logistic Loss Layer и Softmax Layer .

От Кафе они сказали, что

Расчет градиента слоя потерь Softmax более численно стабилен

Тем не менее, это объяснение - не тот ответ, который мне нужен, а объяснение - просто сравнить комбинацию слоя Multinomial Logistic Loss Layer и Softmax Loss вместо слоя за слоем. Но не сравнить с другим типом функции потери.

Тем не менее, я хотел бы узнать больше, в чем заключаются различия / преимущества / недостатки этих 3-х ошибочных функций, таких как Мультивыносимая Логистическая Потеря , Кросс-Энтропия (CE) и Квадратная Ошибка (SE) с точки зрения контролируемого обучения? Любые поддерживающие статьи?

karfai
источник
1
Просто подсказка: я думаю, вы получите более быстрый ответ, если добавите тег «caffe» к своим вопросам. Кроме того, размещение его в stackoverflow вместо stackexchange может уделить этому больше внимания).
mcExchange
1
Комбинация позволяет легко вычислить градиент y-t. willamette.edu/~gorr/classes/cs449/classify.html
Цзинпэн Ву,

Ответы:

11

На мой взгляд, функция потерь - это целевая функция, которую мы хотим, чтобы наши нейронные сети оптимизировали свои веса в соответствии с ней. Следовательно, это зависит от конкретной задачи, а также как-то эмпирически. Просто для ясности, многочленные логистические потери и перекрестные энтропийные потери одинаковы (пожалуйста, посмотрите на http://ufldl.stanford.edu/wiki/index.php/Softmax_Regression ). Функция стоимости полиномиальной логистической потери выглядит следующим образом: J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))].

Обычно используется для классификации проблемы. Square Error имеет уравнение типа 12Ni=1Nxi1xi222.

Следовательно, он обычно используется для минимизации некоторых конструкционных ошибок.

РЕДАКТИРОВАТЬ: @MartinThoma Приведенная выше формула многочлена логистических потерь только для двоичного случая, для общего случая это должно быть , где K - количество категорий.J(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]

beahacker
источник
2
В Caffe MultinomialLogisticLoss - это , так что здесь не так? 1Nn=1Nlog(pn,ln)
Мои
Не так, - это двоичные переменные, в конце концов, это может быть сведено к вашей формулировке. yi
beahacker
Я думал, что логистическая потеря мульти-почты была без второго слагаемого, поэтомуJ(θ)=1m[i=1my(i)loghθ(x(i))]
Мартин Тома
1
@MartinThoma Моя формула только для двоичного случая, для общего случая она должна бытьJ(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]
beahacker
@beahacker Не могли бы вы сказать мне, почему второе слагаемое не входит в мультиноминальный случай, как указал Мартин Тома. Я пытаюсь понять, почему это так. По крайней мере, не могли бы вы указать мне какой-нибудь ресурс для изучения.
Нандееш
2

Я хотел бы узнать больше, в чем заключаются различия / преимущества / недостатки этих 3-х функций ошибок, а именно: многочленная логистическая потеря, перекрестная энтропия (CE) и квадратная ошибка (SE) в перспективе контролируемого обучения?

Полиномиальные логистические потери в действительности такие же, как и перекрестная энтропия. Посмотрите на эту функцию (функция стоимости в softmax ): где m - номер выборки, K - номер класса.

J(θ)=i=1mk=1K1{y(i)=k}logp(y(i)=kx(i);θ)

Функция индикатора ( ) определяет, является ли значение ниже 0 или 1 в определении кросс-энтропии , которое помечено как горячее в данных обучения, и - условная вероятность softmax (q (x), как показано ниже). 1{y(i)=k}p(x)p(y(i)=kx(i);θ)

xp(x)logq(x)

И MSE в основном для ситуации, когда функция связи - это функция единства (распределение ответов следует за нормальным распределением), стандартная линейная регрессия, в то время как кросс-энтропия обычно для случая, когда функция связи - это функция логита. Вот отличное сравнение, к которому вы можете обратиться.

Любые поддерживающие статьи?

Кроме тех, что в ссылках, рекомендую вам это иллюстрирующее: https://github.com/rasbt/python-machine-learning-book/blob/master/faq/softmax_regression.md

Лернер Чжан
источник