Jump to content

Поиск строки с возвратом

(Перенаправлено из правила Армихо )

В (неограниченной) математической оптимизации поиск по строке с возвратом — это метод поиска по строке, позволяющий определить величину перемещения в заданном направлении поиска . Для его использования необходимо, чтобы целевая функция была дифференцируемой и был известен ее градиент .

Метод предполагает начинать с относительно большой оценки размера шага движения вдоль направления поиска линии и итеративно уменьшать размер шага (т. е. «возврат») до тех пор, пока не будет наблюдаться уменьшение целевой функции, адекватно соответствующее величине ожидаемое уменьшение, исходя из размера шага и локального градиента целевой функции. Распространенным критерием остановки является условие Армийо – Гольдштейна.

Поиск линии с возвратом обычно используется для градиентного спуска (GD), но его также можно использовать в других контекстах. Например, его можно использовать с методом Ньютона , если матрица Гессе положительно определена .

Мотивация

[ редактировать ]

Учитывая исходную позицию и направление поиска , задача поиска строки – определить размер шага что адекватно снижает целевую функцию (предполагается т.е. непрерывно дифференцируемый ), т.е. найти значение это уменьшает относительно . Однако обычно нежелательно тратить значительные ресурсы на поиск значения точно минимизировать . Это связано с тем, что вычислительные ресурсы, необходимые для поиска более точного минимума в одном конкретном направлении, вместо этого могут быть использованы для определения лучшего направления поиска. Как только в результате поиска линии будет определена улучшенная отправная точка, обычно будет выполняться еще один последующий поиск линии в новом направлении. Цель, таким образом, состоит в том, чтобы просто определить значение который обеспечивает разумное улучшение целевой функции, вместо того, чтобы найти фактическое минимизирующее значение .

Поиск линии с возвратом начинается с большой оценки и итеративно сжимает его. Сокращение продолжается до тех пор, пока не будет найдено значение, достаточно маленькое, чтобы обеспечить уменьшение целевой функции, которое адекватно соответствует ожидаемому уменьшению на основе градиента локальной функции.

Определить локальный наклон функции по направлению поиска как (где обозначает скалярное произведение ). Предполагается, что – вектор, для которого возможно некоторое локальное уменьшение, т. е. предполагается, что .

На основе выбранного параметра управления , условие Армихо–Гольдштейна проверяет, будет ли пошаговое движение от текущей позиции на измененную позицию достигается адекватное соответствующее уменьшение целевой функции. Условие выполняется, см. Armijo (1966) , если

Это условие, при правильном использовании в рамках поиска по строке, может гарантировать, что размер шага не будет слишком большим. Однако одного этого условия недостаточно для того, чтобы размер шага был близок к оптимальному, поскольку любое значение достаточно малое, будет удовлетворять условию.

Таким образом, стратегия поиска линии с возвратом начинается с относительно большого размера шага и многократно сокращает его в раз. до тех пор, пока не будет выполнено условие Армийо–Гольдштейна.

Поиск завершится через конечное число шагов для любых положительных значений и которые меньше 1. Например, Армихо использовал 1 2 для обоих и в Армихо (1966) .

Алгоритм

[ редактировать ]

Это условие взято из Армихо (1966) . Начиная с максимального значения потенциального размера шага , используя параметры управления поиском и , алгоритм поиска строки с возвратом можно выразить следующим образом:

  1. Набор и счетчик итераций .
  2. Пока не будет выполнено условие многократно увеличивать и установить
  3. Возвращаться как решение.

Другими словами, уменьшить в разы на каждой итерации до тех пор, пока не будет выполнено условие Армийо–Гольдштейна.

Минимизация функции с использованием поиска строки с возвратом на практике

[ редактировать ]

На практике приведенный выше алгоритм обычно повторяется для создания последовательности , , сходиться к минимуму, если такой минимум существует и выбирается соответствующим образом на каждом этапе. Для градиентного спуска выбран как .

Стоимость для удовлетворяющее условию Армихо–Гольдштейна, зависит от и , и поэтому обозначается ниже . Это также зависит от , , и конечно, хотя эти зависимости можно оставить неявными, если предположить, что они фиксированы по отношению к задаче оптимизации.

Подробные шаги см. в Armijo (1966) , Bertsekas (2016) :

  1. Выберите начальную отправную точку и установите счетчик итераций .
  2. Пока не будет выполнено какое-либо условие остановки, выберите направление спуска. , обновите позицию до и приращение .
  3. Возвращаться как минимизирующее положение и как минимум функции.

Для обеспечения хорошего поведения необходимо, чтобы некоторые условия были соблюдены. . Грубо говоря не должно быть слишком далеко от . Точная версия такова (см., например, Берцекас (2016) ). Есть константы так, чтобы выполнялись следующие два условия:

  1. Для всех n, . Здесь, является евклидовой нормой . (Это гарантирует, что если , тогда также . В более общем смысле, если , тогда также .) Более строгий вариант требует еще и обратного неравенства: для положительной константы .
  2. Для всех n, . (Это условие гарантирует, что направления и похожи.)

