Сокращение потерь: скорость обучения

Как уже отмечалось, вектор градиента имеет как направление, так и величину. Алгоритмы градиентного спуска умножают градиент на скаляр, известный как скорость обучения (также иногда называемый размером шага ), чтобы определить следующую точку. Например, если величина градиента равна 2,5, а скорость обучения — 0,01, то алгоритм градиентного спуска выберет следующую точку на расстоянии 0,025 от предыдущей точки.

Гиперпараметры — это ручки, которые программисты настраивают в алгоритмах машинного обучения. Большинство программистов машинного обучения тратят немало времени на настройку скорости обучения. Если вы выберете слишком низкую скорость обучения, обучение займет слишком много времени:

Та же U-образная кривая. Многие точки расположены очень близко друг к другу, и их след очень медленно продвигается к нижней части U.

Рисунок 6. Скорость обучения слишком мала.

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

Та же U-образная кривая. Здесь очень мало пунктов. След точек пересекает нижнюю часть буквы U, а затем снова перепрыгивает обратно.

Рисунок 7. Скорость обучения слишком велика.

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

Та же U-образная кривая. След точек доходит до минимальной точки примерно за восемь шагов.

Рисунок 8. Скорость обучения идеальная.