Быть быстрее или ниже - это относительный термин, и его следует понимать в контексте того, с чем он сравнивается. Итак, чтобы понять это, мы должны сначала рассмотреть, как градиентный спуск работает с другими типами функции активации.
Пример настройки
Рассмотрим MLP с скрытыми слоями размера один.n
z1=W1x+b1
a1=f(z1)
...
zn=Wnan−1+bn
y=f(zn)
где - функция активации.f
Tanh и Sigmoid - исчезающий градиент
Предположим, что - функция активации Таня или Сигмоида. Производные этих функций ограничены от -1 до 1 или формально для любого .ff′(x)∈(−1,1)x
Это вызывает очень важную проблему в глубоком обучении, известную как «проблема исчезновения градиента». Давайте рассмотрим производную WRT . По правилу цепочки имеем
yW1
dfdW1=dfdWndWndWn−1...dW2dW1
и для любого обратите внимание, что
0<i<n
dXidXi−1=f′(Wi−1ai−2+bi−1)×ai−2∈(−1,1)
(Первое слагаемое находится между потому что ограничено, как обсуждалось ранее, и также находится между поскольку задает входное значение.)(−1,1)f′ai−2(−1,1)
Таким образом, в основном является продуктом множества терминов, каждое из которых находится между (0, 1). Чем больше (чем глубже сеть), тем больше этот термин нам нужно умножить, и в результате становится экспоненциально меньше. Из-за этой экспоненциальной зависимости градиент быстро становится настолько малым, что мы можем эффективно рассматривать его как ноль. Следствием наличия нулевых градиентов является невозможность обучения вообще, потому что наше правило обновления для градиентного спуска основано на этом градиенте.dfdW1ndfdW1
RELU и Мертвый Нейрон
Relu изобретен для решения проблемы исчезающего градиента, потому что его производная всегда равна 1, когда поэтому, когда равно RELU, мы имеем:
ai>0f
dXidXi−1=ai−2
dfdW1=a1a2a3...an−1
Хорошо, когда но когда , все разваливается , на этот раз градиент не только очень близок к нулю, но и является чистым нулем. Как только нейрон туда доберется, уже нет шансов вернуться обратно. Вот почему это известно как проблема "Мертвого нейрона"х < 0x>0x<0
Leaky RELU и ELU
Утечка RELU и ELU является естественным развитием после RELU. Они аналогичны RELU как таковой производной, равной 1, когда но избегают «мертвого нейрона», избегая нулевых производных, когда .х < 1x>0x<1
Я цитирую оригинальную статью о разнице между ними.
Хотя LReLU и PReLU также имеют отрицательные значения, они не обеспечивают устойчивое к шуму состояние деактивации. ELU насыщают до отрицательного значения с меньшими входами и тем самым уменьшают распространяющиеся вперед изменения и информацию.
Интуитивное объяснение выглядит следующим образом. В ELU всякий раз, когда x становился достаточно маленьким, градиент становился действительно маленьким и насыщенным (так же, как это происходит с Tanh и Sigmoid). Небольшой градиент означает, что алгоритм обучения может фокусироваться на настройке других весов, не беспокоясь об интерактивности с насыщенными нейронами.
Рассмотрим многочлен степени 2, который можно представить в виде гладкой поверхности в трехмерном пространстве. Чтобы найти локальный минимум, алгоритм градиентного спуска должен учитывать крутизну как в x, так и в y направлении. Если градиент и отрицателен в направлении x и y, не ясно, какой путь лучше. Поэтому разумно выбрать путь где-то посередине. Но что, если мы уже знаем, что все плоско (нулевые градиенты) в x-направлении, тогда переходить в y-направлении становится несложным делом. Или, другими словами, пространство поиска становится намного меньше.
специальная записка
В глубоком изучении есть много утверждений без достаточного эмпирического доказательства или глубокого понимания, чтобы поддержать это. В случае ELU, хотя это может быть правдой, что это приводит к более быстрой сходимости для некоторых наборов данных, также может быть верно, что оно заставляет алгоритм обучения застревать на локальном максимуме для другого набора данных. Мы просто еще недостаточно знаем.