Нижняя граница скорости обучения

[ редактировать ]

Это решает вопрос, существует ли систематический способ найти положительное число. - в зависимости от функции f точка и направление спуска - чтобы все темпы обучения удовлетворить условие Армихо. Когда , мы можем выбрать в порядке , где — локальная константа Липшица для градиента рядом с точкой (см. липшицеву непрерывность ). Если функция , затем близок к гессиану функции в точке . см. в Armijo (1966) Более подробную информацию .

Верхняя граница скорости обучения

[ редактировать ]

В той же ситуации, когда , интересный вопрос: насколько большие скорости обучения можно выбрать в условиях Армихо (т. е. когда нет ограничения на как определено в разделе «Минимизация функции с использованием поиска по строке с возвратом на практике»), поскольку более высокие скорости обучения при находится ближе к предельной точке (если она существует), может ускорить сходимость. Например, в условиях Вульфа нет упоминания о но вводится еще одно условие, называемое условием кривизны.

Показано, что верхняя граница скорости обучения существует, если кто-то хочет, чтобы построенная последовательность сходится к невырожденной критической точке , см. Truong & Nguyen (2020) : Скорость обучения должна быть примерно ограничена сверху . Здесь H — гессиан функции в предельной точке, является его обратным , и является нормой линейного оператора . Таким образом, этот результат применим, например, при использовании поиска по строке с возвратом для функций Морзе . Обратите внимание, что в размерности 1 является числом, и, следовательно, эта верхняя граница имеет тот же размер, что и нижняя граница в разделе «Нижняя граница скорости обучения».

С другой стороны, если предельная точка вырождена, то скорость обучения может быть неограниченной. Например, модификация поиска линии с обратным отслеживанием, известная как градиентный спуск с неограниченным обратным отслеживанием (см. Truong & Nguyen (2020) ), позволяет уменьшить скорость обучения вдвое. , где является константой. Экспериментируйте с простыми функциями, такими как показывают, что неограниченный градиентный спуск с возвратом сходится намного быстрее, чем базовая версия, описанная в разделе «Минимизация функции с использованием поиска линии с возвратом на практике».

Эффективность времени

[ редактировать ]

Аргументом против использования поиска по строке с возвратом, особенно при крупномасштабной оптимизации, является то, что выполнение условия Армихо обходится дорого. Существует способ обхода (так называемый двусторонний возврат) с хорошими теоретическими гарантиями, который был протестирован с хорошими результатами на глубоких нейронных сетях , см. Truong & Nguyen (2020) . (Там также можно найти хорошие/стабильные реализации условия Армихо и его комбинации с некоторыми популярными алгоритмами, такими как Momentum и NAG, на таких наборах данных, как Cifar10 и Cifar100.) Можно заметить, что если последовательность сходится (по желанию, когда используется метод итеративной оптимизации), тогда последовательность скоростей обучения должно мало меняться, когда n достаточно велико. Поэтому в поисках , если всегда начинать с , можно было бы потратить много времени, если бы оказалось, что последовательность остается далеко от . Вместо этого следует искать начиная с . Второе наблюдение заключается в том, что может быть больше, чем , и, следовательно, следует позволить увеличить скорость обучения (а не просто уменьшить, как в разделе «Алгоритм»). Вот подробный алгоритм двустороннего поиска с возвратом: на шаге n

  1. Набор . Набор и счетчик итераций .
  2. (Увеличьте скорость обучения, если условие Армихо удовлетворено.) Если , то пока это условие и условие, что довольны, неоднократно ставили и увеличить j.
  3. (В противном случае уменьшите скорость обучения, если условие Армихо не удовлетворяется.) Если наоборот , то до тех пор, пока не будет выполнено условие многократно увеличивать и установить
  4. Возвращаться за скорость обучения .

Nocedal & Wright (2000) можно найти описание алгоритма с 1), 3) и 4) выше, который не тестировался в глубоких нейронных сетях до цитируемой статьи.)

Можно еще больше сэкономить время, используя гибридную смесь двустороннего обратного отслеживания и базового стандартного алгоритма градиентного спуска. Эта процедура также имеет хорошую теоретическую гарантию и хорошие результаты испытаний. Грубо говоря, мы запускаем двусторонний возврат несколько раз, а затем используем полученную скорость обучения без изменений, за исключением случаев, когда значение функции увеличивается. Вот как именно это делается. Один заранее выбирает номер и число .

  1. Установите счетчик итераций j=0.
  2. На ступеньках , используйте двусторонний возврат.
  3. На каждом шаге k множества : Набор . Если , затем выберите и . (Итак, в этом случае используйте скорость обучения без изменений.) В противном случае, если , используйте двусторонний возврат. Увеличьте k на 1 и повторите.
  4. Увеличьте j на 1.

Теоретическая гарантия (для градиентного спуска)

[ редактировать ]

По сравнению с более сложными условиями Вулфа, условие Армихо имеет лучшую теоретическую гарантию. Действительно, до сих пор поиск линии с возвратом и его модификации являются наиболее теоретически гарантированными методами среди всех алгоритмов численной оптимизации относительно сходимости к критическим точкам и предотвращения седловых точек , см. ниже.

