Эта статья включает список ссылок , связанных материалов или внешних ссылок , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Сентябрь 2020 г. ) |
В (неограниченной) математической оптимизации возвратный линейный поиск — это метод линейного поиска для определения величины перемещения в заданном направлении поиска . Его использование требует, чтобы целевая функция была дифференцируемой и чтобы ее градиент был известен.
Метод включает в себя начало с относительно большой оценки размера шага для движения вдоль направления поиска линии и итеративное уменьшение размера шага (т. е. «возврат») до тех пор, пока не будет наблюдаться уменьшение целевой функции, адекватно соответствующее ожидаемому значению уменьшения, исходя из размера шага и локального градиента целевой функции. Обычным критерием остановки является условие Армихо–Гольдштейна.
Поиск с возвратом обычно используется для градиентного спуска (GD), но его можно использовать и в других контекстах. Например, его можно использовать с методом Ньютона , если матрица Гессе положительно определена .
При заданной начальной позиции и направлении поиска задача линейного поиска состоит в определении размера шага , который адекватно уменьшает целевую функцию (предполагается, что она непрерывно дифференцируема ), т. е. в нахождении значения , которое уменьшает относительно . Однако обычно нежелательно выделять значительные ресурсы на нахождение значения , чтобы точно минимизировать . Это связано с тем, что вычислительные ресурсы, необходимые для нахождения более точного минимума вдоль одного конкретного направления, можно было бы вместо этого использовать для определения лучшего направления поиска. После того как линейный поиск определил улучшенную начальную точку, обычно выполняется еще один последующий линейный поиск в новом направлении. Таким образом, цель состоит в том, чтобы просто определить значение , которое обеспечивает разумное количество улучшения целевой функции, а не найти фактическое минимизирующее значение .
Поиск линии обратного отслеживания начинается с большой оценки и итеративно сжимает ее. Сжатие продолжается до тех пор, пока не будет найдено значение, достаточно малое для обеспечения уменьшения целевой функции, которое адекватно соответствует уменьшению, которое, как ожидается, будет достигнуто на основе локального градиента функции
Определим локальный наклон функции вдоль направления поиска как (где обозначает скалярное произведение ). Предполагается, что — вектор, для которого возможно некоторое локальное убывание, т.е. предполагается, что .
На основе выбранного параметра управления условие Армихо–Голдстейна проверяет, достигает ли пошаговое движение от текущего положения к измененному положению адекватного соответствующего уменьшения целевой функции. Условие выполняется, см. Армихо (1966), если
Это условие, при правильном использовании в качестве части линейного поиска, может гарантировать, что размер шага не будет чрезмерно большим. Однако этого условия недостаточно для того, чтобы гарантировать, что размер шага близок к оптимальному, поскольку любое значение , которое достаточно мало, будет удовлетворять условию.
Таким образом, стратегия поиска с возвратом начинается с относительно большого размера шага и многократно уменьшает его на один множитель до тех пор, пока не будет выполнено условие Армихо–Гольдштейна.
Поиск завершится после конечного числа шагов для любых положительных значений и , которые меньше 1. Например, Армихо использовал 1 ⁄ 2 для обоих и в работе Армихо (1966).
Это условие взято из Armijo (1966). Начиная с максимального значения размера шага кандидата , используя параметры управления поиском и , алгоритм поиска линии обратного отслеживания может быть выражен следующим образом:
Другими словами, уменьшайте на коэффициент в каждой итерации, пока не будет выполнено условие Армихо–Гольдштейна.
На практике вышеприведенный алгоритм обычно повторяется для получения последовательности , , сходимости к минимуму, при условии, что такой минимум существует и выбирается соответствующим образом на каждом шаге. Для градиентного спуска выбирается как .
Значение для , которое удовлетворяет условию Армихо–Гольдштейна, зависит от и , и поэтому обозначается ниже как . Оно также зависит от , , и , конечно, хотя эти зависимости можно оставить неявными, если предположить, что они фиксированы по отношению к задаче оптимизации.
Подробные шаги, таким образом, приведены в работах Армийо (1966), Берцекас (2016):
Для обеспечения хорошего поведения необходимо, чтобы некоторые условия были выполнены . Грубо говоря, не должно быть слишком далеко от . Точная версия выглядит следующим образом (см., например, Bertsekas (2016)). Существуют константы , так что выполняются следующие два условия:
Это решает вопрос, существует ли систематический способ найти положительное число — в зависимости от функции f, точки и направления спуска — так, чтобы все скорости обучения удовлетворяли условию Армихо. Когда , мы можем выбрать в порядке , где — локальная константа Липшица для градиента вблизи точки (см. непрерывность Липшица ). Если функция равна , то близка к гессиану функции в точке . Подробнее см. Armijo (1966).
В той же ситуации, когда , интересным вопросом является то, насколько большие скорости обучения могут быть выбраны в условии Армихо (то есть, когда нет ограничения на , как определено в разделе «Минимизация функции с использованием обратного линейного поиска на практике»), поскольку большие скорости обучения, когда ближе к предельной точке (если она существует), могут ускорить сходимость. Например, в условиях Вульфа нет упоминания о , но вводится другое условие, называемое условием кривизны.
Показано, что верхняя граница для скоростей обучения существует, если требуется, чтобы построенная последовательность сходилась к невырожденной критической точке , см. Truong & Nguyen (2020): Скорости обучения должны быть ограничены сверху примерно величиной . Здесь H — гессиан функции в предельной точке, — ее обратная , а — норма линейного оператора . Таким образом, этот результат применим, например, при использовании поиска с возвратом для функций Морса . Обратите внимание, что в размерности 1 — число, и, следовательно, эта верхняя граница имеет тот же размер, что и нижняя граница в разделе «Нижняя граница для скоростей обучения».
С другой стороны, если предельная точка вырождена, то скорости обучения могут быть неограниченными. Например, модификация обратного линейного поиска, известная как неограниченный обратный градиентный спуск (см. Truong & Nguyen (2020)) позволяет уменьшить скорость обучения вдвое по сравнению с , где — константа. Эксперименты с простыми функциями, такими как показывают, что неограниченный обратный градиентный спуск сходится намного быстрее, чем базовая версия, описанная в разделе «Минимизация функции с использованием обратного линейного поиска на практике».
Аргументом против использования линейного поиска с возвратом, в частности, в масштабной оптимизации, является то, что удовлетворение условия Армихо требует больших затрат. Существует способ (так называемый двухсторонний возврат), чтобы обойти его, с хорошими теоретическими гарантиями, и он был протестирован с хорошими результатами на глубоких нейронных сетях , см. Truong & Nguyen (2020). (Там можно найти также хорошие/стабильные реализации условия Армихо и его комбинации с некоторыми популярными алгоритмами, такими как Momentum и NAG, на таких наборах данных, как Cifar10 и Cifar100.) Можно заметить, что если последовательность сходится (как и хотелось бы при использовании итеративного метода оптимизации), то последовательность скоростей обучения должна мало меняться, когда n достаточно велико. Поэтому, если при поиске всегда начинать с , можно было бы потратить много времени, если бы оказалось, что последовательность остается далеко от . Вместо этого следует искать , начиная с . Второе наблюдение заключается в том, что может быть больше, чем , и, следовательно, следует разрешить увеличить скорость обучения (а не просто уменьшить, как в разделе Алгоритм). Вот подробный алгоритм для двустороннего обратного отслеживания: На шаге n
(В работе Nocedal & Wright (2000) можно найти описание алгоритма с 1), 3) и 4) выше, который не был протестирован в глубоких нейронных сетях до цитируемой статьи.)
Можно сэкономить время еще больше, используя гибридную смесь между двухсторонним возвратом и базовым стандартным алгоритмом градиентного спуска. Эта процедура также имеет хорошую теоретическую гарантию и хорошую производительность при тестировании. Грубо говоря, мы запускаем двухсторонний возврат несколько раз, затем используем скорость обучения, которую мы получаем из этого, без изменений, за исключением случаев, когда значение функции увеличивается. Вот как это делается. Заранее выбираем число и число .
По сравнению с условиями Вульфа, которые сложнее, условие Армихо имеет лучшую теоретическую гарантию. Действительно, до сих пор бэктрекинговый линейный поиск и его модификации являются наиболее теоретически гарантированными методами среди всех численных алгоритмов оптимизации, касающихся сходимости к критическим точкам и избегания седловых точек , см. ниже.
Критические точки — это точки, в которых градиент целевой функции равен 0. Локальные минимумы — это критические точки, но есть критические точки, которые не являются локальными минимумами. Примером являются седловые точки. Седловые точки — это критические точки, в которых есть по крайней мере одно направление, где функция достигает (локального) максимума. Следовательно, эти точки далеки от локальных минимумов. Например, если функция имеет по крайней мере одну седловую точку, то она не может быть выпуклой . Значимость седловых точек для алгоритмов оптимизации заключается в том, что при крупномасштабной (т. е. многомерной) оптимизации, скорее всего, можно увидеть больше седловых точек, чем минимумов, см. Bray & Dean (2007). Следовательно, хороший алгоритм оптимизации должен уметь избегать седловых точек. В условиях глубокого обучения седловые точки также распространены, см. Dauphin et al. (2014). Таким образом, для применения в глубоком обучении нужны результаты для невыпуклых функций.
Для сходимости к критическим точкам: Например, если функция стоимости является действительной аналитической функцией , то в работе Absil, Mahony & Andrews (2005) показано, что сходимость гарантирована. Основная идея заключается в использовании неравенства Лоясевича , которым обладает действительная аналитическая функция. Для негладких функций, удовлетворяющих неравенству Лоясевича , указанная выше гарантия сходимости распространяется, см. Attouch, Bolte & Svaiter (2011). В работе Bertsekas (2016) есть доказательство того, что для каждой последовательности, построенной с помощью поиска с возвратом, точка кластера (т. е. предел одной подпоследовательности , если подпоследовательность сходится) является критической точкой. Для случая функции с не более чем счетным числом критических точек (например, функция Морса ) и компактными подуровнями , а также с непрерывным градиентом Липшица, где используется стандартный GD со скоростью обучения <1/L (см. раздел «Стохастический градиентный спуск»), то сходимость гарантируется, см., например, главу 12 в Lange (2013). Здесь предположение о компактных подуровнях состоит в том, чтобы убедиться, что мы имеем дело только с компактными множествами евклидова пространства. В общем случае, когда предполагается только, что и имеет не более чем счетное число критических точек, сходимость гарантируется, см. Truong & Nguyen (2020). В той же ссылке аналогичным образом сходимость гарантируется для других модификаций обратного линейного поиска (например, неограниченного обратного градиентного спуска, упомянутого в разделе «Верхняя граница для скоростей обучения»), и даже если функция имеет несчетное число критических точек, все равно можно вывести некоторые нетривиальные факты о поведении сходимости. В стохастической постановке, при том же предположении, что градиент является непрерывным по Липшицу, и используется более строгая версия (требующая, кроме того, чтобы сумма скоростей обучения была бесконечной, а сумма квадратов скоростей обучения — конечной) схемы убывающей скорости обучения (см. раздел «Стохастический градиентный спуск»), и, кроме того, функция строго выпукла, то сходимость устанавливается в хорошо известном результате Robbins & Monro (1951), см. Bertsekas & Tsitsiklis (2006) для обобщений на менее строгие версии схемы убывающей скорости обучения. Ни один из этих результатов (для невыпуклых функций) не был доказан для какого-либо другого алгоритма оптимизации до сих пор. [ необходима цитата ]
Для избегания седловых точек: например, если градиент функции стоимости непрерывен по Липшицу и выбирается стандартный GD со скоростью обучения <1/L, то при случайном выборе начальной точки (точнее, за пределами множества нулевой меры Лебега ) построенная последовательность не будет сходиться к невырожденной седловой точке (доказано в Lee et al. (2016)), и в более общем случае также верно, что построенная последовательность не будет сходиться к вырожденной седловой точке (доказано в Panageas & Piliouras (2017)). При том же предположении, что градиент непрерывен по Липшицу и используется схема с убывающей скоростью обучения (см. раздел «Стохастический градиентный спуск»), то избегание седловых точек установлено в Panageas, Piliouras & Wang (2019).
Хотя это тривиально упомянуть, если градиент функции стоимости является непрерывным по Липшицу, с константой Липшица L, то при выборе скорости обучения постоянной и размера , мы имеем особый случай обратного линейного поиска (для градиентного спуска). Это использовалось по крайней мере в Armijo (1966). Однако эта схема требует, чтобы у нас была хорошая оценка для L, в противном случае, если скорость обучения слишком велика (относительно 1/L), то схема не имеет гарантии сходимости. Можно увидеть, что пойдет не так, если функция стоимости является сглаживанием (вблизи точки 0) функции f(t)=|t|. Такая хорошая оценка, однако, сложна и трудоемка в больших размерностях. Кроме того, если градиент функции не является глобально непрерывным по Липшицу, то эта схема не имеет гарантии сходимости. Например, это похоже на упражнение в работе Берцекаса (2016) для функции стоимости и любой выбранной постоянной скорости обучения, при случайной начальной точке последовательность, построенная по этой специальной схеме, не сходится к глобальному минимуму 0.
Если кого-то не волнует условие, что скорость обучения должна быть ограничена 1/L, то эта специальная схема использовалась гораздо раньше, по крайней мере с 1847 года Коши , которую можно назвать стандартным GD (не путать со стохастическим градиентным спуском, который здесь сокращенно обозначается как SGD). В стохастической обстановке (например, в обстановке мини-пакетов в глубоком обучении) стандартный GD называется стохастическим градиентным спуском , или SGD.
Даже если функция стоимости имеет глобально непрерывный градиент, хорошая оценка константы Липшица для функций стоимости в глубоком обучении может быть невыполнимой или нежелательной, учитывая очень высокие размеры глубоких нейронных сетей . Следовательно, существует метод тонкой настройки скоростей обучения при применении стандартных GD или SGD. Один из способов — выбрать много скоростей обучения из поиска по сетке, в надежде, что некоторые из скоростей обучения могут дать хорошие результаты. (Однако, если функция потерь не имеет глобального непрерывного градиента Липшица, то пример выше показывает, что поиск по сетке не может помочь.) Другой способ — так называемый адаптивный стандартный GD или SGD, некоторые представители — Adam, Adadelta, RMSProp и т. д., см. статью о стохастическом градиентном спуске . В адаптивном стандартном GD или SGD скорости обучения могут меняться на каждом шаге итерации n, но иным образом, чем при обратном линейном поиске для градиентного спуска. По-видимому, было бы более затратно использовать линейный поиск с возвратом для градиентного спуска, поскольку нужно выполнять поиск по циклу до тех пор, пока не будет выполнено условие Армихо, в то время как для адаптивного стандартного GD или SGD поиск по циклу не нужен. Большинство из этих адаптивных стандартных GD или SGD не обладают свойством спуска для всех n, как и линейный поиск с возвратом для градиентного спуска. Только немногие обладают этим свойством, и которые обладают хорошими теоретическими свойствами, но они оказываются особыми случаями линейного поиска с возвратом или, в более общем смысле, условия Армихо Armijo (1966). Первый случай — когда выбирается скорость обучения как константа <1/L, как упоминалось выше, если можно получить хорошую оценку L. Второй случай — так называемая убывающая скорость обучения, используемая в известной статье Роббинса и Монро (1951), если снова функция имеет глобально непрерывный градиент Липшица (но константа Липшица может быть неизвестна), а скорости обучения сходятся к 0.
Подводя итог, можно сказать, что метод обратного поиска (и его модификации) является простым в реализации, применимым для очень общих функций, имеет очень хорошую теоретическую гарантию (как для сходимости к критическим точкам, так и для избегания седловых точек) и хорошо работает на практике. Несколько других методов, которые имеют хорошую теоретическую гарантию, такие как убывающие скорости обучения или стандартный GD со скоростью обучения <1/L – оба требуют, чтобы градиент целевой функции был непрерывным по Липшицу, оказываются особым случаем обратного поиска или удовлетворяют условию Армийо. Даже если априори требуется, чтобы функция стоимости была непрерывно дифференцируемой для применения этого метода, на практике этот метод можно успешно применять также для функций, которые непрерывно дифференцируемы на плотном открытом подмножестве, таком как или .
{{cite journal}}
: CS1 maint: date and year (link)