Почему на практике не используется алгоритм спуска «без седловых ньютонов»?

13

Недавно я прочитал статью Yann Dauphin et al. Выявление и устранение проблемы седловой точки в многомерной невыпуклой оптимизации , где они вводят интересный алгоритм спуска, называемый Ньютоном без седла , который, похоже, специально предназначен для оптимизации нейронной сети и не должен страдать от застревания в седловых точках. как методы первого порядка, как ванильный SGD.

Документ датируется 2014 годом, поэтому в нем нет ничего нового, однако я не видел, чтобы его использовали «в дикой природе». Почему этот метод не используется? Является ли гессенское вычисление слишком запретным для задач / сетей реального размера? Есть ли какая-то реализация этого алгоритма с открытым исходным кодом, возможно, для использования с некоторыми из основных структур глубокого обучения?

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

Ян Кукацка
источник
Хороший вопрос, я ничего не смог найти. Тем не менее, псевдокод очень прост, так что вы можете попробовать его самостоятельно, и в этом случае есть некоторые полезные детали реализации в одной из докторских диссертаций авторов (стр. 103, papyrus.bib.umontreal.ca/xmlui/bitstream/handle / 1866/13710 /… )
galoosh33
1
Я нашел ссылку на эту же статью в блоге Uber Deep-Neuroevolution. Ссылка: eng.uber.com/deep-neuroevolution Вы можете спросить автора, есть ли у него какая-либо реализация в сети / опубликованная через GitHub.
Кантрен
Вот реализация для TensorFlow: github.com/dave-fernandes/SaddleFreeOptimizer
Дейв Ф
Если бы мне пришлось угадывать, я бы предположил, что вычисление + инвертирование гессиана нецелесообразно, когда ваша модель имеет миллионы параметров.
Sycorax сообщает, что восстановит Монику
1
Можете ли вы уточнить свой вопрос из "Есть ли реализация"? Похоже, что да / нет ответов и / или звучит как программный запрос (что здесь не по теме). Может ли ваш вопрос быть проработан примерно так: «Какие трудности объясняют, почему не было больше реализаций»?
gung - Восстановить Монику

Ответы:

2

Лучшая оптимизация не обязательно означает лучшую модель. В конце концов, мы заботимся о том, насколько хорошо модель обобщается, и не обязательно о том, насколько хороши показатели на тренировочном наборе. Более изощренные методы оптимизации обычно работают лучше и быстрее сходятся на обучающем множестве, но не всегда обобщают так же, как базовые алгоритмы. Например, эта статья показывает, что SGD может обобщать лучше, чем оптимизатор ADAM. Это также может быть в случае с некоторыми алгоритмами оптимизации второго порядка.


[Редактировать] Удален первый пункт, так как он здесь не применяется. Спасибо Bayerj за указание на это.

Soroush
источник
1
Хотя я согласен со вторым пунктом, первый здесь недействителен. Авторы предлагают проводить оптимизацию только в подпространстве Крылова, что не требует квадратичной сложности.
Bayerj