Чому на практиці не застосовується алгоритм спуску «Без сідла» Ньютона?


13

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

Папір датований 2014 роком, тому він не є абсолютно новим, однак я не бачив, щоб він використовувався "в дикій природі". Чому цей метод не використовується? Чи занадто заборонене обчислення Гессі для проблем / мереж у реальному світі? Чи існує навіть якась реалізація цього алгоритму з відкритим кодом, можливо, його можна використовувати в деяких основних рамках глибокого навчання?

Оновлення лютого 2019 року: доступна реалізація: https://github.com/dave-fernandes/SaddleFreeOptimizer )


Добре запитання, я нічого не міг знайти. Однак псевдокод дуже простий, тому ви можете спробувати самостійно. У цьому випадку є кілька корисних деталей щодо впровадження в одному з докторських дисертацій авторів (стор. 103, papyrus.bib.umontreal.ca/xmlui/bitstream/handle / 1866/13710 /… )
галоош33

1
Я знайшов посилання на цей же документ у публікації блогу Uber Deep-Neuroevolution. Посилання: eng.uber.com/deep-neuroevolution Ви можете запитати автора, чи є у них реалізація в Інтернеті / поділена через GitHub.
Кантрен

ось реалізація для TensorFlow: github.com/dave-fernandes/SaddleFreeOptimizer
Дейв Ф

Якби мені довелося здогадуватися, моє припущення буде, що обчислення + інвертування гессіана недоцільно, коли у вашої моделі є мільйони параметрів.
Sycorax каже, що

1
Чи можете ви уточнити своє запитання від "чи існує реалізація"? Це, здається, дозволяє собі, так, ні відповіді та / або звучить як запит на програмне забезпечення (що тут немає теми). Чи може ваше запитання розробитись на кшталт: "які труднощі пояснюють, чому, схоже, не було більшої реалізації"?
gung - Відновіть Моніку

Відповіді:


2

Краща оптимізація не обов'язково означає кращу модель. Зрештою, нас хвилює те, наскільки добре модель узагальнюється, а не обов’язково, наскільки хороша результативність на навчальному наборі. Технічні методи оптимізації, як правило, краще і швидше зближуються на навчальному наборі, але не завжди узагальнюють так само, як основні алгоритми. Наприклад, цей документ показує, що SGD може узагальнити краще, ніж оптимізатор ADAM. Це може бути й у випадку з деякими алгоритмами оптимізації другого порядку.


[Редагувати] Видалено першу точку, оскільки вона не застосовується тут. Дякуємо Bayerj за те, що вказав на це.


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