GELU: сглаженная активация трансформеров

Термин глоссария

GELU


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

Определение

GELU (Gaussian Error Linear Unit) — это активационная функция, которая комбинирует линейное преобразование с вероятностной характеристикой нормального распределения. В отличие от ReLU, которая жёстко обрезает отрицательные значения, GELU масштабирует входной сигнал плавно, с учётом вероятности того, что данный элемент полезен для модели.

GELU стала стандартом в ранних трансформерных архитектурах, включая BERT и GPT-поколение до появления SwiGLU. Её плавный профиль хорошо подходит для глубоких сетей и улучшает устойчивость обучения.

Как работает

Основной принцип GELU — применение функции вида:

GELU(x) = x · Φ(x)

где Φ(x) — функция распределения стандартного нормального распределения. На практике применяется более быстрая аппроксимация:

GELU(x) ≈ 0.5 · x · (1 + tanh(√(2/π) · (x + 0.044715x³)))

Значения x около нуля слегка подавляются, а большие — проходят почти без изменений. Это создаёт мягкую нелинейность, которая облегчает распространение градиентов в глубоких трансформерах.

Где применяется

  • Ранние трансформеры (BERT, GPT-2, T5-поколение).
  • FFN-блоки моделей обработки текста.
  • Нейросети анализа изображений и мультимодальных признаков.
  • Системы с глубокими полносвязанными слоями.
  • Модели, чувствительные к резким переходам активаций.

Практические примеры использования

В BERT GELU помогал стабилизировать обучение при большой глубине и сложных задачах маскированного моделирования. Благодаря мягкому подавлению негативных значений модель сохраняла способность использовать слабые признаки, которые ReLU бы обрезал.

В GPT-2 FFN-блоки использовали GELU для сглаживания градиентов и улучшенной генерации на длинных фрагментах текста.

В мультимодальных сетях GELU применяют для преобразования визуальных и аудио-признаков перед подачей в трансформерные блоки, где стабильность FFN критична.

Почему GELU долго была стандартом

GELU занимает промежуточное положение между резкими функциями (ReLU) и гладкими вероятностными моделями. Причины популярности:

  • плавная нелинейность — отсутствие жёсткого отсечения значений;
  • хорошие градиентные свойства — мягкая производная улучшает обучение;
  • стабильность — минимальная вероятность взрывных активаций;
  • совместимость — легко интегрируется в FFN и residual-структуры.

Однако с ростом глубины трансформеров и появлением gating-механизмов GELU был вытеснен более устойчивыми активациями вроде SwiGLU.

Вариации и родственные функции

  • ReLU — более простая, но с жёстким отсечением;
  • Swish — предшественник GELU по гладкости;
  • GEGLU — сочетание GELU с gating;
  • SwiGLU — современный стандарт в LLM;
  • Mish — похожая мягкая нелинейность с другой формой.

Преимущества и ограничения

  • Плюс: плавная активация без резких переходов.
  • Плюс: устойчивое обучение глубоких моделей.
  • Плюс: мягкая фильтрация слабых сигналов.
  • Плюс: лучшее качество FFN по сравнению с ReLU.
  • Минус: вычислительно дороже ReLU.
  • Минус: уступает gating-блокам по выразительности.
  • Минус: не оптимальна для очень глубоких трансформеров.
  • Минус: нестабильна при низкой точности без внимательной инициализации.

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

  • Activation function
  • ReLU
  • Swish
  • SwiGLU
  • GEGLU
  • Feed-forward network
  • Transformer block

Категория термина

Архитектуры моделей