Перейти к основному содержимому

Классы точек стационарности

Рассмотрим точки стационарности w∗\mathbf{w}^*, в которых градиент оптимизируемой функции становится в точности равным нулю:

∇L(w∗)=0\nabla L(\mathbf{w}^*) = 0

Мы минимизируем функцию потерь L(w)L(\mathbf{w}) по весам модели w∈RK\mathbf{w}\in\mathbb{R}^K:

L(w)→min⁡wL(\mathbf{w})\to\min_\mathbf{w}

Разложение Тейлора 2-го порядка [1] для L(w)L(\mathbf{w}) имеет вид:

L(w^)≈L(w)+ΔwT∇L(w)+12ΔwT∇2L(w)Δw,L(\hat{\mathbf{w}})\approx L(\mathbf{w}) + \Delta \mathbf{w}^T \nabla L(\mathbf{w})+\frac{1}{2}\Delta \mathbf{w}^T \nabla^2 L(\mathbf{w}) \Delta \mathbf{w},

где

  • Δw=w^−w\Delta \mathbf{w} = \hat{\mathbf{w}}-\mathbf{w};

  • ∇L(w)∈RK\nabla L(\mathbf{w})\in\mathbb{R}^K - градиент функции (вектор из частных производных по каждому весу);

  • ∇2L(w)∈RK×K\nabla^2 L(\mathbf{w})\in\mathbb{R}^{K\times K} - матрица Гессе (Гессиан) из вторых производных {L(w^)∂wi∂wj}i,j\left\{\frac{L(\hat{\mathbf{w}})}{\partial w_i\partial w_j}\right\}_{i,j}.

Если раскладывать функцию потерь в стационарной точке w∗\mathbf{w}^*, то разложение Тейлора [1] примет вид:

L(w^)≈L(w∗)+12ΔwT∇2L(w∗)Δw,(2)L(\hat{\mathbf{w}})\approx L(\mathbf{w}^*)+\frac{1}{2}\Delta \mathbf{w}^T \nabla^2 L(\mathbf{w}^*) \Delta \mathbf{w}, \tag{2}

Гессиан, будучи симметричной матрицей, имеет ортонормированный базис из собственных векторов u1,...uK\mathbf{u}_1,...\mathbf{u}_K с собственными значениями λ1,...λK\lambda_1,...\lambda_K [2]:

∇2L(w∗)ui=λiui,i=1,2,....K,\nabla^2 L(\mathbf{w}^*) \mathbf{u}_i = \lambda_i \mathbf{u}_i,\quad i=1,2,....K, uiTuj={1, если i=j,0, если i≠j.\mathbf{u}_i^T \mathbf{u}_j = \begin{cases} 1, \text{ если } i=j, \\ 0, \text{ если } i\ne j. \end{cases}

Разложим Δw=w^−w∗\Delta \mathbf{w} = \hat{\mathbf{w}}-\mathbf{w}^* по базису из собственных векторов:

Δw=∑kαkuk\Delta \mathbf{w} = \sum_k \alpha_k \mathbf{u}_k

Подставив это разложение в (2), получим:

L(w^)−L(w∗)≈12(∑kαkuk)T∇2L(w∗)(∑kαkuk)=12(∑kαkuk)T(∑kαkλkuk)=12∑kλkαk2\begin{aligned} L(\hat{\mathbf{w}})-L(\mathbf{w}^*)&\approx\frac{1}{2}\left(\sum_k \alpha_k \mathbf{u}_k\right)^T \nabla^2 L(\mathbf{w}^*) \left(\sum_k \alpha_k \mathbf{u}_k\right) \\ &=\frac{1}{2}\left(\sum_k \alpha_k \mathbf{u}_k\right)^T \left(\sum_k \alpha_k \lambda_k \mathbf{u}_k\right) \\ &=\frac{1}{2}\sum_k \lambda_k \alpha_k^2 \end{aligned}

Отсюда видно, что точка стационарности w∗\mathbf{w}^* может являться:

  • точкой минимума, когда все λi\lambda_i положительны (Гессиан - положительно определённая матрица);

  • точкой максимума, когда все λi\lambda_i отрицательны (Гессиан - отрицательно определённая матрица);

  • точкой перегиба, когда часть собственных значений положительна, а часть отрицательна.

Точки перегиба часто возникают при минимизации невыпуклых функций и затрудняют работу градиентных методов оптимизации, поскольку градиент в их окрестности становится малым, и обучение происходит медленно. Чтобы с этим бороться, нужно использовать методы оптимизации с инерцией - методы SGD+momentum или Adam.

Литература​

  1. Wikipedia: Теорема Тейлора.

  2. Wikipedia: Спектральное разложение матрицы.