Функция активации – это фрагмент программного кода, добавляемый в искусственную Нейронную сеть (Neural Network), чтобы помочь ей изучить сложные закономерности данных. В сравнении с нейронами нашего мозга, Функция (Function) активации решает, что должно быть запущено в следующий нейрон. Она принимает выходной сигнал из предыдущей ячейки и преобразует его в некоторую форму, которую можно использовать в качестве входных данных для следующей ячейки. На изображении ниже – устройство нейрона человеческого мозга (слева) и искусственного. Аксон – это отросток нейрона, по которому идут импульсы к иннервируемым органам и другим нервным клеткам:
Существует несколько причин для использования нелинейных функций активации:
$$W * x + b$$
$$W\space{}{–}\space{веса}\space{ячейки,}$$
$$x\space{}{–}\space{входные}\space{наблюдения,}$$
$$b\space{}{–}\space{смещение}$$
Значение Смещения (Bias), если не ограничиваться определенным пределом, может быть очень большим, особенно в случае глубоких нейронных сетей, которые имеют миллионы параметров. Это может привести к вычислительным проблемам. Существуют некоторые функции активации (например, Softmax), которые выводят определенные значения для бинарных входных значений (0 или 1).
Линейный классификатор, использующий три характеристики (вес, систолическое артериальное давление и возраст на рисунке выше), может дать нам линию в трехмерном пространстве, но он никогда не сможет точно изучить закономерность, которая делает человека курильщиком или некурящим, потому что шаблон, который определяет эту классификацию, просто не является линейным. Если мы используем Искусственную нейронную сеть (ANN) с одной ячейкой, но без функции активации, то "предсказывающее" уравнение равно W * x + b, что бесполезно, ибо W * x также имеет степень, равную 1 (x просто не возводится в степень), следовательно, это линейный классификатор.
Однако сложения слоев недостаточно, особенно для высокоуровневых проблем, например, Компьютерного зрения (CV) или Обработкой естественного языка (NLP).
Чтобы модель получила возможность (или более высокую степень сложности) изучать нелинейные паттерны, между ними добавляются определенные нелинейные уровни – функции активации.
Сигмоид – одна из нелинейных функции активации:
Эта функция активации используется только по историческим причинам и никогда не используется в реальных Моделях (Model). Это затратно с точки зрения вычислений, вызывает проблему исчезающего градиента и не имеет нулевого центра. Этот метод обычно используется для задач Двоичной классификации (Binary Classification).
Фото: @tyssulpatel
Автор оригинальной статьи: Vandit Jain
© Лена Капаца. Все права защищены.