Нейронні мережі: імпульс зміни ваги та зменшення ваги


41

Момент використовується для зменшення коливань змін ваги протягом послідовних ітерацій:α

Δωi(t+1)=ηEwi+αΔωi(t),
де - функція помилки, - вектор ваг, - швидкість навчання.E(w)wη

Зниження ваги карає зміни ваги:λ

Δωi(t+1)=ηEwiληωi

Питання полягає в тому, чи є сенс поєднувати обидва трюки під час зворотного розповсюдження і який ефект це матиме?

Δωi(t+1)=ηEwi+αΔωi(t)ληωi

1
Ви маєте на увазі сказати ωi (t + 1) = ωi - η ∂E / ∂wi + αΔωi (t), а не Δωi (t + 1) = ωi - η∂E / ∂wi + αΔωi (t)?
хакунаматата

Відповіді:


48

Так, дуже часто застосовується обидва трюки. Вони вирішують різні проблеми і можуть добре працювати разом.

Один із способів задуматися над тим, що зменшення ваги змінює функцію, яка оптимізується , а імпульс змінює шлях, який ви рухаєте, до оптимального .

Зменшення ваги, зменшуючи коефіцієнти до нуля, забезпечує те, що ви знайдете локальний оптимум із параметрами малої величини. Зазвичай це має вирішальне значення для уникнення перенапруження (хоча інші види обмежень на ваги теж можуть працювати). Як побічна перевага, вона також може полегшити оптимізацію моделі, зробивши цільову функцію більш опуклою.

Після того, як у вас є об'єктивна функція, ви повинні вирішити, як рухатись по ній. Найбільш крутий спуск на градієнті - найпростіший підхід, але ви праві, що коливання можуть бути великою проблемою. Додавання імпульсу допомагає вирішити цю проблему. Якщо ви працюєте з пакетними оновленнями (що, як правило, погана ідея для нейронних мереж), кроки типу Ньютона - це ще один варіант. Нові "гарячі" підходи базуються на прискореному градієнті Нестерова і так званій "гессіанської" оптимізації.

Але незалежно від того, які з цих правил оновлення ви використовуєте (імпульс, Ньютон тощо), ви все ще працюєте з тією ж цільовою функцією, яка визначається вашою помилковою функцією (наприклад, помилкою в квадраті) та іншими обмеженнями (наприклад, зменшення ваги) . Основне питання, вирішуючи, який із них використовувати, - наскільки швидко ви доберетеся до гарного набору ваг.


"це також може полегшити оптимізацію моделі, зробивши цільову функцію більш опуклою" - чи не могли б ви пояснити, як менші ваги роблять це можливим?
Олексій

Ось простий приклад, який повинен проілюструвати суть: якщо ваша початкова цільова функція , існує нескінченно багато локальних мінімумів. Якщо додати в об'єктивну функцію , а більше приблизно 0,2, всі старі локальні оптими зникнуть, і вам залишиться лише один мінімум біля 0.sin(x)ax2a
Девід Дж. Харріс

Гарна відповідь, дякую. А що з оптимізатором Адама? Чи ефективніше це, ніж поєднання ваги і швидкості?
А. Піро

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