Нелинейности между слоями, без которых сеть не сложнее линейной модели.
Ключевые тезисы
- — дефолт: дёшева и не насыщается, но может «умирать» на отрицательных входах.
- и SiLU — стандарт в , дают более гладкий .
- Sigmoid и tanh оставляют для выходов и вентилей рекуррентных ячеек.
Какую задачу решает
— единственный источник нелинейности в сети. Без неё любая глубина сворачивается в одно линейное преобразование, поэтому вопрос не «нужна ли активация», а «какая».
Выбор решает три задачи сразу: сделать сеть выразительной, не сломать поток при обратном проходе и дать выходу нужный диапазон. Первые две решает скрытый слой, третью — выходной, и это принципиально разные решения: в скрытых слоях правит семейство ReLU, на выходе активация жёстко диктуется задачей.
Прогоните валидационный и посчитайте для каждого нейрона скрытого слоя долю примеров, на которых его выход равен нулю. Здоровая картина — 30–60%. Если у трети нейронов эта доля равна 100%, они мертвы: их вклад в предсказание нулевой, и до них не доходит. Обычные причины — слишком большая на старте или большой отрицательный bias. Лечится снижением learning rate, тёплым разогревом или заменой на Leaky с наклоном 0.01.
Подробный разбор
| Функция | Формула | Плюсы | Минусы |
|---|---|---|---|
| быстрая, не насыщается справа | «мёртвые» нейроны | ||
| LeakyReLU | нет мёртвых нейронов | лишний | |
| гладкая, стандарт в | дороже считать | ||
| Sigmoid | выход — вероятность | насыщение, ≈ 0 | |
| tanh | центрирована в нуле | насыщение |
- Регрессия — без (линейный выход).
- Бинарная классификация — sigmoid (или логиты +
BCEWithLogits). - Многоклассовая — по классам.
- Multilabel — sigmoid независимо по каждому классу, не .
- суммирование по всем перечисленным элементам
- экспонента
Где применяется
- Скрытые слои по умолчанию; GELU или SiLU в и современных свёрточных сетях; Leaky ReLU, если мёртвые нейроны реально мешают.
- Выход бинарной классификации плюс бинарная . В коде обычно объединяют в один устойчивый оператор.
- Выход многоклассовой задачи плюс . Если классы не взаимоисключающие — сигмоида на каждый класс отдельно.
- Выход регрессииНикакой , если значение любое; ReLU или softplus, если оно обязано быть положительным; tanh, если ограничено отрезком.
Плюсы, минусы и альтернативы
Плюсы
- считается за одно сравнение — дешевле любой альтернативы.
- Отсутствие насыщения на положительной части сняло проблему затухающего и открыло глубокие сети.
- Разреженность: часть нейронов выключается, что работает как мягкая .
- Гладкие варианты (, SiLU) дают небольшой, но стабильный выигрыш почти без дополнительной стоимости.
Минусы
- Мёртвые нейроны у — часть сети может замолчать навсегда.
- Выход не центрирован в нуле, что чуть замедляет сходимость.
- и tanh насыщаются и почти не годятся для скрытых слоёв глубокой сети.
- и Swish дороже по вычислениям — на больших моделях разница заметна.
- Неверная на выходе (например, softmax при многометочной задаче) молча ломает обучение — ошибка выглядит как «модель не учится».
Брать, если
- Скрытые слои свёрточной сети или MLP — , без раздумий.
- — или SiLU, это де-факто стандарт.
- Есть подозрение на мёртвые нейроны (доля нулевых активаций выше 60–70%) — Leaky .
Не брать, если
- и tanh в глубоких скрытых слоях — почти гарантированное затухание .
- там, где объект может принадлежать нескольким классам сразу.
- Любая ограничивающая на выходе регрессии с неограниченной целевой переменной.
Чем заменяют
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Нейросеть по кирпичикам
Perceptron80%
Перцептрон · Глубокое обучениеПростейший нейрон: взвешенная сумма входов и пороговая функция. Исторический старт всей области.
MLP80%
Многослойный перцептрон · Глубокое обучениеНесколько полносвязных слоёв с нелинейностями — универсальный аппроксиматор функций.
Loss functions80%
Функции потерь · Глубокое обучениеФормализуют цель обучения. Выбор потерь важнее выбора архитектуры чаще, чем кажется.
Backpropagation80%
Обратное распространение ошибки · Глубокое обучениеЭффективное вычисление градиентов по всем параметрам сети за один обратный проход с помощью правила цепочки.
Optimizers80%
Оптимизаторы · Глубокое обучениеПравила обновления весов по градиенту: от чистого SGD до адаптивных методов.
Logistic Regression80%
Логистическая регрессия · Классическое машинное обучениеЛинейная модель классификации: сигмоида переводит линейную комбинацию признаков в вероятность класса.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
ReLU
: ровно 1 на положительной части, поэтому не затухает. Рабочая лошадка скрытых слоёв.
Разбор ниже: Кого выбиратьМёртвые нейроны
Нейрон, ушедший в отрицательную зону на всех примерах, получает нулевой и больше не обучается. Лечится Leaky и GELU.
Разбор ниже: Кого выбиратьСигмоида
Сжимает в . В скрытых слоях устарела из-за затухания , на выходе бинарной классификации — стандарт.
Разбор ниже: Активация выходного слояSoftmax
Превращает оценок в распределение по классам. Выходной слой многоклассовой классификации.
Разбор ниже: Активация выходного слояНасыщение
Область, где близка к нулю: и tanh на краях перестают пропускать .
Разбор ниже: Кого выбиратьПрофильная компетенция для ролей: ML Engineer, NLP-инженер, CV-инженер, Исследователь, Инженер речи.
Усиливает профиль: Data Scientist, Инженер рекомендаций.
Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.
Глава «Глубокое обучение» последний раз правилась . Нашли ошибку — напишите.