Выпрямитель (нейронные сети)

редактировать
График функций выпрямителя (синий) и softplus (зеленый) рядом с x = 0 В искусственных нейронных сетях функция активации определяется как положительная часть своего аргумента.

В контексте искусственных нейронных сетей, выпрямитель является функцией активации, определяемой как положительная часть аргумента:

f (x) = x + = max (0, x) {\ displaystyle f (x) = x ^ {+} = \ max (0, x)}{\ displaystyle f (x) = х ^ {+} = \ max (0, x)}

где x является входом в нейрон. Это также известно как функция пилообразного изменения и аналогична полуволновому выпрямлению в электротехнике.

Эта функция активации впервые была введена в динамическую сеть Ханлозером и др. в 2000 г. с сильной биологической мотивацией и математическим обоснованием. Это было впервые продемонстрировано в 2011 году, чтобы обеспечить лучшее обучение более глубоких сетей по сравнению с широко используемыми функциями активации до 2011 года, например, логистической сигмоидой (которая основана на теории вероятностей ; см. логистическая регрессия ) и ее более практичный аналог, гиперболический тангенс. Выпрямитель, по состоянию на 2017 год, является самой популярной функцией активации для глубоких нейронных сетей.

Блок, использующий выпрямитель, также называется выпрямленным линейным блоком (ReLU ).

Rectified линейные блоки находят применение в компьютерном зрении и распознавании речи с использованием глубоких нейронных сетей и вычислительной нейробиологии.

Содержание
  • 1 Преимущества
  • 2 Возможные проблемы
  • 3 Варианты
    • 3.1 Линейный блок с ошибкой Гаусса (GELU)
    • 3.2 SiLU
    • 3.3 Softplus
    • 3.4 Leaky ReLU
      • 3.4.1 Параметрическое ReLU
    • 3.5 ELU
  • 4 См. Также
  • 5 Ссылки
Преимущества
  • Биологическая достоверность: односторонняя по сравнению с антисимметрией tanh.
  • Редкая активация: например, в случайном в инициализированной сети активировано только около 50% скрытых блоков (выходной сигнал не равен нулю).
  • Лучшее распространение градиента: меньше проблем исчезающего градиента по сравнению с сигмоидальными функциями активации, которые насыщают оба направления.
  • Эффективность ient вычисление: только сравнение, сложение и умножение.
  • Масштаб-инвариант: max (0, ax) = a max (0, x) для a ≥ 0 {\ displaystyle \ max (0, ax) = a \ max (0, x) {\ text {for}} a \ geq 0}{\ displaystyle \ max (0, ax) = a \ max (0, x) {\ text {for}} a \ geq 0 } .

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

Возможные проблемы
  • Недифференцируемость в нуле; однако она дифференцируема в любом другом месте, и значение производной в нуле может быть произвольно выбрано равным 0 или 1.
  • Без центрирования нуля.
  • Неограниченное.
  • Проблема умирающего ReLU: нейроны ReLU иногда могут быть переведены в состояния, в которых они становятся неактивными практически для всех входов. В этом состоянии через нейрон не текут градиенты, и поэтому нейрон застревает в постоянно неактивном состоянии и «умирает». Это форма проблемы исчезающего градиента. В некоторых случаях большое количество нейронов в сети может застрять в мертвых состояниях, что существенно снижает емкость модели. Эта проблема обычно возникает, когда скорость обучения установлена ​​слишком высоко. Его можно уменьшить, используя вместо этого негерметичные ReLU, которые присваивают небольшой положительный наклон для x < 0 however the performance is reduced.
Вариантов

Линейная единица гауссовой ошибки (GELU)

GELU - это плавное приближение к выпрямителю. Он имеет немонотонный «выпуклость», когда x < 0, and it serves as the default activation for models such as BERT.

f (x) = x ⋅ Φ (x) {\ displaystyle f (x) = x \ cdot \ Phi (x)}{\ displaystyle f (x) = x \ cdot \ Phi (x)} ,

где Φ (x) - кумулятивная функция распределения стандартного нормального распределения.

SiLU

SiLU (сигмоидальная линейная единица) - еще одно гладкое приближение, впервые представленное в статье GELU..

f (x) = x ⋅ сигмоид ⁡ (x) {\ displaystyle f (x) = x \ cdot \ operatorname {sigmoid} (x)}{\ displaystyle f (x) = x \ cdot \ operatorname {sigmoid} (x)}

Softplus

гладкое приближение к выпрямитель - это аналитическая функция

f (x) = ln ⁡ (1 + ex), {\ displaystyle f (x) = \ ln (1 + e ^ {x}),}{\ displaystyle f (x) = \ ln (1 + e ^ {x}),}

которая называется функцией softplus или SmoothReLU.

