10 лучших функций активации, их плюсы и минусы, когда их использовать и шпаргалка

Функции активации являются важным компонентом модели ML, наряду с весами и смещениями. Они сыграли важную роль в том, чтобы обучение Deep Neural Networks стало реальностью, и они являются постоянно развивающейся областью исследований. В этом сообщении блога мы сравниваем их друг с другом и наблюдаем их плюсы и минусы, когда их использовать и их эволюцию.

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

Функции активации бывают двух типов в зависимости от того, как они используются в модели машинного обучения.

  1. Функции активации, используемые в выходных слояхмоделей машинного обучения (подумайте о проблемах классификации). Основная цель этих функций активации — сжать значение между ограниченным диапазоном, например, от 0 до 1.
  2. Функции активации, используемые в скрытых слоях нейронных сетей. Основная цель этих функций активации — обеспечить нелинейность, без которой нейронные сети не могут моделировать нелинейные отношения.

Функции активации, которые используются на скрытом уровне, в идеале должны удовлетворять следующим условиям:

  1. Нелинейный, чтобы позволить нейронной сети изучать нелинейные отношения. Универсальная теорема аппроксимации утверждает, что двухслойная нейронная сеть, использующая нелинейную функцию активации, может аппроксимировать любую функцию.
  2. Неограниченный, чтобы обеспечить более быстрое обучение и избежать преждевременного насыщения. Когда диапазон бесконечен, эффективно обучение на основе градиента.
  3. Непрерывно дифференцируемый.Это свойство желательно, но не является решающим. ReLU является ярким примером этого, где функция не дифференцируема ≤ 0, но все же очень хорошо работает на практике.

Шпаргалка

Шпаргалка статьи для нетерпеливых,

Функции активации выходного слоя

сигмовидная

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

Функция находится в пределах от 0 до 1, а производная ограничена в пределах от -3 до 3. Вывод несимметричен относительно нуля, и это приведет к тому, что все нейроны во время обучения будут принимать один и тот же знак, что сделает его непригодным для обучения скрытых слоев.

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

Софтмакс

Расширение сигмовиднойфункции активации, использующей диапазон выходных данных от 0 до 1. Это в основном используется в выходном слое многоклассовой полиномиальной задачи классификации с полезным свойством ofсумма выходных вероятностей в сумме составляет 1. Другими словами, это применение сигмоиды к каждому нейрону на выходе, а затем нормализация к сумме 1.

Использование: многочленная и мультиклассовая классификация.

Тан

Широко использовавшаяся в 1990–2000-х годах, она преодолевает недостаток сигмовидной функции активации, расширяя диапазон от -1 до 1. Это приводит к нулевому центрированию, что приводит к тому, что среднее значение весов скрытого слоя приближается к нулю. Это приводит к более легкому и быстрому обучению. Функция является дифференцируемой и гладкой, но использование экспоненциальной функции требует затрат. Он быстро насыщается, и исчезающий градиент просачивается при использовании в скрытом слое глубокой нейронной сети. Производная круче, чем у сигмоиды.

Использование: может использоваться в скрытых слоях для RNN. Но есть лучшие альтернативы, такие как ReLU

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

Функции активации скрытого слоя

Введите ReLU

Rectified Linear Unit – это рок-звезда среди функций активации. Это наиболее широко используемая функция активации перехода для большинства типов проблем. Он существует с 2010 года и был широко изучен. Он ограничен 0, когда он отрицателен, но неограничен в положительном направлении. Это сочетание ограниченности и неограниченности создает встроенную регуляризацию, которая удобна для глубокой нейронной сети. Регуляризация обеспечивает разреженное представление, что приводит к эффективному в вычислительном отношении обучению и выводу.

Положительная неограниченность ускоряет сходимостьградиентного спуска, оставаясь простой в вычислительном отношении для расчета. Единственным серьезным недостатком ReLU являются мертвые нейроны. Из-за отрицательной ограниченности до 0 некоторые из мертвых нейронов, которые отключаются в начале процесса обучения, никогда не включаются. Функция быстро переключается с неограниченности, когда x > 0, на ограниченность, когда x ≤ 0, что делает ее не непрерывно дифференцируемой. Но на самом деле, при низкой скорости обучения и большом отрицательном смещении это можно преодолеть без остаточного влияния на производительность.

Использование: CNN, RNN и другие глубокие нейронные сети.

ReLU — явный победитель для функций активации скрытого уровня. С 2010 года ReLU изучается на предмет его плюсов и минусов, и были предложены новые функции активации, которые, как правило, улучшают производительность ReLU, одновременно устраняя его трудности.

Улучшения ReLU

Дырявый ReLU

Представленный в 2011 году, метод напрямую решает проблемы ReLU, допуская существование отрицательных значений. Это обеспечивает обратное распространение для отрицательных значений, тем самым преодолевая проблему мертвых нейронов ReLU. Отрицательные значения агрессивно масштабируются, что приводит к более медленному обучению. Даже с этим улучшением Leaky ReLU не всегда лучше, чем ReLU.

Использование: задачи с разреженными градиентами, например GAN.

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

Это улучшает Leaky ReLU, в котором скалярное кратное не выбирается произвольно, а обучается на данных. Это палка о двух концах, поскольку обучение на данных приводит к модели, чувствительной к параметру масштабирования (а) и работающей по-разному для разных значений а.

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

ЭЛУ

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

GeLU

Линейная единица ошибки Гаусса, представленная в 2018 году, — это новинка в этом блоке и явно победитель для задач, связанных с НЛП. Он используется в алгоритмах SOTA, таких как GPT-3, BERT и других архитектурах на основе преобразователя. GeLU сочетает в себе отсев (случайное обнуление нейронов для разреженной сети), отключение зоны (сохранение предыдущего значения), и РеЛУ. Он взвешивает входные данные по процентилю, а не по воротам, что приводит к более гладкой версии ReLU.

Использование: НЛП, компьютерное зрение и распознавание речи.

взмах

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

Использование: соответствует или превосходит ReLU в классификации изображений и машинном переводе.

Чтобы узнать больше шпаргалок,
https://github.com/adiamaan92/mlnotes_handwriting

Об авторе:

Я специалист по данным, работающий в сфере нефти 🛢️ и газа ⛽. Если вам нравится мой контент, подписывайтесь на меня 👍🏽 в LinkedIn, Medium и GitHub. Подпишитесь, чтобы получать оповещения всякий раз, когда я публикую на Medium.