Які переваги ReLU над сигмоподібною функцією в глибоких нейронних мережах?


141

Найсучаснішою нелінійністю є використання випрямлених лінійних одиниць (ReLU) замість сигмоподібної функції в глибокій нейронній мережі. Які переваги?

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


У мене було враження, що включення нелінійності у вашу мережу є перевагою. Але я не бачу цього в жодній відповіді нижче ...
Моніка Хеднек

2
@MonicaHeddneck і ReLU, і сигмоїд нелінійні ...
Антуан

Відповіді:


130

Дві додаткові основні переваги ReLUs - це бідність та знижена ймовірність зникнення градієнта. Але спочатку нагадаємо, що визначенням ReLU є де .h=max(0,a)a=Wx+b

Однією з головних переваг є знижена ймовірність зникнення градієнта. Це виникає, коли . У цьому режимі градієнт має постійне значення. Навпаки, градієнт сигмоїдів стає все меншим, оскільки абсолютне значення х збільшується. Постійний градієнт ReLU призводить до швидшого навчання.a>0

Іншою перевагою ReLU є рідкість. Рідкість виникає, коли . Чим більше таких одиниць, які існують у шарі, тим меншим є одержуване подання. З іншого боку, сигмоїди завжди можуть генерувати якесь ненульове значення, що призводить до щільних уявлень. Рідкі уявлення здаються більш вигідними, ніж щільні уявлення.a0


2
Коли ви говорите градієнт, ви маєте на увазі відносно ваг або вхідних значень x? @DaemonMaker
MAS

4
Щодо ваг. Алгоритми навчання, засновані на градієнті, завжди приймають градієнт відносно параметрів учня, тобто ваг та ухилів у NN.
DaemonMaker

2
Що ви маєте на увазі під "щільним" та "розрідженим" "уявленням"? Запит на google "розріджене нейронне мережеве представлення", схоже, не містить нічого релевантного.
Привіт-Ангел

6
"Рідкі уявлення здаються більш вигідними, ніж щільні уявлення". Чи можете ви надати джерело чи пояснення?
Рохан Саксена

1
Я не розумію, наскільки ця відповідь взагалі правильна. "Знижена ймовірність зникнення градієнта" залишає бажати кращого. ReLu є ZERO для досить малого . Під час навчання ви градієнти НЕ ЗНИТИ для певних нейронів, коли ви перебуваєте в цьому режимі. Насправді це явно неминуче, адже інакше ваша мережа буде лінійною. Пакетна нормалізація вирішує це здебільшого. Тут навіть не згадується найважливіша причина: ReLu та їх градієнти. надзвичайно швидко обчислюються, порівняно з сигмоподібними. x
Алекс Р.

65

Перевага:

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

Недолік:

  • Сигмоїд: мають тенденцію до зникнення градієнта (тому що існує механізм зменшення градієнта як " " збільшення, де " " є входом сигмоїдної функції. Градієнт Sigmoid: . Коли " " виростає до нескінченного великого, ).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: не зникає градієнт. Так? для всіх . x < - b / aRelu(ax+b)=0x<b/a
Алекс Р.

40

Просто доповнюючи інші відповіді:

Зміна градієнтів

Інші відповіді слушно зазначають, що чим більший вхід (в абсолютному значенні), тим менший градієнт сигмоїдної функції. Але, мабуть, ще важливіший ефект полягає в тому, що похідна сигмоїдної функції ЗАВЖДИ менша за одиницю . Насправді це не більше 0,25!

Суть цього полягає в тому, що якщо у вас багато шарів, ви будете перемножувати ці градієнти, і добуток багатьох менших за 1 значення дуже швидко переходить до нуля.

Оскільки стан глибокого навчання показав, що більше шарів допомагає дуже багато, то цей недолік функції Sigmoid - це вбивця гри. Ви просто не можете робити глибоке навчання із сигмоїдом.

З іншого боку, градієнт функції ReLu дорівнює або для або для . Це означає, що ви можете розмістити скільки завгодно шарів, тому що множення градієнтів не зникне і не вибухне.a < 0 1 a > 00a<01a>0


10
Це відповідь, яку я шукав. Коли люди говорять про "зникаючі градієнти", не можна зупинятися на дивуванні, "градієнт ReLu становить рівно 0 для половини його діапазону. Хіба це не" зникнення "". Те, як ви описуєте проблему, нагадуючи нам, що градієнти множиться на багато шарів, приносить велику чіткість.
Борис Горелик

3
@ guilherme-de-lazari запропонував виправлення в останньому рядку - значення relu є a для> 0, але ви говорите про градієнт, який є 1 для a> 0
saurabh

4
Якби це була основна причина, то чи не могли б ми просто змінити масштаб сигмоїди до 1 / (1 + exp (-4x))? Тоді похідна становить максимум 1 (або масштабування ще більше, щоб дати нам варіанти вище та нижче 1). Я підозрюю, що це буде набагато гірше, оскільки масштабування також зменшує площу, де похідна відрізняється від 0. Але я не впевнений, що ця відповідь розповідає повну історію.
Пітер

5
Ця відповідь - нісенітниця. Похідна сигми з постійним параметром 1 менше 1. Але в більш загальному випадку це , які можуть мати як завгодно велику похідну (просто взяти бути дуже великою, тому сигмовидної стрімко йде від 0 до 1). a1/(1+exp(ax))a
Алекс Р.

7
Крім того, ви МОЖЕТЕ глибоко вивчати сигмоїди, вам просто потрібно нормалізувати введення, наприклад, за допомогою пакетної нормалізації. Це дозволить централізувати ваші входи, щоб уникнути насичення сигмоїди. У первинному документі про нормалізацію партії нейронна мережа активації сигмоїдів майже не збігається з 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, тому множення на неї не призведе до того, що ваги, які знаходяться далі від кінцевого результату функції втрати, не зазнають проблеми, що втрачає градієнт:

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.