Уровень техники нелинейности заключается в использовании выпрямленных линейных единиц (ReLU) вместо сигмовидной функции в глубокой нейронной сети. Каковы преимущества?
Я знаю, что тренировка сети при использовании ReLU будет быстрее, и она будет более биологически вдохновленной, каковы другие преимущества? (То есть какие-то недостатки использования сигмовидной кишки)?
machine-learning
neural-networks
deep-learning
RockTheStar
источник
источник
Ответы:
Два дополнительных основных преимущества ReLU - это редкость и уменьшенная вероятность исчезновения градиента. Но сначала напомним, что определение ReLU - это где .h=max(0,a) a=Wx+b
Одним из основных преимуществ является снижение вероятности того, что градиент исчезнет. Это возникает, когда . В этом режиме градиент имеет постоянное значение. Напротив, градиент сигмоидов становится все меньше и меньше с увеличением абсолютной величины х. Постоянный градиент ReLU приводит к более быстрому обучению.a>0
Другое преимущество ReLU - это редкость. Разреженность возникает, когда . Чем больше таких единиц существует в слое, тем более разреженным будет результирующее представление. С другой стороны, сигмоиды всегда могут генерировать ненулевое значение, приводящее к плотным представлениям. Разреженные представления кажутся более полезными, чем плотные представления.a≤0
источник
Преимущество:
Недостаток:
Сигмоид: склонны к исчезновению градиента (потому что существует механизм уменьшения градиента как увеличения « », где « » является входом сигмовидной функции. Градиент сигмоиды: . Когда « » становится бесконечно большим, ).a a S′(a)=S(a)(1−S(a)) a S′(a)=S(a)(1−S(a))=1×(1−1)=0
Relu: склонны взорвать активацию (нет механизма, ограничивающего выход нейрона, поскольку само « » является выходом)a
источник
$x$
производит .Просто дополняю другие ответы:
Исчезающие градиенты
Другие ответы правильны, чтобы указать, что чем больше вход (в абсолютном значении), тем меньше градиент сигмовидной функции. Но, возможно, еще более важный эффект заключается в том, что производная сигмоидальной функции ВСЕГДА меньше единицы . На самом деле это не более 0,25!
Обратной стороной этого является то, что если у вас много слоев, вы умножите эти градиенты, и произведение многих значений меньше 1 очень быстро обнулится.
Так как состояние глубокого обучения показало, что большее количество слоев помогает, то этот недостаток функции Sigmoid является убийцей игры. Вы просто не можете делать глубокое обучение с Sigmoid.
С другой стороны, градиент функции ReLu равен либо для либо для . Это означает, что вы можете поместить столько слоев, сколько захотите, потому что умножение градиентов не исчезнет и не взорвется.0 a<0 1 a>0
источник
Преимущество ReLU, помимо устранения проблемы исчезающих градиентов, заключается в том, что он имеет намного меньшее время выполнения. max (0, a) выполняется намного быстрее, чем любая сигмоидальная функция (например, логистическая функция = 1 / (1 + e ^ (- a)), которая использует показатель, который является медленным в вычислительном отношении, когда выполняется часто). Это верно как для прямого, так и для обратного распространения, поскольку градиент ReLU (если a <0, = 0 else = 1) также очень легко вычислить по сравнению с сигмоидом (для логистической кривой = e ^ a / ((1 + e ^ а) ^ 2)).
Хотя у ReLU есть недостаток умирающих ячеек, который ограничивает пропускную способность сети. Чтобы преодолеть это, просто используйте вариант ReLU, например, неплотный ReLU, ELU и т. Д., Если вы заметили проблему, описанную выше.
источник
Дополнительный ответ для завершения дебатов о производительности Sparse vs Dense .
Больше не думайте о NN, просто думайте о линейной алгебре и матричных операциях, потому что прямое и обратное распространение - это серия матричных операций.
Теперь помните, что существует множество оптимизированных операторов для применения к разреженной матрице, и поэтому оптимизация этих операций в нашей сети может значительно улучшить производительность алгоритма.
Я надеюсь, что это может помочь некоторым из вас, ребята ...
источник
Основное преимущество заключается в том, что производная от ReLu равна 0 или 1, поэтому умножение на нее не приведет к тому, что веса, находящиеся дальше от конечного результата функции потерь, будут страдать от проблемы исчезающего градиента:
источник