Насколько гибка связь между целевой функцией и функцией активации выходного слоя?

10

Во многих пакетах нейронных сетей кажется стандартным объединение целевой функции, которая должна быть минимизирована, с функцией активации в выходном слое.

Например, для линейного выходного слоя, используемого для регрессии, является стандартным (и часто единственным выбором) иметь целевую функцию квадрата ошибки. Другим обычным сопряжением является логистический вывод и потери в журнале (или кросс-энтропия). И еще одно - softmax и потеря нескольких журналов.

Используя нотацию, для значения перед активацией (сумма весов умноженного на активацию из предыдущего слоя), для активации, для истинности земли, используемой для обучения, для индекса выходного нейрона.a y iZaYя

  • Линейная активация идет с квадратической ошибкой1aязнак равноZя12Σя(Yя-aя)2

  • Сигмовидная активация идет с целью logloss / cross-entropy limit -Ея(уя*лог(я)+(1-уя)*лог(1-я))aязнак равно11+е-Zя-Σя(Yя*Lог(aя)+(1-Yя)*Lог(1-aя))

  • Активация Softmax идет с целью мультиклассового журнала limitaязнак равноеZяΣJеZJ-Σя(Yя*Lог(aя))

Это те, кого я знаю, и я ожидаю, что есть много, о которых я до сих пор не слышал.

Кажется, что потери в журнале будут работать только и будут численно стабильными, когда выходные данные и цели находятся в диапазоне [0,1]. Поэтому может не иметь смысла использовать линейный выходной слой с целевой функцией logloss. Разве есть более общая функция logloss, которая может справиться со значениями которые находятся вне диапазона?Y

Тем не менее, не так уж и плохо попробовать сигмоидальный вывод с квадратом объективной ошибки. Оно должно быть стабильным и по крайней мере сходиться.

Я понимаю, что некоторые из этих пар основаны на том, что формула для где - значение целевой функции, проста для обратного распространения. Но все еще должно быть возможно найти эту производную, используя другие пары. Кроме того, существует много других функций активации, которые обычно не видны в выходных слоях, но они могут быть реализованы, например , и там, где неясно, какую целевую функцию можно применить.δЕδZЕtanh

Существуют ли ситуации при проектировании архитектуры нейронной сети, когда вы должны или должны использовать «нестандартные» пары активации выхода и целевых функций?

Нил Слэйтер
источник

Ответы:

4

Не столько от того, какую функцию активации вы используете, которая определяет, какую функцию потерь вы должны использовать, а от того, какова ваша интерпретация выходных данных.

Если выходные данные должны быть вероятностью, то лог-потеря - это путь.

Если выходные данные являются универсальными значениями, то среднеквадратическая ошибка - это путь по умолчанию. Так, например, если ваш вывод представлял собой пиксель серой шкалы с серой шкалой, помеченной числом от 0 до 1, возможно, имеет смысл использовать функцию активации сигмоида с целевой функцией среднего квадрата ошибки.

patapouf_ai
источник