Критические точки — это точки, в которых градиент целевой функции равен 0. Локальные минимумы — это критические точки, но есть критические точки, которые не являются локальными минимумами. Примером являются седловые точки. Седловые точки — это критические точки, в которых существует хотя бы одно направление, в котором функция имеет (локальный) максимум. Следовательно, эти точки далеки от локальных минимумов. Например, если функция имеет хотя бы одну седловую точку, то она не может быть выпуклой . Актуальность седловых точек для алгоритмов оптимизации заключается в том, что при крупномасштабной (т.е. многомерной) оптимизации можно увидеть больше седловых точек, чем минимумов, см. Bray & Dean (2007) . Следовательно, хороший алгоритм оптимизации должен позволять избегать седловых точек. В условиях глубокого обучения также распространены седловые точки, см. Dauphin et al. (2014) . Таким образом, чтобы применить его в глубоком обучении, нужны результаты для невыпуклых функций.

Для сходимости к критическим точкам: Например, если функция стоимости является действительной аналитической функцией показано , то в Absil, Mahony & Andrews (2005) , что сходимость гарантирована. Основная идея состоит в том, чтобы использовать неравенство Лоясевича , которым обладает действительная аналитическая функция. Для негладких функций, удовлетворяющих неравенству Лоясевича , указанная выше гарантия сходимости расширяется, см. Attouch, Bolte & Svaiter (2011) . В Берцекасе (2016) есть доказательство того, что для каждой последовательности, построенной путем поиска строки с возвратом, точка кластера (т. е. предел одной подпоследовательности , если подпоследовательность сходится) является критической точкой. Для случая функции с не более чем счетным числом критических точек (например, функция Морса ) и компактными подуровнями , а также с липшицевым непрерывным градиентом, где используется стандартный ГД со скоростью обучения <1/L (см. раздел «Стохастический градиент» спуск»), то сходимость гарантирована, см., например, главу 12 в Lange (2013) . Здесь предположение о компактных подуровнях состоит в том, чтобы иметь дело только с компактами евклидова пространства. В общем случае, когда предполагается только и имеют не более счетного числа критических точек, сходимость гарантирована, см. Truong & Nguyen (2020) . В той же ссылке сходимость аналогичным образом гарантируется и для других модификаций поиска линий с возвратом (таких как неограниченный градиентный спуск с возвратом, упомянутый в разделе «Верхняя граница скорости обучения»), и даже если функция имеет несчетное количество критических точек, все равно можно вывести некоторые нетривиальные факты о поведении конвергенции. В стохастической ситуации, при том же предположении, что градиент является липшицевым непрерывным, и используется более ограничительная версия (требующая, кроме того, чтобы сумма скоростей обучения была бесконечной, а сумма квадратов скоростей обучения была конечной) схемы убывающей скорости обучения. (см. раздел «Стохастический градиентный спуск») и, кроме того, функция строго выпуклая, то сходимость устанавливается в известном результате Роббинса и Монро (1951) , см. Берцекас и Цициклис (2006) для обобщений на менее ограничительные версии схема снижения скорости обучения. Ни один из этих результатов (для невыпуклых функций) до сих пор не был доказан ни для одного другого алгоритма оптимизации. [ нужна ссылка ]

Во избежание седловых точек: Например, если градиент функции стоимости непрерывен по Липшицу и выбран стандартный GD со скоростью обучения <1/L, то при случайном выборе начальной точки (точнее, вне множества нулевой меры Лебега ), построенная последовательность не будет сходиться к невырожденной седловой точке (доказано Ли и др. (2016) ), и, в более общем плане, также верно, что построенная последовательность будет не сходятся к вырожденной седловой точке (доказано в Panageas & Piliouras (2017) ). установлено избегание седловых точек При том же предположении, что градиент является липшицевым непрерывным и используется схема уменьшающейся скорости обучения (см. раздел «Стохастический градиентный спуск»), в Панагеасе, Пилиурасе и Ванге (2019) .

Особый случай: (стандартный) стохастический градиентный спуск (SGD).

[ редактировать ]

Хотя тривиально отметить, что если градиент функции стоимости является липшицевым непрерывным, с константой Липшица L, то при выборе скорости обучения постоянной и размером , существует особый случай поиска линии с возвратом (для градиентного спуска). Это использовалось, по крайней мере, в Армихо (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 – оба требуют, чтобы градиент целевой функции был липшицевым непрерывным, оказываются частным случаем поиска линии с возвратом или удовлетворить условие Армихо. Хотя априори для применения этого метода необходимо, чтобы функция стоимости была непрерывно дифференцируемой, на практике этот метод можно успешно применить и для функций, которые непрерывно дифференцируемы на плотном открытом подмножестве, например или .

См. также

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d7091406776f03e985bfff5ca04f2758__1722186540
URL1:https://arc.ask3.ru/arc/aa/d7/58/d7091406776f03e985bfff5ca04f2758.html
Заголовок, (Title) документа по адресу, URL1:
Backtracking line search - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)