Я прочитал здесь следующее:
- Сигмоидальные выходы не центрированы по нулю . Это нежелательно, поскольку нейроны на более поздних уровнях обработки в нейронной сети (подробнее об этом в ближайшее время) будут получать данные, которые не центрированы по нулю. Это влияет на динамику во время градиентного спуска, потому что, если данные, поступающие в нейрон, всегда положительны (например, поэлементно в )), то градиент весов при обратном распространении станет либо все быть положительными или отрицательными (в зависимости от градиента всего выражения ). Это может привести к нежелательной зигзагообразной динамике в градиентных обновлениях для весов. Однако обратите внимание, что после добавления этих градиентов в пакет данных окончательное обновление весов может иметь переменные знаки, что несколько смягчает эту проблему. Следовательно, это неудобство, но оно имеет менее серьезные последствия по сравнению с вышеуказанной проблемой насыщенной активации.
Почему все (поэлементно) приводят к полностью положительным или полностью отрицательным градиентам на ?
neural-networks
deep-learning
backpropagation
Амелио Васкес-Рейна
источник
источник
Ответы:
Если наша цель находится на северо-востоке, мы можем двигаться туда только зигзагообразно, как параллельная парковка в узком пространстве. (прости мой рисунок)
Поэтому полностью положительные или полностью отрицательные функции активации (relu, sigmoid) могут быть трудными для оптимизации на основе градиента. Чтобы решить эту проблему, мы можем заранее нормализовать данные так, чтобы они были центрированы по нулю, как при нормализации пакетов / слоев.
источник