Що означає термін насичення нелінійностей?


30

Я читав статтю ImageNet Classification з глибокими згортковими нейронними мережами, і в розділі 3 вони пояснювали архітектуру своєї конволюційної нейромережі. Вони пояснюють, як вони віддали перевагу використанню:

ненасичуюча нелінійністьf(x)=max(0,x).

бо швидше було тренуватися. У цій роботі вони, схоже, називають насичуючі нелінійності як більш традиційні функції, що використовуються в CNN, сигмоїдній та гіперболічній дотичних функціях (тобто і як насичуючий).f(x)=tanh(x)f(x)=11+ex=(1+ex)1

Чому вони називають ці функції «насичуючими» або «ненаситими»? У якому сенсі ці функції «насичуючі» чи «ненасичуючі»? Що означають ці терміни в контексті згорткових нейронних мереж? Чи використовуються вони в інших сферах машинного навчання (і статистики)?


Я також знайшов цю відповідь кворою дуже корисною.
відвертий

Відповіді:


26

Інтуїція

Насичуюча функція активації видавлює вхід.


Визначення

  • f не насичує iff(|limzf(z)|=+)(|limz+f(z)|=+)
  • f насичує iff не є ненасичуючим.f

Ці визначення не є специфічними для звивистих нейронних мереж.


Приклади

Функція активації випрямленого лінійного блоку (ReLU), яка визначається як , не насичує, оскільки :f(x)=max(0,x)limz+f(z)=+

введіть тут опис зображення

Функція активації сигмоїдів, яка визначається як , насичує, тому що вона стискає реальні числа для діапазону між :f(x)=11+ex[0,1]

введіть тут опис зображення

Функція активації tanh (гіперболічного дотичного) насичує, оскільки вона стискає реальні числа, щоб вони знаходилися в межах :[1,1]

введіть тут опис зображення

(цифри від CS231n , ліцензії MIT)


1
ах, приємно має сенс! Я знаю, це не було моїм початковим питанням, але яка ця властивість важлива в контексті ML та CNN?
Чарлі Паркер

Для ANN, щоб уникнути наявності одного блоку з великим виходом, який надто впливає на вихідний рівень ANN.
Franck Dernoncourt

яка різниця між загаром і сигмоподібною? вони обоє розбивають цифри в закритому діапазоні! Я не розумію, чи можете ви більше розробити цю абітурію? Мені якось погано в математиці. (до речі, я виходжу з точки зору CNN)
Ріка

@FranckDernoncourt Ви мали на увазі насичення функції активації тан? Гадаю, є помилка друку? :)
CoderSpinoza

1
@tenCupMaximum: наситити - означає заповнити до того моменту, коли більше не можна додати. У контексті насичуючої функції це означає, що після певного моменту будь-яке подальше збільшення входу функції більше не спричинить (значне) збільшення її виходу, що (майже майже) досяг максимального значення. Функція в цьому пункті "все заповнено", так би мовити (або насичено ).
Рубен ван Берген

0

Найпоширеніші функції активації - LOG та TanH. Ці функції мають компактний діапазон, тобто вони стискають нейронну відповідь на обмежене підмножину дійсних чисел. LOG стискає входи на виходи між 0 і 1, TAN H - від -1 до 1. Ці функції відображають обмежуючу поведінку на межах.

На кордоні градієнт виходу відносно входу ∂yj / ∂xj дуже малий. Отже, градієнт - це невеликі, отже, невеликі кроки до конвергенції, отже, довший час для сходження.

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