Функция активации – это фрагмент программного кода, добавляемый в искусственную Нейронную сеть (Neural Network), чтобы помочь ей изучить сложные закономерности данных. В сравнении с нейронами нашего мозга, функция активации решает, что должно быть запущено в следующий нейрон. Она принимает выходной сигнал из предыдущей ячейки и преобразует его в некоторую форму, которую можно использовать в качестве входных данных для следующей ячейки.
В Машинном обучении (ML) такая непредсказуемость входных данных называется нелинейностью. Вот некоторые распространенные ее типы:
Сигмовидная функция (Sigmoid) сопоставляет любое входное значение со значением от 0 до 1 и часто используется в задачах Двоичной классификации (Binary Classification).
Функция активации выпрямителя (ReLU) – это популярная функция активации. Она обнуляет любое входное значение ниже нуля. Остальные (выше нуля) остаются без изменений.
Leaky ReLU (LreLU) случайным образом обнуляет некоторые близкие к нулю положительные значения.
Softmax часто используется в выходном слое нейронной сети для задач мультиклассовой классификации. Он сопоставляет выходные значения с распределением вероятностей по классам.
Функция в форме гиперболического тангенса (Tanh) похожа на сигмовидную функцию, но отображает входные значения в диапазоне от -1 до 1. Она часто используется в скрытых слоях нейронной сети.
Swish – относительно новая функция активации, похожая на ReLU. Swish применяется в различных сложных областях – Классификация изображений (Image Classification) и Машинный перевод (Machine Translation). К привычной сигмоиде применяется еще и обучаемый параметр бэта: f (x) = x * sigmoid (β * x).