Какие функции активации чаще всего используются в CV?

Функции активации — это важный элемент нейронных сетей, в том числе и в компьютерном зрении (CV), поскольку они вводят нелинейность в модель, позволяя ей обучаться сложным зависимостям в данных. В сверточных нейронных сетях (CNN) активации применяются после каждого слоя свёртки или полносвязного слоя. Ниже приведено подробное описание функций активации, которые чаще всего используются в задачах CV, их математическая формулировка, свойства, преимущества и недостатки.

1. ReLU (Rectified Linear Unit)

Формула:

f(x)=max⁡(0,x)f(x) = \max(0, x)

Описание:
ReLU — самая популярная функция активации в CV. Она заменяет все отрицательные значения нулями, а положительные пропускает без изменений.

Преимущества:

  • Простота вычислений

  • Способствует быстрому обучению

  • Спарсит активации (многие становятся нулями)

Недостатки:

  • Проблема мертвых нейронов: если градиент становится равным нулю, нейрон перестает обновляться (x < 0).

  • Нет насыщения сверху, возможны нестабильные градиенты при больших значениях

Использование:

  • Почти все сверточные слои в CNN используют ReLU

  • Применяется во всех классических архитектурах: VGG, ResNet, AlexNet, MobileNet

2. Leaky ReLU

Формула:

f(x)={x,x≥0αx,x<0f(x) = \begin{cases} x, & x \geq 0 \\ \alpha x, & x < 0 \end{cases}

Где α\alpha — маленькая положительная константа (обычно 0.01)

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

Преимущества:

  • Сохраняет простоту ReLU

  • Поддерживает обновление нейронов при x<0x < 0

Недостатки:

  • Небольшой контроль над параметром α\alpha, может требовать настройки

Использование:

  • Используется в GAN, некоторых вариациях ResNet, особенно когда важна сохранность информации при отрицательных значениях

3. Parametric ReLU (PReLU)

Формула:

f(x)={x,x≥0ax,x<0f(x) = \begin{cases} x, & x \geq 0 \\ a x, & x < 0 \end{cases}

Где aa — обучаемый параметр

Описание:
Расширение Leaky ReLU, где коэффициент наклона на отрицательной части обучается вместе с остальными весами модели.

Преимущества:

  • Модель сама выбирает, насколько сильно подавлять отрицательные значения

  • Может повысить точность при достаточном количестве данных

Недостатки:

  • Увеличивает количество параметров

  • Может переобучаться на малых датасетах

Использование:

  • Использовалась в оригинальной версии He et al. ResNet (2015)

  • Встречается в моделях, где важна высокая адаптивность активаций

4. ELU (Exponential Linear Unit)

Формула:

f(x)={x,x≥0α(ex−1),x<0f(x) = \begin{cases} x, & x \geq 0 \\ \alpha (e^x - 1), & x < 0 \end{cases}

Обычно α=1\alpha = 1

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

Преимущества:

  • Сохраняет активность нейронов для отрицательных значений

  • Центрирует данные ближе к нулю, что может ускорить обучение

Недостатки:

  • Более дорогие вычисления из-за экспоненты

  • При больших архитектурах может уступать ReLU по скорости

Использование:

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

5. Swish

Формула:

f(x)=x⋅σ(x)=x1+e−xf(x) = x \cdot \sigma(x) = \frac{x}{1 + e^{-x}}

Описание:
Swish была предложена Google как более плавная альтернатива ReLU. Она имеет S-образную форму и не имеет жесткой границы на нуле.

Преимущества:

  • Обеспечивает плавные градиенты

  • Не обнуляет отрицательные значения полностью

  • Может улучшить качество на глубоких сетях

Недостатки:

  • Медленнее по сравнению с ReLU

  • Может быть переизбыточной при малом количестве данных

Использование:

  • Применяется в EfficientNet, NASNet

  • Часто используется в AutoML-архитектурах

6. Mish

Формула:

f(x)=x⋅tanh⁡(ln⁡(1+ex))=x⋅tanh⁡(softplus(x))f(x) = x \cdot \tanh(\ln(1 + e^x)) = x \cdot \tanh(\text{softplus}(x))

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

Преимущества:

  • Гладкие производные на всём интервале

  • Повышает точность в некоторых задачах классификации и сегментации

  • Способствует лучшей обобщающей способности

Недостатки:

  • Дороже по вычислениям (log, exp, tanh)

  • Поддерживается не во всех фреймворках по умолчанию

Использование:

  • Встречается в кастомных CNN, UNet++, некоторых GAN

  • Часто применяется в исследованиях на Kaggle и других соревнованиях

7. Sigmoid

Формула:

f(x)=11+e−xf(x) = \frac{1}{1 + e^{-x}}

Описание:
Классическая S-образная функция, которая сжимает значения в диапазоне (0, 1). Используется редко как основная активация в скрытых слоях из-за затухающих градиентов.

Преимущества:

  • Подходит для задач бинарной классификации (на выходе)

  • Интерпретируется как вероятность

Недостатки:

  • Затухающий градиент при больших входах (особенно x≫0x \gg 0 или x≪0x \ll 0)

  • Не центрирована относительно нуля → может замедлять обучение

Использование:

  • В выходных слоях моделей бинарной классификации

  • В масках объектов (например, сегментация)

8. Tanh (Гиперболический тангенс)

Формула:

f(x)=tanh⁡(x)=ex−e−xex+e−xf(x) = \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}

Описание:
Сжимает значения в диапазон (-1, 1), центрирована относительно нуля, что делает её более эффективной, чем sigmoid, в некоторых ситуациях.

Преимущества:

  • Центрирована вокруг нуля

  • Подходит для нормализации сигналов

Недостатки:

  • Затухающий градиент при больших значениях x

  • Медленнее, чем ReLU

Использование:

  • В некоторых RNN-моделях

  • В выходных слоях автоэнкодеров или GAN (генерация изображений с нормированием)

9. Softmax

Формула:

f(xi)=exi∑j=1Kexjf(x_i) = \frac{e^{x_i}}{\sum_{j=1}^{K} e^{x_j}}

Описание:
Функция активации, применяемая на последнем слое многоклассовой классификации. Преобразует логиты в вероятностное распределение.

Преимущества:

  • Гарантирует сумму выходов = 1

  • Хорошо интерпретируется как вероятности

Недостатки:

  • Используется только на выходе

  • Может быть чувствительной к выбросам (из-за экспоненты)

Использование:

  • Последний слой CNN для многоклассовой классификации в CV (например, ImageNet)

10. Выбор активации в зависимости от задачи

Задача Предпочтительная активация
Скрытые слои CNN ReLU / Leaky ReLU / Swish / Mish
--- ---
Классификация (2 класса) Sigmoid на выходе
--- ---
Классификация (много классов) Softmax на выходе
--- ---
Генерация изображений (GAN) Tanh / Leaky ReLU / Mish
--- ---
Медицинские задачи ELU / Mish / Swish (устойчивые)
--- ---
Сегментация Sigmoid (для binary mask) / Softmax
--- ---

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