ММООЗЗГГ.ru

Словарь ИИ

Что такое функция активации

Коротко

Функция активации это простое нелинейное правило внутри искусственного нейрона, которое решает, какой сигнал и какой силы нейрон передаст дальше.

Математика ИИ · activation function

Михаил МозгПроверено: 1 минута чтения

Ребенку

Представь кран с водой у тебя дома. Если повернуть ручку совсем чуть-чуть, вода не течет. Повернешь сильнее, и струя становится все больше. У каждого крошечного счетчика внутри умной программы тоже есть такой кран: он решает, пропустить сигнал дальше или нет и насколько сильным. Без этих кранов программа умела бы совсем немного.

Простыми словами

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

Для бизнеса

Выбирать это правило руководителю не придется: его закладывают разработчики модели. Но от него косвенно зависят скорость и цена. Если подрядчик предлагает обучать свою нейросеть с нуля, архитектура, включая этот элемент, влияет на сроки и бюджет экспериментов. Если вы берете готовую модель, выбор уже сделан, и платите вы за ответы, а не за опыты. Риск появляется при переносе модели на другое оборудование или в другой формат: редкий вариант функции может не поддерживаться в ускоренном режиме, и ответы станут медленнее. Это проверяют тестом на целевом сервере до запуска. Как устроена работа ИИ в компании по уровням, разобрано на отдельной странице.

Для специалиста

Функция активации (activation function) это нелинейное отображение, которое применяется к выходу линейного преобразования нейрона: y = f(Wx + b). В работе Rumelhart, Hinton и Williams (Nature, 1986) об обратном распространении использовалась логистическая сигмоида 1/(1+e^(-x)); у нее и у гиперболического тангенса (tanh) производная мала на краях, что затрудняет обучение глубоких сетей. Nair и Hinton (ICML 2010) применили выпрямленные линейные блоки (rectified linear units, ReLU) в ограниченных машинах Больцмана, а Glorot, Bordes и Bengio (AISTATS 2011) показали, что глубокие сети на ReLU обучаются не хуже сетей с tanh без предобучения без учителя и дают разреженные активации. GELU (Hendrycks и Gimpel, 2016) задается как x·Φ(x), где Φ функция распределения стандартного нормального закона, и взвешивает вход по его значению, а не отсекает по знаку. Shazeer (2020) показал, что часть вариантов управляемых линейных блоков (GLU) в полносвязных подслоях трансформера дают прирост качества по сравнению с ReLU и GELU. Через такое правило должен проходить градиент, поэтому его выбирают дифференцируемым почти везде.

Пример

Разработчики переносят модель распознавания документов на новый сервер и выясняют, что ее редкая функция активации там не ускоряется. Ее заменяют распространенной ReLU, дообучают модель, и скорость обработки восстанавливается.

Связанные термины

Вопросы и ответы

Зачем нужна функция активации в нейросети?

Она добавляет нелинейность. Без нее любая многослойная сеть сводилась бы к одной линейной формуле и не смогла бы распознавать сложные закономерности.

Какие варианты используют чаще всего?

В скрытых слоях часто стоит ReLU и ее разновидности, в языковых моделях GELU и управляемые линейные блоки (GLU). На выходе для выбора из нескольких классов применяют softmax, для вероятности одного события сигмоиду.

Источники

Где это применяют в компании

Не уверены, нужно ли это вашей компании?

Карта ИИ-решений
Написать в Telegram