Різниця між зменшенням нейронної ваги і швидкістю навчання


Відповіді:


161

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

Тож скажімо, що у нас є функція витрат або помилок яку ми хочемо мінімізувати. Спуск градієнта підказує нам змінити ваги у напрямку найкрутішого спуску в : де - рівень навчання, і якщо він великий, ви матимете відповідно велику модифікацію ваг (загалом вона не повинна бути занадто великою, інакше ви перевищуватимете місцевий мінімум у вашій вартості функції).E(w)wE

wiwiηEwi,
ηwi

З метою ефективного обмеження кількості вільних параметрів у вашій моделі, щоб уникнути переналагодження, можна регулювати вартість витрат. Простий спосіб зробити це шляхом введення нульової середньої гауссової сили перед вагами, що еквівалентно зміні функції витрат на . На практиці це карає великих ваг і ефективно обмежує свободу вашої моделі. Параметр регуляризації визначає, як ви торгуєте початковою вартістю при пеналізації великих ваг.E~(w)=E(w)+λ2w2λE

Застосовуючи градієнтний спуск до цієї нової функції витрат, ми отримуємо: Новий термін виходить від регуляризації, призводить до того, що вага пропорційно його розміру.

wiwiηEwiηλwi.
ηλwi

2
Дякую за корисне пояснення. Питання: у пакеті "nnet" R є параметр, який використовується в тренуванні нейронної мережі, який називається "розпад". Чи знаєте ви, чи гниття відповідає вашій лямбді чи вашому ета * лямбда?
Андреа Іанні ௫

3
Я також додам, що зниження ваги - це те саме, що регуляризація L2 для тих, хто знайомий останнім.
Сергій

2
@ Сергій, будь ласка, не припиняйте поширювати цю дезінформацію! Це справедливо лише в особливому випадку ванільного SGD. Див. Закріплення зменшення ваги для паперу Адама .
LucasB

Для уточнення: під час написання документу PyTorch для Адама використовує термін «зниження ваги» (в дужках називається « кара2 L2») для позначення того, що, на мою думку, ці автори називають регулюванням L2. Якщо я правильно розумію, ця відповідь стосується SGD без імпульсу, де обидва рівнозначні.
Ділан Ф

14

Окрім відповіді @ mrig (+1), для багатьох практичних застосувань нейронних мереж краще використовувати більш просунутий алгоритм оптимізації, такий як Левенберг-Марквард (мережі малого та середнього розміру) або масштабований зменшений градієнт спуску (середній-великий мережах), оскільки вони будуть набагато швидшими, і не потрібно встановлювати швидкість навчання (обидва алгоритми по суті адаптують швидкість навчання за допомогою кривизни, а також градієнта). Будь-який гідний нейронний мережевий пакет або бібліотека матиме реалізацію одного з цих методів, будь-який пакет, який, мабуть, не є застарілим. Я використовую бібліотеку NETLAB для MATLAB, яка є чудовим комплектом.


Що з алгоритмами оптимізації на основі Rprop? Як вони складаються?
потужність

4
Я думаю, що більшість людей використовують такі варіанти імпульсу rprop +, як RMSProp, adagrad, SGD + nesterov momentum. Дивіться клас cs231 .
facuq

1
Ну, звичайно, це залежить від вашої заявки. Але для великих наборів даних / мереж, які зараз є модними, я думаю, що люди знаходять ті алгоритми, які я згадав, більш підходящі.
facuq

6
@DikranMarsupial це може бути тому, що в наш час (майже п’ять років після вашої відповіді) люди, як правило, використовують Адама замість цього?
ComputerScientist

2
Адже ця відповідь дуже застаріла. Ці алгоритми не практичні для масштабів моделей та наборів даних, які є типовими нині, а найбільш розповсюджених пакетів, які, звичайно, не застаріли, цих алгоритмів бракує.
LucasB

0

I прості умови:

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

посилання: https://machinelearningmastery.com/learning-rate-for-deep-learning-neural-networks/

wight_decay: Це техніка регуляризації, що використовується для уникнення перенапруги .

посилання: https://metacademy.org/graphs/concepts/weight_decay_neural_networks

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