Загрузка урока...
Функции активации
Разберем несколько популярных функций активации, использующихся в нейронных сетях.
1. Сигмоида
Сигмоида задается формулой
σ(x)=11+e−xσ(x)=1+e−x1
и имеет вид

Сигмоида хорошо подходит как функция активации на последнем слое нейронной сети в задачах бинарной классификации, так как в совокупности с подходящей функцией потерь для обучения сети (log-loss) на выходе мы получим вероятности классов.
При этом у сигмоиды есть и недостаток, из-за которого ее стараются не использовать в промежуточных слоях сети: при увеличении ∣x∣∣x∣ значения функции σ(x)σ(x) слабо изменяются - это означает, что σ′(x)≈0σ′(x)≈0 в этих областях. Близкая к нулю производная может приводить к занулению градиента функции потерь ∇Q(w)≈0∇Q(w)≈0, а следовательно, обучение сети застопорится (так как сеть, как и некоторые классические ML-модели, обучается градиентным спуском):
wnew=wold−∇Q(wold).wnew=wold−∇Q(wold).
Это явление называется затуханием градиента.
2. Гиперболический тангенс (tanh)
Еще одна функция активации - гиперболический тангенс:
tanh(x)=ex−e−xex+e−x.tanh(x)=ex+e−xex−e−x.
График функции имеет вид

Гиперболический тангенс очень похож на сигмоиду. Более того, они связаны формулой
tanh(x)=2σ(2x)−1.tanh(x)=2σ(2x)−1.
Поэтому у гиперболического тангенса все те же свойства, что и у сигмоиды, разве что вероятности с помощью него предсказать не получится.
3. ReLU
Функция ReLU (Rectified Linear Unit) задается формулой
ReLU(x)=max{0,x}ReLU(x)=max{0,x}
и имеет вид

На первый взгляд кажется, что ReLU линейная функция, но это не так - она линейна лишь в каждой полуплоскости, а в совокупности нелинейна, поэтому вполне подходит в качестве функции активации.
ReLU имеет свойство регуляризации - она зануляет нейроны, принимающие отрицательные значения. Это означает, что в каждый момент времени не все нейроны активны, что снижает переобучение
Предыдущий пункт также иногда можно отнести и к минусам ReLU - может произойти так, что некоторые нейроны большую часть времени зануляются, поэтому по ним не происходит обучения (зануление градиента). Для решения этой проблемы существуют вариации ReLU, такие как, например, Leaky ReLU (LeakyReLU(x)=max{0,x}+a⋅min{0,x}LeakyReLU(x)=max{0,x}+a⋅min{0,x}

В этом материале нет файлов для просмотра.