функція активації tanh проти функції активації сигмоїдів


82

Функція активації tanh:

tanh(x)=2σ(2x)1

Де , сигмоїдна функція, визначається як: .σ(x)

σ(x)=ex1+ex

Запитання:

  • Чи дійсно має значення між цими двома функціями активації (tanh vs. sigma)?
  • Яка функція краще в яких випадках?

12
tanh(x)=2σ(2x)1
Роман Шаповалов

Глибокі нейронні мережі рухалися далі. Поточна перевага - функція RELU.
Пол Норд

7
@PaulNord І танг, і сигмоїди все ще використовуються разом з іншими активаціями, такими як RELU, залежить від того, що ви намагаєтеся зробити.
Талор

Відповіді:


80

Так, це має значення з технічних причин. В основному для оптимізації. Варто прочитати Ефективний задній план від LeCun et al.

Є два причини цього вибору (якщо припустити, що ви нормалізували свої дані, і це дуже важливо):

  1. Маючи більш сильні градієнти: оскільки дані зосереджені навколо 0, похідні є вищими. Щоб побачити це, обчисліть похідну функції тана і зауважте, що її діапазон (вихідні значення) становить [0,1].

Діапазон функції тана [-1,1], а сигмоїдної функції - [0,1]

  1. Уникнення зміщення в градієнтах. Це дуже добре пояснено в роботі, і для того, щоб зрозуміти ці питання, варто прочитати його.

Я маю сумніви у запропонованому вами документі. На сторінці 14 "Коли MLP мають загальну вагу (наприклад: згорткові мережі), швидкість навчання слід вибирати таким чином, щоб вона була пропорційною квадратному кореню від кількості з'єднань, що розділяють вагу". Чи можете ви поясніть, чому?
satya

на це питання вже відповіли тут stats.stackexchange.com/questions/47590/…
jpmuc

1
Це дуже загальне питання. Короткий розповідь: функція витрат визначає, що нейронна мережа повинна робити: класифікація чи регресія та як. Якби ви могли отримати копію "Нейронних мереж для розпізнавання образів" Крістофера Бішопа, це було б чудово. Також «Машинне навчання» Мітчелла дає вам хороші пояснення на більш базовому рівні.
jpmuc

1
Мені шкода, Сатя, я зазвичай досить зайнятий протягом тижня. Як ви точно нормалізуєте свої дані? en.wikipedia.org/wiki/Whitening_transformation Я не дуже впевнений, якою може бути ваша проблема. Найпростіший спосіб - субстрагувати середнє значення, а потім зрівняти його з матрицею коваріації. Євтл. вам потрібно додати якийсь компонент для високих частот (див. перетворення ZCA у посиланні вище)
jpmuc

1
Дякую велику Джампа. Ти мені дуже допомагаєш. Пропоноване читання дуже добре. Я фактично займаюся проектом з видобутку даних про клімат. 50% моїх вхідних функцій - температура (діапазон 200K-310K), а 50% моїх вхідних функцій - значення тиску (діапазон від 50000pa до 100000pa). Я роблю відбілювання. Перед pca, чи є необхідність її нормалізувати ... Якщо так, то як я повинен її нормалізувати? Чи слід нормалізуватися перед відніманням середнього чи після віднімання середнім? Я отримую різні результати, якщо нормалізуюсь різними методами ...
satya

32

Велике спасибі @jpmuc! Надихнувшись вашою відповіддю, я порахував і окремо побудував похідну функції Тен і стандартної сигмоїдної функції. Я хотів би поділитися з усіма вами. Ось що я отримав. Це похідна від функції тена. Для введення між [-1,1] ми маємо похідну між [0,42, 1]. введіть тут опис зображення

Це похідна від стандартної сигмоїдної функції f (x) = 1 / (1 + exp (-x)). Для введення між [0,1] ми маємо похідну між [0.20, 0.25]. введіть тут опис зображення

Мабуть, функція tanh забезпечує більш сильні градієнти.


6
Інший спосіб погляду на це полягає в тому, що σ (2x) - це те саме, що σ (x), але з прикладеною горизонтальною натяжкою, масштабний коефіцієнт 1/2 (тобто це той самий графік, але з усім, що врізається в бік осі y). Коли ви засаджуєте його, схил стає
крутішим

2
Я не бачу, чому це мало б значення. Масштаб і розсічення будуть випадковими для кожного вузла, і (із зміщенням і вагою на вході та виході) обидва будуть універсальними наближувачами, зближуючись до одного результату.
ендоліт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.