ML Vault
All notes

Activation function

Функция активации (activation function) — нелинейное преобразование, поэлементно применяющееся к пришедшим на вход данным. Благодаря функциям активации нейронные сети способны порождать более информативные признаковые описания, преобразуя данные нелинейным образом.
Функция активация должна быть дифференцируема в любой точке, она не обязательно должна быть непрерывно дифференцируемой
Список функций:

Warning

При использовании Sigmoid и thanh если попасть на краевые значения, а там почти константное значение -> производная 0 -> дальнейший градиент весь 0.
Даже если попасть в центр значений, то максимальное значение производной sigmoid = 0.25 -> градиент при прохождении через sigmoid упадет минимум в 4 раз -> при нескольких sigmoid подряд может получиться затухание градиента

как понять какую функцию активации взять:

  • если хз что взять и нет ограничения на область значений с выхода слоя, то ReLU + нормировка (не только в начале, но и по ходу (bathnorm))
  • если есть ограничения, то tanh или ReLU с нормировкой (аккуратно)
  • если есть понимание, какая функция подходит, то брать ее

Функция активации по сути является гиперпараметром