ReLU

Apr 19, 2018 23:50

В прошлом десятилетии стандартной активационной функцией для сетей считалась tanh(x) или, по-другому, hyperbolic tangent function:



График этой функции очень похож на сигмоиду, однако, в отличие от последней, границы оси y которой лежат в пределах [0; 1], границы tanh(x) лежат в пределах [-1; 1]:



В современном мире чаще всего взамен tanh используют ReLU (Rectified Linear Units), которая представляет собой функцию, которая возвращает положительное или нулевое значение аргумента:



Выглядит ReLU на графике вот так:



Замена в сети LeNet-5 активационной функции tanh на ReLU (без изменения других параметров) дала  0,5 % прирост accuracy на тренировочных и тестовых данных:



Значение loss уменьшается заметно быстрее у ReLU. На тестовых данных loss падает с 0.09352 до 0.06445:



Может показаться, что из-за такого маленького прироста вообще нет смысла говорить о замене активационной функции, однако, LeNet-5 слишком простая и неглубокая сеть, к тому же её обучение проводилось на довольно маленьких изображениях.

В статье, описывающей сеть AlexNet (Krizhevsky et al., 2012), сказано, что у исследователей на датасете CIFAR-10 значение training error rate падало с функцией ReLU в шесть раз быстрее, чем с tanh:


активационная функция

Previous post Next post
Up