Метод градиентного спуска
Идея метода
Метод градиентного спуска (gradient descent [1]) минимизирует функцию потерь, итеративно сдвигая веса на антиградиент этой функции с небольшим весом.
Псевдокод метода:
инициализируе м случайно
пока не выполнено условие остановки:
Здесь - гиперпараметр, характеризующий шаг обновления весов (learning rate). Он выбирается небольшой константой.
В качестве условия остановки обычно выбирается условие, что от итерации к итерации функция потерь перестаёт существенно меняться. Также можно допустить досрочное окончание оптимизации, если достигнуто максимальное число итераций.
Поскольку антиградиент показывает локальное направление максимального уменьшения функции, метод градиентного спуска можно уподобить путнику, заблудившемуся ночью в горах, который, пытаясь спуститься вниз как можно быстрее, каждый раз делает шаг в направлении наиболее крутого склона.
Кстати, так можно и скатиться с обрыва! Чтобы не улететь, путник использует альпинистское снаряжение, чтобы упасть не больше чем на длину страхующей веревки. Аналогично и в методе градиентного спуска, если рельеф функции потерь резко меняется, то можно допускать сдвиги по величие не больше, чем на заранее заданный порог безопасности, ограничивая норму градиента, на который осуществляют сдвиг:
Такой подход называется