Автор: Александр Гончаренко

Редактор: Ксения Рябинова

Зачем нужны нелинейные функции активации?

Давайте докажем эквивалентность линейного слоя и двухслойной сети без функции активации.

Пусть $A_1, B_1$ — веса первого линейного слоя, $A_2, B_2$ — веса второго. Тогда:

$y_1 =A_1x+B_1$ — выход после первого слоя.

$y_2 =A_2(A_1x+B_1)+B_2$ — выход после двух слоев. Раскрываем скобки и получаем:

$y_2 =A_2A_1x+A_2B_1+B_2$ Делаем замену:

$A_3=A_2A_1$, $B_3=A_2B_1+B_2$ И приводим нашу двухслойную нейросеть к однослойной:

$y_2=A_3x+B_3$ Соответственно, двухслойная сеть без функции активации эквивалентна однослойной.

Как нам известно, однослойная нейросеть не способна аппроксимировать любую функцию. Например, мы не можем решить проблему XOR.

В то же время, Теорема Цыбенко гласит: двухслойная нейросеть с непрерывной сигмоидной функцией активации может аппроксимировать любую непрерывную функцию. Но здесь стоит отметить, что для выполнения условий теоремы данными не напасешься 🙂

Сигмоида и гиперболический тангенс

Сигмоида: $sigmoid(x)=\frac{1}{1+e^{-x}}$

Гиперболический тангенс: $tanh(x)=\frac{e^{x}-e^{-x}}{e^x+e^{-x}}$ Данные функции активации ведут себя очень похоже, так как $tanh(x)=2sigmoid(2x)-1$. Обе функции активации нелинейны по своей природе. Это значит, что нам можно строить многослойную нейросеть. А еще их производные — гладкие функции. Кроме того, они обе ограничены с двух сторон: область значений для $sigmoid$ — $(0,1)$, а для $tanh$ — $(-1,1)$. В то же время, можно заметить следующее: у обеих функций есть области, на которых они сильно изменяются, при этом, на краях их производная почти равна нулю. Это плохо: когда производная слишком мала, нейросеть начинает обучаться медленнее :( Мы обучаем нейросети с помощью алгоритма обратного распространения ошибок: перемножаем частные производные. А это приводит к тому, что градиент не доходит до первых слоев — проблема затухающего градиента (Vanishing gradient problem).

Трудности вызывает и скорость: сами функции и их производные содержат вычисление экспоненты, а это не самая быстрая операция.

Untitled

ReLU