Как модели на самом деле обучаются — от обычного градиентного спуска до Adam
RMSProp подстраивает размер шага отдельно для каждого параметра. Он отслеживает скользящее среднее квадратов градиентов, а затем делит градиент на корень из этого среднего.
Эффект прост: координаты с устойчиво большими градиентами получают меньшие эффективные шаги; координаты с маленькими градиентами получают относительно большие шаги. Это помогает, когда масштабы градиентов сильно различаются.
Представьте заводские конвейерные ленты, несущие пакеты разного веса. Если каждая лента движется по одной и той же «сырой» команде мотора, тяжёлые линии могут дёргаться рывками, а лёгкие едва заметно сдвигаются. RMSProp следит за нагрузкой каждой ленты и масштабирует команду для неё отдельно. Фигура ниже показывает ту геометрию, с которой борется RMSProp: вытянутую чашу, где градиенты по одной координате устойчиво больше, чем по другой. RMSProp сжимает шаги крутой координаты и, относительно, увеличивает шаги пологой.