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

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

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

На практике это не лучший подход, так как некоторые задачи/модели могут хорошо работать с одной функцией активации, а с другими — нет. Если функция активации работает очень хорошо в одной ситуации, она может не сработать в другой. Лучше знать все функции активации, которые нужно применять, чтобы мы могли сами принимать лучшие решения в таких ситуациях.

Модель

Для Leaky Relu мы должны добавить активацию в виде отдельного слоя, так как они относятся к слоям расширенной активации в keras api.

Сигмовидная функция

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

Функция Тан

Это похоже на сигмовидную функцию.

Жесткая сигмовидная функция

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

Экспоненциальная линейная единица (ELU)

Эти функции активации сходятся быстрее, чем другие.

Экспоненциальная функция

Модель не смогла сойтись с экспоненциальной функцией активации.

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

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

РеЛУ

ReLU наиболее широко используется из-за его эффективности, низких требований к вычислениям и простоты.

Дырявый ReLU

У ReLU есть некоторые недостатки, поскольку он игнорирует все для x‹0. Из-за этого грузы не активируются во время спуска, что может привести к вымиранию нейронов (проблема вымирания). Leaky ReLU решает эту проблему, предоставляя небольшую строку y=0,01x для x‹0.

Сравнение всех на одном графике

Вывод

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