Классы точек стационарности
Рассмотрим точки стационарности w∗, в которых градиент оптимизируемой функции становится в точности равным нулю:
∇L(w∗)=0
Мы минимизируем функцию потерь L(w) по весам модели w∈RK:
L(w)→wmin
Разложение Тейлора 2-го порядка [1] для L(w) имеет вид:
L(w^)≈L(w)+ΔwT∇L(w)+21ΔwT∇2L(w)Δw,
где
-
Δw=w^−w;
-
∇L(w)∈RK - градиент функции (вектор из частных производных по каждому весу);
-
∇2L(w)∈RK×K - матрица Гессе (Гессиан) из вторых производных {∂wi∂wjL(w^)}i,j.
Если раскладывать функцию потерь в стационарной точке w∗, то разложение Тейлора [1] примет вид:
L(w^)≈L(w∗)+21ΔwT∇2L(w∗)Δw,(2)
Гессиан, будучи симметричной матрицей, имеет ортонормированный базис из собственных векторов u1,...uK с собственными значениями λ1,...λK [2]:
∇2L(w∗)ui=λiui,i=1,2,....K,
uiTuj={1, если i=j,0, если i=j.
Разложим Δw=w^−w∗ по базису из собственных векторов:
Δw=k∑αkuk
Подставив это разложение в (2), получим:
L(w^)−L(w∗)≈21(k∑αkuk)T∇2L(w∗)(k∑αkuk)=21(k∑αkuk)T(k∑αkλkuk)=21k∑λkαk2
Отсюда видно, что точка стационарности w∗ может являться:
-
точкой минимума, когда все λi положительны (Гессиан - положительно определённая матрица);
-
точкой максимума, когда все λi отрицательны (Гессиан - отрицательно определённая матрица);
-
точкой перегиба, когда часть собственных значений положительна, а часть отрицательна.
Точки перегиба часто возникают при минимизации невыпуклых функций и затрудняют работу градиентных методов оптимизации, поскольку градиент в их окрестности становится малым, и обучение происходит медленно. Чтобы с этим бороться, нужно использовать методы оптимизации с инерцией - методы SGD+momentum или Adam.
Литература
-
Wikipedia: Теорема Тейлора.
-
Wikipedia: Спектральное разложение матрицы.