Словарь ИИ
Что такое скорость обучения
Коротко
Скорость обучения это число, которое задает, насколько сильно модель меняет свои веса на каждом шаге обучения.
Машинное обучение · learning rate
Михаил МозгПроверено: 1 минута чтения
Ребенку
Представь, что ты учишься кидать мяч в корзину. Промахнулся влево, и в следующий раз чуть-чуть доворачиваешь руку вправо. Если доворачивать совсем капельку, попадешь нескоро. Если дергать руку сильно, будешь мазать то справа, то слева. Нужно поправлять себя в меру. Компьютеру тоже говорят, насколько большими должны быть его поправки.
Простыми словами
После каждой порции примеров модель узнает, в какую сторону ей нужно измениться, чтобы ошибаться меньше. Но направление еще не говорит, насколько далеко шагнуть. Это решает отдельное число, скорость обучения. Маленькое значение дает осторожные шаги: обучение идет надежно, но долго. Большое ускоряет процесс, но модель может перепрыгивать нужную точку и так и не научиться. Поэтому часто начинают с крупных шагов и постепенно их уменьшают. Так паркуется водитель: издалека едет смело, а возле стены двигается сантиметрами.
Для бизнеса
От этого числа зависит, сколько стоит дообучение и получится ли оно вообще. Неудачное значение тратит часы видеокарт впустую: модель либо почти не учится, либо ломается и выдает мусор, и запуск приходится повторять. При дообучении готовой модели на ваших данных слишком резкие шаги стирают то, что она умела раньше, и ассистент начинает хуже отвечать на общие вопросы. Опытная команда подбирает значение на короткой пробе, а не на полном запуске, и показывает график ошибки. Попросите у подрядчика такой график и спросите, какие значения сравнивали. Если линия скачет или ошибка растет, обучение настроено плохо. Это удобно проверить на пилоте до оплаты полного объема.
Для специалиста
Скорость обучения (learning rate, η) это скалярный множитель шага в градиентных методах: θ := θ - η·g, где g оценка градиента функции потерь. Слишком большое η ведет к расходимости, слишком малое к медленной сходимости и застреванию на плато. Значение обычно меняют по расписанию (learning rate schedule): ступенчатое снижение, косинусное затухание, теплые перезапуски SGDR (Loshchilov, Hutter, 2016), линейный разогрев (warmup) в начале. Smith (2015) предложил циклическую скорость обучения, которая колеблется между двумя границами, и способ найти эти границы, линейно повышая η в течение нескольких эпох. Адаптивные оптимизаторы (AdaGrad, RMSProp, Adam) масштабируют шаг для каждого параметра по истории градиентов, но базовое η у них все равно задают вручную. При росте размера батча η нередко увеличивают пропорционально: Goyal и соавторы (2017) обучили сеть с батчем 8192 по такому линейному правилу. При дообучении (fine-tuning) η берут заметно меньше, чем при обучении с нуля.
Пример
Команда дообучает модель отвечать на вопросы по регламентам. С большим шагом ошибка через сотню итераций резко растет, и модель начинает повторять одни и те же слова. Шаг уменьшают в несколько раз, добавляют плавный разогрев, и обучение идет ровно.
Связанные термины
Вопросы и ответы
Какую скорость обучения выбрать?
Что будет, если скорость обучения слишком большая?
Источники
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений