Автор: Александр Гончаренко Редактура: Александр Наздрюхин

Обозначения

Для начала вспомним обозначения из нашей прошлой статьи: $θ$ — веса модели;

$η$ — learning rate;

$∇J(θ)$ — градиент loss функции по весам;

EWMA — Exponentially Weighted Moving Average.

Еще мы будем использовать обозначение $∝$ — равенство размерностей (в физическом смысле). Например, $m∝кг$.

Adadelta

Теперь давайте обратимся к формуле обновления весов для ADAGRAD и RMSprop. Разница между ними только в расчете $G$.

$θ= θ−\frac{η}{\sqrt{G +\epsilon}}∇J(θ)$ $(1)$

Для ADAGRAD мы берем сумму квадратов градиентов:

$G=G+∇J^2(θ)$

А для RMSpropEWMA квадратов градиентов:

$G=rG+(1-r)∇J^2(θ)$

Концептуальная проблема этих двух оптимизаторов — неправильная размерность обновления весов.

Давайте считать $p$ размерностью весов. Подставляем ее в формулу и получаем:

$\Deltaθ= \frac{η}{\sqrt{G +\epsilon}}∇J(θ)∝\frac{1}{\sqrt{{p'^2} +0}}p'∝\frac{p'}{p'}∝1$ $(2)$

Хотя на самом деле $\Deltaθ∝p$, а значит, размерности не совпадают.

Посмотрим, как создатели Adadelta решают эту проблему.

Для этого вспомним о методе Ньютона — методе оптимизации второго порядка (то есть в данном методе используются вторые производные).