SiLU — плавная нелинейность, вычисляемая как x·σ(x), которая обеспечивает мягкое подавление слабых сигналов и улучшает стабильность глубоких моделей.
Определение
SiLU (Sigmoid Linear Unit) — функция активации, определяемая формулой SiLU(x) = x · σ(x), где σ(x) — сигмоида. По сути, это базовая форма swish-активации: её гладкий профиль и мягкое подавление отрицательных значений делают обучение глубоких сетей стабильнее по сравнению с ReLU и её производными.
SiLU применяется в трансформерах, CNN и гибридных моделях, где требуется плавная нелинейность, устойчивый градиент и отсутствие жёстких отсечений.
Как работает
В SiLU каждый элемент вектора преобразуется по формуле:
SiLU(x) = x · σ(x)
Механизм работы основан на двух потоках:
- линейный компонент — передаёт значения без искажений для положительных x;
- сигмоидальный компонент — задаёт плавное подавление отрицательных и слабых сигналов;
- гладкость — производная непрерывна, что улучшает распространение градиента;
- адаптивность — степень подавления зависит от величины входа, а не фиксирована, как в ReLU.
Функция не имеет резких переходов: отрицательные значения ослабляются, но не обрезаются полностью, что предотвращает «вымирание» нейронов.
Где применяется
- Глубокие трансформеры и мультимодальные модели.
- Нейросети компьютерного зрения (включая EfficientNet).
- Аудио- и видео-модели, где важна устойчивость FFN.
- Gating-блоки и проекционные модули.
- Сети с большим количеством слоёв и чувствительностью к резким нелинейностям.
Практические примеры использования
В визуальных архитектурах SiLU обеспечивает плавный градиент, что улучшает обучение глубоких CNN, особенно при больших batch size. В EfficientNet SiLU используется как часть стандартного FFN в MLP-блоках, повышая точность без увеличения вычислительных затрат.
В трансформерах SiLU выступает основой swish-семейства активаций. Хотя современные LLM чаще используют SwiGLU, базовая SiLU встречается в промежуточных проекциях, лёгких моделях и гибридных структурах.
В мультимодальных системах мягкая структура SiLU помогает преобразовывать разнородные признаки (визуальные, аудио, текстовые) в согласованное пространство перед подачей в attention-блоки.
Сравнение с другими активациями
- ReLU — жёсткое отсечение переменных; хуже градиенты; риск «вымирающих» нейронов.
- GELU — похожая мягкая нелинейность, но основана на вероятностной кривой; дороже вычислительно.
- Swish — фактически равен SiLU в большинстве реализаций, различий почти нет.
- SwiGLU — более современная и мощная комбинация gating + swish, заменившая GELU в LLM.
SiLU занимает промежуточную позицию между простотой и качеством: мягкая нелинейность, низкая стоимость вычислений и хорошая устойчивость.
Преимущества и ограничения
- Плюс: плавное подавление отрицательных значений.
- Плюс: устойчивый градиент для глубоких моделей.
- Плюс: отсутствие резких переходов, как в ReLU.
- Плюс: хорошая совместимость с большими FFN.
- Минус: немного дороже ReLU по вычислениям.
- Минус: уступает gating-механизмам (SwiGLU) по выразительности.
- Минус: чувствительна к распределению входов при больших глубинах.
- Минус: не оптимальна для FP8 без дополнительных стабилизаций.
Связанные термины
- Swish
- SwiGLU
- GEGLU
- Activation function
- Feed-forward network
- Nonlinear activations
- Residual connections