268
Оптимизация в обучении глубоких моделей
while
критерий остановки не выполнен
do
Вычислить градиент:
g
←
(1/
m
)
∇
θ
Σ
i
L
(
f
(
x
(
i
)
;
θ
),
y
(
i
)
)
Вычислить гессиан:
H
←
(1/
m
)
∇
θ
2
Σ
i
L
(
f
(
x
(
i
)
;
θ
),
y
(
i
)
)
Вычислить обратный гессиан:
H
–1
Вычислить обновление:
Δ
θ
= –
H
–1
g
Применить обновление:
θ
←
θ
+
Δ
θ
.
end while
В разделе 8.2.3 мы говорили, что метод Ньютона применим, только если матрица
Гессе положительно определенная. В глубоком обучении поверхность целевой функ-
ции обычно невыпуклая и имеет много особенностей типа седловых точек, с которы-
ми метод Ньютона не справляется. Если не все собственные значения гессиана по-
ложительны, например вблизи седловой точки, то метод Ньютона может произвести
обновление не в том направлении. Такую ситуацию можно предотвратить с помощью
регуляризации гессиана. Одна из распространенных стратегий регуляризации – при-
бавление константы
α
ко всем диагональным элементам гессиана. Тогда регуляризи-
рованное обновление принимает вид:
θ
*
=
θ
0
– [
H
(
f
(
θ
0
)) +
α
I
]
–1
∇
θ
f
(
θ
0
).
(8.27)
Эта стратегия регуляризации применяется в
аппроксимациях метода Ньютона,
например в алгоритме Левенберга–Марквардта (Levenberg, 1944; Marquardt, 1963),
и работает неплохо, если отрицательные собственные значения гессиана сравнитель-
но близки к нулю. Если же в некоторых направлениях кривизна сильнее, то значе-
ние
α
следует выбирать достаточно большим для компенсации отрицательных соб-
ственных значений. Однако по мере увеличения
α
в гессиане начинает доминировать
диагональ
α
I
, и направление,
выбранное методом Ньютона, стремится к стандарт-
ному градиенту, поделенному на
α
. При наличии сильной кривизны
α
должно быть
настолько большим, чтобы метод
Ньютона делал меньшие шаги, чем градиентный
спуск с подходящей скоростью обучения.
Помимо проблем, связанных с такими особенностями целевой функции, как сед-
ловые точки, применение метода Ньютона к обучению больших нейронных сетей ли-
митируется требованиями к вычислительным ресурсам. Число элементов гессиана
равно квадрату числа параметров, поэтому при
k
параметрах (а даже для совсем не-
большой нейронной сети параметры могут исчисляться миллионами) метод Ньюто-
на требует обращения матрицы размера
k
×
k
, а вычислительная сложность этой опе-
рации составляет
O
(
k
3
). Кроме того, поскольку параметры изменяются при каждом
обновлении, обратный гессиан нужно вычислять на каждой итерации обучения. По-
этому лишь сети с очень небольшим числом параметров
реально обучить методом
Ньютона. Далее в этом разделе мы обсудим альтернативы, смысл которых – восполь-
зоваться некоторыми достоинствами метода Ньютона, не взваливая на себя неподъ-
емного груза вычислений.
Do'stlaringiz bilan baham: