Функции активации действительно важны для искусственной нейронной сети, чтобы изучить и понять что-то действительно сложное и нелинейное комплексное функциональное сопоставление между входами и переменной ответа / выхода. Они привносят в сеть нелинейные свойства. Их основная цель - преобразовать входной сигнал узла в искусственной нейронной сети в выходной сигнал. Этот выходной сигнал используется как вход для следующего слоя в стеке. Она также известна как функция передачи.

Функция активации решает, должен ли нейрон «активироваться» или нет. Его вход - это «взвешенная сумма» входов плюс смещение.

Вход в нейрон:

Может быть любым в диапазоне от -inf до + inf. Активация проверяет значение Y, создаваемое нейроном, и решает, должны ли внешние соединения считать этот нейрон «активированным» или нет, то есть «активированным» или нет.

Функция активации может быть линейной или

Типы функций активации:

1) Пошаговая функция:

Также известна как функция двоичного шага.

Если значение Y выше определенного значения, объявите его активированным. Если оно ниже порога, скажите, что это не так.

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

  • Отлично подходит для двоичной классификации.

Недостатки:

  • Градиент ступенчатой ​​функции равен нулю. Это делает пошаговую функцию не такой полезной, поскольку во время обратного распространения, когда градиенты функций активации отправляются для вычисления ошибок, чтобы улучшить и оптимизировать результаты.
  • Его нельзя использовать для мультиклассовой классификации.

2) Линейная функция

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

  • Линейная функция может быть идеальной для простых задач, где очень желательна интерпретируемость.

Недостатки:

  • Производная линейной функции (т.е. «a») постоянна, т.е. не зависит от входного значения x. Это означает, что каждый раз, когда мы выполняем обратное распространение, градиент будет одинаковым. И это большая проблема, мы на самом деле не улучшаем ошибку, поскольку градиент почти такой же.
  • Если каждый слой имеет линейное преобразование, независимо от того, сколько слоев у нас есть, окончательный результат - это не что иное, как линейное преобразование входных данных.

3) сигмовидная функция

Также известна как логистическая функция. Это S-образная кривая.

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

  • Это гладкая функция, которая непрерывно дифференцируема.
  • Это нелинейно. Следовательно, выход также является нелинейным.
  • Его легко понять и применить.
  • Легко вычислить дифференциал.

Недостатки:

  • Проблема исчезающего градиента. Сигмоиды насыщают и убивают градиенты.
  • Выходные данные не центрированы по нулю, поэтому обновления градиента идут слишком далеко в разных направлениях, т.е. 0 ‹output‹ 1, и это затрудняет оптимизацию.
  • Сигмоиды имеют медленную конвергенцию.

4) Функция Тань

Функция tanh (Гиперболический тангенс) очень похожа на сигмовидную функцию. На самом деле это просто масштабированная версия сигмовидной функции.

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

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

Недостатки:

  • Проблема исчезающего градиента.
  • Градиенты низкие.

Поэтому на практике нелинейность tanh всегда предпочтительнее сигмовидной нелинейности.

5) Выпрямленное линейное устройство (ReLU)

ReLU - это

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

  • Функция ReLU является нелинейной, что означает, что мы можем легко распространять ошибки в обратном направлении и иметь несколько слоев нейронов, активируемых функцией ReLU.
  • Было обнаружено, что это значительно ускоряет сходимость стохастического градиентного спуска по сравнению с сигмоидной и tanh-функциями.
  • Он не активирует все нейроны одновременно. Поскольку выходной сигнал некоторых нейронов равен нулю, активируются только несколько нейронов, что делает сеть разреженной, эффективной и простой для вычислений.

Недостатки:

  • Недифференцируемо в нуле и ReLU неограниченно.
  • Градиенты для отрицательного входа равны нулю, что означает, что для активаций в этой области веса не обновляются во время обратного распространения. Это может создать мертвые нейроны, которые никогда не активируются. С этим можно справиться, снизив скорость обучения и систематическую ошибку.
  • Выходные данные ReLU не центрированы по нулям, что отрицательно сказывается на производительности нейронной сети. Градиент весов во время обратного распространения может быть либо положительным, либо отрицательным. Это может привести к нежелательной зигзагообразной динамике в обновлениях градиента для весов. С этим можно справиться с помощью batchnorm. В batchnorm эти градиенты суммируются в пакете данных, поэтому окончательное обновление весов может иметь переменные знаки, что несколько смягчает эту проблему.
  • Среднее значение активации не равно нулю. От ReLU существует положительное смещение в сети для последующих уровней, так как среднее значение активации больше нуля. Хотя они менее затратны с точки зрения вычислений по сравнению с сигмоидом и tanh из-за более простых вычислений, положительный сдвиг среднего значения в следующих слоях замедляет обучение.

Всегда помните, что функцию ReLU следует использовать только в скрытых слоях.

6) Функция Leaky ReLu или Maxout и параметрическое ReLU (PReLU)

Если выходной сигнал ReLU постоянно равен 0 (например, если ReLU имеет большое отрицательное смещение), то градиент через него будет постоянно равен 0. Сигнал ошибки, переданный в обратном направлении от более поздних уровней, умножается на этот 0, поэтому сигнал ошибки отсутствует. когда-либо переходит на более ранние слои. ReLU умер. Для решения этой проблемы вводятся Leaky ReLU и PReLU.

Если a = 0,01, то это Leaky ReLU.

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

  • Никаких умирающих единиц ReLU.
  • Это ускоряет обучение. Есть свидетельства того, что «средняя активация», близкая к 0, ускоряет обучение.

Недостатки:

  • Он насыщается для больших отрицательных значений, что позволяет им оставаться практически неактивными.

Результат не всегда стабильный. Leaky ReLU не всегда превосходит ReLU, и его следует рассматривать только как альтернативу, когда вы видите много мертвых нейронов.

ReLU с гауссовским шумом, что делает его шумным ReLU.

7) Рандомизированный Leaky ReLU (RReLU)

При этом коэффициенты генерируются случайным образом.

8) экспоненциальная линейная единица (ELU) и масштабная экспоненциальная линейная единица (SELU)

ELU:

Функция ELU определяется как:

SELU:

Функция ELU с λ = 1,0507 и α = 1,67326 называется масштабированной экспоненциальной линейной единицей.

9) Конкатенированный ReLU (CReLU)

Конкатенированный ReLU имеет два выхода, один ReLU и один отрицательный ReLU, соединенные вместе. Другими словами, для положительного x он дает [x, 0], а для отрицательного x - [0, x] . Поскольку у CReLU два выхода, размер выхода удваивается.

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

CReLU естественным образом снижает избыточность обучения отдельным фильтрам, различающимся только фазой.

CReLU - это схема активации. Поэлементная нелинейность ReLU после конкатенации может быть заменена другими функциями активации (например, Leaky ReLU).

10) РЭЛУ-6

Это ReLU, но оно ограничено значением 6, что делает его ограниченным.

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

11) Максоут

Maxout обобщает ReLU и его версию с утечками.

Maxout эквивалентен ReLU, когда w1 = 0 и b1 = 0.

W и b - это обучаемые параметры, а k - количество линейных, которые мы хотим использовать.

Нейрон Maxout обладает всеми преимуществами блока ReLU (линейный режим работы, отсутствие насыщения) и не имеет его недостатков (умирающий ReLU). Однако, в отличие от нейронов ReLU, он удваивает количество параметров для каждого отдельного нейрона, что приводит к большому общему количеству параметров.

Maxout с k = 2.

Maxout с k = 4.

11) Софтмакс

Softmax не является традиционной функцией активации. Другие функции активации производят один выход для одного входа. Напротив, softmax производит несколько выходов для входного массива. Таким образом, softmax можно использовать для построения моделей нейронных сетей, которые могут классифицировать более двух классов вместо решения двоичного класса.

Функция softmax сжимает выходные данные для каждого класса от 0 до 1, а сумма выходов всегда равна 1.