Темп обучения
В машинном обучении и статистике, темп обучения (learning rate) — настраиваемый параметр алгоритма оптимизации, который определяет размер шага на каждой итерации, при движении к минимуму функции потерь. Поскольку он влияет на то, в какой степени вновь полученная информация превосходит старую, он метафорически представляет скорость, с которой модель машинного обучения «обучается». В литературе, посвященной адаптивному управлению, темп обучения обычно называется приростом (gain).

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

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

График темпа обучения 

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

Затухание контролируется гиперпараметром, служит для остановки обучения в хорошем месте и избегания колебаний, ситуации, которая может возникнуть, когда из-за слишком высокого постоянного темпа обучения происходит перепрыгивание взад и вперед через минимум 

Импульс является аналогом мяча, катящегося вниз по холму; мы хотим, чтобы мяч остановился в самой низкой точке холма (соответствующей самой маленькой ошибке). Импульс ускоряет обучение (увеличивая темп обучения), когда ошибка градиента потерь движется в том же направлении в течение долгого времени и также избегает локальные минимумы 'перекатываясь' через маленькие бугорки. Импульс контролируется с помощью гиперпараметра, который является аналогом массы мяча и должен быть установлен вручную — слишком высокое значение и мяч перекатится через минимум, который мы желаем найти, слишком низкое значение и он не выполнит своего назначения. Формула учитывающая импульс более сложная чем формула, учитывающая затухание, но в большинстве случаев встроена в библиотеки глубокого обучения, такие как Keras.

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

где  — это темп обучения,  — параметр затухания и  — шаг итерации.

Основанный на шаге график обучения изменяет темп обучения в соответствии с предопределенными шагами. Формула с применением затухания определяется следующим образом:

где  — это темп обучения в итерации ,  — изначальный темп обучения,  соответствует величине изменения темпа обучения на каждом шаге (0.5 соответствует делению пополам) и  соответствует частоте сброса или тому, как часто следует сбрасывать темп (10 соответствует сбросу каждые 10 шагов).

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

где  — параматр затухания.

Адаптируемый темп обучения 
Проблемой графиков темпа обучения является то, что они все зависят от гиперпараметров, которые должны быть вручную выбраны для каждого обучения и могут сильно варьироваться в зависимости от проблемы и используемой модели. Для того, чтобы бороться с этим, существует множество типов  градиентного спуска, таких как Adagrad, Adadelta, RMSprop, и Adam, которые обычно встроены в библиотеки глубоко обучения, такие как Keras.

См. также 

 Гиперпараметр (машинное обучение)
 Оптимизация гиперпараметров
 Стохастический градиентный спуск
 Квазиньютоновские методы
 Переобучение
 Метод обратного распространения ошибки
 Автоматическое машинное обучение
 Выбор статистической модели
 Автонастройка

Примечания

К дальнейшему прочтению

Ссылки 

 

Машинное обучение
Выбор модели
Алгоритмы и методы оптимизации