Недавно я прочитал статью Yann Dauphin et al. Выявление и устранение проблемы седловой точки в многомерной невыпуклой оптимизации , где они вводят интересный алгоритм спуска, называемый Ньютоном без седла , который, похоже, специально предназначен для оптимизации нейронной сети и не должен страдать от застревания в седловых точках. как методы первого порядка, как ванильный SGD.
Документ датируется 2014 годом, поэтому в нем нет ничего нового, однако я не видел, чтобы его использовали «в дикой природе». Почему этот метод не используется? Является ли гессенское вычисление слишком запретным для задач / сетей реального размера? Есть ли какая-то реализация этого алгоритма с открытым исходным кодом, возможно, для использования с некоторыми из основных структур глубокого обучения?
Обновление: февраль 2019 г .: теперь доступна реализация: https://github.com/dave-fernandes/SaddleFreeOptimizer )
источник
Ответы:
Лучшая оптимизация не обязательно означает лучшую модель. В конце концов, мы заботимся о том, насколько хорошо модель обобщается, и не обязательно о том, насколько хороши показатели на тренировочном наборе. Более изощренные методы оптимизации обычно работают лучше и быстрее сходятся на обучающем множестве, но не всегда обобщают так же, как базовые алгоритмы. Например, эта статья показывает, что SGD может обобщать лучше, чем оптимизатор ADAM. Это также может быть в случае с некоторыми алгоритмами оптимизации второго порядка.
[Редактировать] Удален первый пункт, так как он здесь не применяется. Спасибо Bayerj за указание на это.
источник