Стохастична градієнтна динаміка Ланжевена

Матеріал з testwiki
Перейти до навігації Перейти до пошуку
SGLD можна використовувати для оптимізації невипуклих цільових функцій, які тут показані як сума гаусіан.

Стохастична градієнтна динаміка Ланжевена (SGLD) — це метод оптимізації та вибірки, що складається з характеристик стохастичного градієнтного спуску, Шаблон:Нп, і динаміки Ланжевена, математичного розширення моделей молекулярної динаміки. Подібно до стохастичного градієнтного спуску, SGLD — це ітеративний алгоритм оптимізації, який використовує мінібатчування для створення стохастичного оцінювача градієнта, який використовується в SGD для оптимізації диференційованої цільової функції.[1] На відміну від традиційного SGD, SGLD можна використовувати для байєсівського навчання як метод вибірки. SGLD можна розглядати як динаміку Ланжевена, застосовану до апостеріорних розподілів, але ключова відмінність полягає в тому, що члени градієнта правдоподібності є мінібатчними, як у SGD. SGLD, як і динаміка Ланжевена, створює вибірки з апостеріорного розподілу параметрів на основі доступних даних. Вперше описаний Веллінгом і Техом у 2011 році, цей метод має застосування в багатьох контекстах, які потребують оптимізації, і найбільш помітно використовується в задачах машинного навчання.

Формальне означення

Нехай задано деякий вектор параметрів θ, його апріорний розподіл p(θ), і набір точок даних X={xi}i=1N, динаміка Ланжевена утворює вибірку з апостеріорного розподілу p(θX)p(θ)i=1Np(xiθ) шляхом оновлення ланцюжка:

Δθt=εt2(logp(θt)+i=1Nlogp(xtiθt))+ηt.

Стохастична градієнтна динаміка Ланжевена використовує модифіковану процедуру оновлення з мінібатченими членами правдоподібності:

Δθt=εt2(logp(θt)+Nni=1nlogp(xtiθt))+ηt,

де n<N є додатним цілим числом, ηt𝒩(0,εt) гаусівський шум, p(xθ) правдоподібность даних, задана вектором параметрів θ, і розміри кроку εt задовольняють наступні умови:

t=1εt=,t=1εt2<.

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

Застосування

SGLD застосовний у будь-якому контексті оптимізації, для якого бажано швидко отримати апостериорну вибірку замість максимального апостериорного режиму. При цьому метод підтримує обчислювальну ефективність стохастичного градієнтного спуску порівняно з традиційним градієнтним спуском, надаючи додаткову інформацію щодо околиці критичної точки цільової функції. На практиці SGLD можна використовувати для навчання байєсівських нейронних мереж у глибокому навчанні, завдань, у яких метод надає розподіл за параметрами моделі. Вводячи інформацію про дисперсію цих параметрів, SGLD характеризує можливість узагальнення цих моделей на певних етапах навчання.[2] Крім того, отримання вибірки із апостеріорного розподілу дозволяє кількісно визначити невизначеність за допомогою довірчих інтервалів, що є неможливим за допомогою традиційного стохастичного градієнтного спуску.

Варіанти та відповідні алгоритми

Якщо градієнтні обчислення є точними, SGLD зводиться до алгоритму Ланжевена Монте-Карло,[3] вперше згаданного в літературі теорії ґраткового поля. Цей алгоритм також є модифікацією алгоритму Шаблон:Нп, що складається з пропозиції єдиного кроку перекрокування, замість серії кроків.[4] Оскільки SGLD можна сформулювати як модифікацію як стохастичного градієнтного спуску, так і методів MCMC, метод лежить на перетині алгоритмів оптимізації та вибірки; метод зберігає здатність SGD швидко сходитися до регіонів з низькою вартістю, одночасно надаючи вибірку для полегшення апостериорного висновування.

Врахування послаблених обмежень на розмір кроку εt таких, що не наближаються до нуля асимптотично, SGLD не в змозі створити вибірку, для якої коефіцієнт відхилення Метрополіса Гастінгса дорівнює нулю, і, таким чином, крок відхилення MH стає необхідним.[1] Отриманий алгоритм, який отримав назву "скоригований за Метрополісом алгоритм Ланжевена", [5] вимагає наступного кроку:

p(θtθt+1)p*(θt)p(θt+1θt)p*(θt+1)<u, u𝒰[0,1],

де p(θtθt+1) є нормальним розподілом з центром в один крок градієнтного спуску від θt та p(θ) наш цільовий розподіл.

Швидкості перемішування та алгоритмічна збіжність

Останні дослідження вивели верхню межу часу змішування як для традиційного алгоритму Ланжевена, так і для скоригованого за Метрополісом алгоритма Ланжевена.[5] Опубліковані в Ma et al., 2018, ці межі визначають швидкість, з якою алгоритми збігаються до справжнього апостеріорного розподілу, формально визначеного як:

τ(ε;p0)=min{kpkp*Vε},

де ε(0,1) є довільним допуском до помилок, p0 є деяким початковим розподілом, p* є апостеріорним розподілом, і ||*||TV є загальною нормою варіації . За деяких умов регулярності L-ліпшицевої гладкої цільової функції U(x) яка є m-сильно опуклою за межами області радіуса R з числом обумовленості κ=Lm, маємо оцінки меж швидкості перемішування:

τULA(ε,p0)𝒪(e32LR2κ2dε2ln(dε2)),
τMALA(ε,p0)𝒪(e16LR2κ3/2d1/2(dlnκ+ln(1ε))3/2),

де τULA і τMALA стосуються швидкості перемішування нескоригованого алгоритму Ланжевена та скоригованого за Метрополісом алгоритму Ланжевена відповідно. Ці межі важливі, оскільки вони показують, що обчислювальна складність є поліноміальною за розмірністю d за умовою, що LR2 перебуває в 𝒪(logd) .

Див. також

Список літератури