Проблемы оптимизации нейронных сетей
247
Это верно для многих классов случайных функций. А для нейронных сетей? В ра-
боте Baldi and Hornik (1989) теоретически доказано, что мелкие автокодировщики
(описанные в главе 14 сети прямого распространения, обученные копировать вход
в выход) без нелинейностей имеют глобальные минимумы и седловые точки, но не
имеют локальных минимумов со стоимостью выше, чем в глобальном минимуме. Не
приводя доказательства, они заметили, что эти результаты обобщаются и на более
глубокие сети без нелинейностей. Выходом такой сети является линейная функция
от входа, но они полезны в качестве модели нелинейных нейронных сетей, поскольку
функция потерь такой сети – невыпуклая функция своих параметров. Подобные сети,
по существу, представляют собой просто композицию нескольких матриц. В работе
Saxe et al. (2013) приведены точные решения для полной динамики обучения такой
сети и показано, что обучение таких моделей улавливает многие качественные осо-
бенности, наблюдаемые при обучении глубоких моделей с нелинейными функциями
активации. В работе Dauphin et al. (2014) экспериментально показано, что у реальных
нейронных сетей также имеются функции потерь, содержащие очень много седловых
точек с высокой стоимостью. В работе Choromanska et al. (2014) приведены допол-
нительные теоретические аргументы, доказывающие, что это справедливо еще для
одного класса многомерных случайных функций, родственного нейронным сетям.
Каковы последствия изобилия седловых точек для алгоритмов обучения? В слу-
чае оптимизации первого порядка, когда используется только информация о гради-
енте, ситуация неясна. Градиент часто оказывается очень мал в окрестности седловой
точки. С другой стороны, есть эмпирические свидетельства в пользу того, что метод
градиентного спуска во многих случаях способен выйти из седловой точки. В работе
Goodfellow et al. (2015) наглядно показано несколько траекторий обучения современ-
ных нейронных сетей, один из таких примеров приведен на рис. 8.2. На этих рисунках
видно уплощение функции стоимости вблизи выраженной седловой точки, где все
веса равны нулю, но видно и то, что траектория градиентного спуска быстро поки-
дает этот участок. В той же работе высказывается предположение, что можно анали-
тически доказать, что седловая точка отталкивает, а не притягивает траекторию не-
прерывного по времени градиентного спуска, но что ситуация может оказаться иной
в более реалистичных случаях применения метода градиентного спуска.
Для метода Ньютона седловые точки представляют очевидную проблему. Идея
алгоритма градиентного спуска – «спуск с горы», а не явный поиск критических
точек. С другой стороны, метод Ньютона специально предназначен для поиска то-
чек с нулевым градиентом. Без надлежащей модификации он вполне может найти
седловую точку. Изобилие седловых точек в многомерных пространствах объясняет,
почему методы второго порядка не смогли заменить градиентный спуск в обучении
нейронных сетей. В работе Dauphin et al. (2014) описан
Do'stlaringiz bilan baham: