Каковы преимущества ReLU перед сигмовидной функцией в глубоких нейронных сетях?

141

Уровень техники нелинейности заключается в использовании выпрямленных линейных единиц (ReLU) вместо сигмовидной функции в глубокой нейронной сети. Каковы преимущества?

Я знаю, что тренировка сети при использовании ReLU будет быстрее, и она будет более биологически вдохновленной, каковы другие преимущества? (То есть какие-то недостатки использования сигмовидной кишки)?

RockTheStar
источник
У меня сложилось впечатление, что допуск нелинейности в вашу сеть является преимуществом. Но я не вижу этого ни в одном ответе ниже ...
Моника Хеднек
2
@MonicaHeddneck и ReLU, и сигмоидальные нелинейные ...
Антуан

Ответы:

130

Два дополнительных основных преимущества ReLU - это редкость и уменьшенная вероятность исчезновения градиента. Но сначала напомним, что определение ReLU - это где .h=max(0,a)a=Wx+b

Одним из основных преимуществ является снижение вероятности того, что градиент исчезнет. Это возникает, когда . В этом режиме градиент имеет постоянное значение. Напротив, градиент сигмоидов становится все меньше и меньше с увеличением абсолютной величины х. Постоянный градиент ReLU приводит к более быстрому обучению.a>0

Другое преимущество ReLU - это редкость. Разреженность возникает, когда . Чем больше таких единиц существует в слое, тем более разреженным будет результирующее представление. С другой стороны, сигмоиды всегда могут генерировать ненулевое значение, приводящее к плотным представлениям. Разреженные представления кажутся более полезными, чем плотные представления.a0

DaemonMaker
источник
2
Когда вы говорите, градиент, вы имеете в виду относительно веса или ввода х? @DaemonMaker
MAS
4
По отношению к весам. Алгоритмы обучения на основе градиента всегда принимают градиент по отношению к параметрам учащегося, то есть весам и смещениям в NN.
DaemonMaker
2
Что вы подразумеваете под "плотными" и "разреженными" "представлениями"? Похоже, что запрос к Google "нейронные сети с разреженным представлением" не имеет отношения к делу.
Привет, Ангел,
6
«Разреженные представления кажутся более полезными, чем плотные представления». Не могли бы вы предоставить источник или объяснение?
Рохан Саксена
1
Я не понимаю, как этот ответ вообще правильный. «Уменьшенная вероятность исчезновения градиента» оставляет желать лучшего. ReLu - НОЛЬ для достаточно малого . Во время обучения ваши градиенты исчезнут для определенных нейронов, когда вы находитесь в этом режиме. На самом деле это явно неизбежно, потому что иначе ваша сеть будет линейной. Пакетная нормализация решает это в основном. Это даже не упоминает самую важную причину: ReLu и их градиенты. очень быстро вычислить, по сравнению с сигмоидом. x
Алекс Р.
65

Преимущество:

  • Сигмоид: не взрывающаяся активация
  • Relu: не исчезающий градиент
  • Relu: более вычислительно эффективен для вычислений, чем функции, подобные Sigmoid, поскольку Relu просто нужно выбрать max (0, ) и не выполнять дорогостоящие экспоненциальные операции, как в Sigmoidsx
  • Relu: На практике сети с Relu, как правило, показывают лучшую производительность сходимости, чем сигмовидная. ( Крижевский и др. )

Недостаток:

  • Сигмоид: склонны к исчезновению градиента (потому что существует механизм уменьшения градиента как увеличения « », где « » является входом сигмовидной функции. Градиент сигмоиды: . Когда « » становится бесконечно большим, ).aaS(a)=S(a)(1S(a))aS(a)=S(a)(1S(a))=1×(11)=0

  • Relu: склонны взорвать активацию (нет механизма, ограничивающего выход нейрона, поскольку само « » является выходом)a

  • Relu: умирает проблема Relu - если слишком много активаций становятся ниже нуля, то большинство единиц (нейронов) в сети с Relu просто выдают ноль, другими словами, умирают и, таким образом, запрещают обучение. (Это может быть обработано, в некоторой степени, используя вместо этого Leaky-Relu.)
Билл Анкалагон черный
источник
7
Может оказаться полезным, что вы можете использовать математические наборы с латексом, помещая знаки доллара вокруг ваших уравнений, например, $x$производит . x
Серебряная рыба
Relu: не исчезающий градиент. А? для всех . Relu(ax+b)=0x<b/a
Алекс Р.
40