Может быть включен параметр резкости k {\ displaystyle k}k:

f (x) = ln ⁡ (1 + ekx) k {\ displaystyle f (x) = {\ frac {\ ln (1 + e ^ {kx})} {k}}}{\ displaystyle f (x) = {\ frac {\ ln (1 + e ^ {kx})} {k}}}

Производной softplus является логистическая функция. Начиная с параметрической версии,

f ′ (x) = ekx 1 + ekx = 1 1 + e - kx {\ displaystyle f '(x) = {\ frac {e ^ {kx}} {1 + e ^ {kx}}} = {\ frac {1} {1 + e ^ {- kx}}}}{\displaystyle f'(x)={\frac {e^{kx}}{1+e^{kx}}}={\frac {1}{1+e^{-kx}}}}

Логистическая сигмоидальная функция представляет собой гладкую аппроксимацию производной выпрямителя, Пошаговая функция Хевисайда.

Многопараметрическое обобщение softplus с одной переменной - это LogSumExp с первым аргументом, установленным на ноль:

LSE 0 + ⁡ (x 1,..., Xn) : = LSE ⁡ (0, x 1,...., Xn) = log ⁡ (1 + ex 1 + ⋯ + exn). {\ displaystyle \ operatorname {LSE_ {0}} ^ {+} (x_ {1},..., x_ {n}): = \ operatorname {LSE} (0, x_ {1},..., x_ {n}) = \ log \ left (1 + e ^ {x_ {1}} + \ cdots + e ^ {x_ {n}} \ right).}{\ displaystyle \ operatorname {LSE_ {0}} ^ {+} (x_ {1},..., x_ {n}): = \ operatorname {LSE } (0, x_ {1},..., x_ {n}) = \ log \ left (1 + e ^ {x_ {1}} + \ cdots + e ^ {x_ {n}} \ right). }

Функция LogSumExp:

LSE ⁡ ( Икс 1,…, xn) = журнал ⁡ (ex 1 ​​+ ⋯ + exn), {\ displaystyle \ Operatorname {LSE} (x_ {1}, \ dots, x_ {n}) = \ log \ left (e ^ { x_ {1}} + \ cdots + e ^ {x_ {n}} \ right),}{\ displaystyle \ operatorname {LSE} ( x_ {1}, \ dots, x_ {n}) = \ log \ left (e ^ {x_ {1}} + \ cdots + e ^ {x_ {n}} \ right),}

и его градиент равен softmax ; softmax с первым аргументом, установленным в ноль, является многовариантным обобщением логистической функции. И LogSumExp, и softmax используются в машинном обучении.

Leaky ReLU

Leaky ReLUs допускает небольшой положительный градиент, когда блок неактивен.

f (x) = {x, если x>0, 0,01 x в противном случае. {\ displaystyle f (x) = {\ begin {cases} x {\ text {if}} x>0, \\ 0,01x {\ text {else}}. \ end {cases}}}{\displaystyle f(x)={\begin{cases}x{\text{if }}x>0, \\ 0,01x {\ text {иначе}}. \ End {cases}}}

Параметрическое ReLU

Параметрическое ReLU (PReLU) развивает эту идею, превращая коэффициент утечки в параметр, который изучается вместе с другими нейронными -параметры сети.

f (x) = {x, если x>0, ax в противном случае. {\ displaystyle f (x) = {\ begin {cases} x {\ text {if}} x>0, \\ ax {\ text {else}}. \ end {ases}}{\displaystyle f(x)={\begin{cases}x{\text{if }}x>0, \\ ax {\ text {else}}. \ end {ases}}}

Обратите внимание, что для a ≤ 1 это эквивалентно

f (x) = max (x, ax) {\ displaystyle f (x) = \ max (x, ax)}{\ displaystyle f (x) = \ max (x, ax)}

и, таким образом, имеет отношение к сетям "maxout".

ELU

Expone Обычные линейные устройства стараются приблизить среднее значение активации к нулю, что ускоряет обучение. Было показано, что ELU могут получить более высокую точность классификации, чем ReLU.

f (x) = {x, если x>0, a (ex - 1) в противном случае, {\ displaystyle f (x) = {\ begin {cases } x {\ text {if}} x>0, \\ a (e ^ {x} -1) {\ text {else}}, \ end {cases}}}{\displaystyle f(x)={\begin{cases}x{\text{if }}x>0, \ \ a (e ^ {x} -1) {\ text {else}}, \ end {cases}}}

где a {\ displaystyle a}a - это гиперпараметр, который должен быть настроен, а a ≥ 0 {\ displaystyle a \ geq 0}a \ geq 0 является ограничением.

См. также
Ссылки
Последняя правка сделана 2021-06-03 10:31:28
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте