Глибоке навчання · 5 у порівнянні
Activation functions
Без нелінійності між шарами глибока мережа згортається в одну лінійну — ось функції, що цьому запобігають, і те, чого кожна з них коштує натомість.
Порівняння
| Назва Що робить | Діапазон виходу | Піковий градієнт | Насичується? |
|---|---|---|---|
| Step Початкова функція perceptron. Жорсткий поріг, градієнта немає ніде — саме тому мережі з нею не можна було навчати. Повна сторінка → | {0, 1} | 0 (не визначено в 0) | Скрізь |
| Сигмоїда Гладка сходинка. Обмежена, читається як імовірність, а її градієнт ніколи не перевищує 0.25. Повна сторінка → | (0, 1) | 0.25 | Обидва хвости |
| Tanh Перемасштабована сигмоїда, центрована навколо нуля. Учетверо більший піковий градієнт, та сама проблема насичення. Повна сторінка → | (−1, 1) | 1 | Обидва хвости |
| ReLU Пропускає додатні, обнуляє від’ємні. Градієнт рівно 1 вище нуля, тож глибина перестає його послаблювати. Повна сторінка → | [0, ∞) | 1 | Лише від’ємний бік |
| Leaky ReLU ReLU з пологим від’ємним нахилом, тож нейрон, що пішов у мінус, і далі отримує градієнт і може відновитися. Повна сторінка → | (−∞, ∞) | 1 | Ні |
Чому вона взагалі має бути
Складіть два лінійні шари — і ви нічого не побудували. D2L формулює причину одним рядком: «афінна функція від афінної функції сама є афінною функцією» [1, §5.1.1.3]. Сто лінійних шарів алгебраїчно згортаються в один, і мережа не може подати нічого, чого не подав би один шар.
Активація — єдине, що стоїть між глибокою мережею й цим згортанням. Кожен рядок нижче є іншою відповіддю на питання «яка нелінійність і якою ціною?».
Читайте стовпець градієнта
Історія цієї таблиці — це історія одного числа.
Step узагалі не має придатного градієнта, тому perceptron не можна було навчати спуском. Сигмоїда це виправила, але обмежила градієнт величиною 0.25 — а в глибокій мережі градієнти перемножуються шар за шаром, тож 0.25 у десятому степені дорівнює приблизно одній мільйонній. Tanh підняла стелю до 1, а потім так само насичувалася у хвостах.
ReLU зламала закономірність, а не покращила її. Її градієнт дорівнює рівно 1 для кожного додатного входу й ніде не спадає, тож глибина перестає послаблювати сигнал. D2L: її похідні поводяться добре — вони або нульові, або пропускають аргумент без змін [1, §5.1.2.1].
Компроміс, про який не згадують
Нуль ReLU для від’ємних входів не є безкоштовним. Нейрон, чий вхід від’ємний для кожного прикладу, не отримує градієнта й не може відновитися — він мертвий до кінця навчання. Leaky ReLU виправляє це пологим нахилом — узагальнення ReLU «отримують градієнт усюди» [2, §6.3.1], — і платить за це відмовою від розріджених, точно нульових активацій ReLU.
Такою є форма кожного рядка тут: ніщо не є строго кращим, кожен вибір міняє одну властивість на іншу.
Як обирати
- Приховані шари → ReLU. Типовий вибір і те, що має перевершити будь-що інше.
- Виміряні мертві нейрони → leaky ReLU. Спершу порахуйте нульові активації; не перемикайтеся за самою лише підозрою.
- Рекурентні комірки → tanh, де обмежений вихід не дає вибухнути станові, який подають назад.
- Бінарний вихідний шар → сигмоїда, де значення в (0, 1) справді потрібне.
- Багатокласовий вихід → softmax, що узагальнює сигмоїду на кілька класів.
Новіші функції — GELU, Swish, Mish — усі пропонуються відносно ReLU й виграють із малими, залежними від задачі відривами. GELU є стандартом у трансформерах. Жодна з них не змінює наведеного вище аргументу; це радше уточнення ідеї ReLU, ніж відхід від неї.
Джерела
- Dive into Deep Learningbook · звірено 2026-08-31https://d2l.ai/
- Deep Learning (2016)bookhttps://www.deeplearningbook.org/