Просто дополняю другие ответы:

Исчезающие градиенты

Другие ответы правильны, чтобы указать, что чем больше вход (в абсолютном значении), тем меньше градиент сигмовидной функции. Но, возможно, еще более важный эффект заключается в том, что производная сигмоидальной функции ВСЕГДА меньше единицы . На самом деле это не более 0,25!

Обратной стороной этого является то, что если у вас много слоев, вы умножите эти градиенты, и произведение многих значений меньше 1 очень быстро обнулится.

Так как состояние глубокого обучения показало, что большее количество слоев помогает, то этот недостаток функции Sigmoid является убийцей игры. Вы просто не можете делать глубокое обучение с Sigmoid.

С другой стороны, градиент функции ReLu равен либо для либо для . Это означает, что вы можете поместить столько слоев, сколько захотите, потому что умножение градиентов не исчезнет и не взорвется.0a<01a>0

Гильерме де Лазари
источник
10
Это ответ, который я искал. Когда люди говорят о «исчезающих градиентах», нельзя не задаться вопросом: «Градиент ReLu равен ровно 0 для половины диапазона. Разве это не« исчезновение »». То, как вы описываете проблему, напоминая нам, что градиенты умножаются на многие слои, приносит много ясности.
Борис Горелик
3
@ guilherme-de-lazari предложил исправление в последней строке - значение relu равно a для> 0, но вы говорите о градиенте,
равном
4
Если бы это было главной причиной, то не могли бы мы просто изменить масштаб сигмоида до 1 / (1 + exp (-4x))? Тогда производная будет не более 1 (или еще больше масштабировать, чтобы дать нам варианты выше и ниже 1). Я подозреваю, что это будет работать намного хуже, потому что изменение масштаба также уменьшает область, где производная отличима от 0. Но я не уверен, что этот ответ рассказывает полную историю.
Питер
5
Этот ответ ерунда. Производная сигмоиды с постоянным параметром 1 меньше 1. Но в более общем случае это , которая может иметь произвольно большую производную (достаточно взять чтобы быть действительно большим, поэтому сигмоида быстро идет от 0 до 1). 1/(1+exp(ax))a
Алекс Р.
7
Также вы МОЖЕТЕ делать глубокое обучение с сигмоидами, вам просто нужно нормализовать входы, например, через Batch Normalization. Это позволит централизовать ваши входные данные, чтобы избежать насыщения сигмовидной кишки. В оригинальной статье «Нормализация партии» нейронная сеть активации сигмовидной железы почти на одном уровне с ReLus: arxiv.org/pdf/1502.03167.pdf
Алекс Р.
7

Преимущество ReLU, помимо устранения проблемы исчезающих градиентов, заключается в том, что он имеет намного меньшее время выполнения. max (0, a) выполняется намного быстрее, чем любая сигмоидальная функция (например, логистическая функция = 1 / (1 + e ^ (- a)), которая использует показатель, который является медленным в вычислительном отношении, когда выполняется часто). Это верно как для прямого, так и для обратного распространения, поскольку градиент ReLU (если a <0, = 0 else = 1) также очень легко вычислить по сравнению с сигмоидом (для логистической кривой = e ^ a / ((1 + e ^ а) ^ 2)).

Хотя у ReLU есть недостаток умирающих ячеек, который ограничивает пропускную способность сети. Чтобы преодолеть это, просто используйте вариант ReLU, например, неплотный ReLU, ELU и т. Д., Если вы заметили проблему, описанную выше.

Потери
источник
1
+1. Это один из единственно правильных ответов здесь. Вы также можете использовать пакетную нормализацию для централизации входных данных, чтобы нейтрализовать мертвые нейроны.
Алекс Р.
2

Дополнительный ответ для завершения дебатов о производительности Sparse vs Dense .

Больше не думайте о NN, просто думайте о линейной алгебре и матричных операциях, потому что прямое и обратное распространение - это серия матричных операций.

Теперь помните, что существует множество оптимизированных операторов для применения к разреженной матрице, и поэтому оптимизация этих операций в нашей сети может значительно улучшить производительность алгоритма.

Я надеюсь, что это может помочь некоторым из вас, ребята ...

Майкл Б
источник
1

Основное преимущество заключается в том, что производная от ReLu равна 0 или 1, поэтому умножение на нее не приведет к тому, что веса, находящиеся дальше от конечного результата функции потерь, будут страдать от проблемы исчезающего градиента:

введите описание изображения здесь

Давид Рафаэли
источник