Почему производные второго порядка полезны в выпуклой оптимизации?


18

Я предполагаю, что это основной вопрос, и он связан с направлением самого градиента, но я ищу примеры, где методы 2-го порядка (например, BFGS ) более эффективны, чем простой градиентный спуск.


3
Не слишком ли просто наблюдать, что «найти вершину параболоида» является гораздо лучшим приближением к задаче «найти минимум», чем «найти минимум этой линейной функции» (которая, конечно, не имеет минимума, потому что линейный)?

Ответы:


20

Вот общая схема для интерпретации как градиентного спуска, так и метода Ньютона, что, возможно, является полезным способом восприятия разницы как дополнения к ответу @ Sycorax. (BFGS приближается к методу Ньютона; я не буду говорить об этом, в частности, здесь.)

Мы минимизируем функцию е , но не знаем, как это сделать напрямую. Поэтому вместо этого мы берем локальное приближение в нашей текущей точке Икс и минимизируем это.

Метод Ньютона приближает функцию, используя разложение Тейлора второго порядка:

е(Y)NИкс(Y)знак равное(Икс)+е(Икс)T(Y-Икс)+12(Y-Икс)T2е(Икс)(Y-Икс),
гдее(Икс) обозначает градиенте в точкеИкс и2е(Икс) гессианом приИкс . Затем он шагает доArgминYNИкс(Y) и повторяется.

TИкс-Tе(Икс)

Икс-Tе(Икс)знак равноArgМаксимумY[е(Икс)+е(Икс)T(Y-Икс)+12T| |Y-Икс| |2]знак равноArgМаксимумY[е(Икс)+е(Икс)T(Y-Икс)+12(Y-Икс)T1Tя(Y-Икс)],
граммИкс(Y)знак равное(Икс)+е(Икс)T(Y-Икс)+12(Y-Икс)T1Tя(Y-Икс),

Таким образом, градиентное спуск похоже на использование метода Ньютона, но вместо того, чтобы использовать разложение Тейлора второго порядка, мы притворяемся, что гессиан равен . ЭтотGчасто является существенно худшим приближением кf,чемN, и, следовательно, градиентный спуск часто требует гораздо худших шагов, чем метод Ньютона. Конечно, это уравновешивается тем, что каждый шаг градиентного спуска намного дешевле в расчете, чем каждый шаг метода Ньютона. Что лучше, полностью зависит от характера проблемы, ваших вычислительных ресурсов и ваших требований к точности.1TяграммеN

Рассматривая пример @ Sycorax минимизации квадратичного

f(x)=12xTAx+dTx+c
for a moment, it's worth noting that this perspective helps with understanding both methods.

With Newton's method, we'll have N=f so that it terminates with the exact answer (up to floating point accuracy issues) in a single step.

Gx(y)=f(x)+(Ax+d)Ty+12(xy)T1tI(xy)
whose tangent plane at x is correct, but whose curvature is entirely wrong, and indeed throws away the important differences in different directions when the eigenvalues of A vary substantially.

1
This is similar to @Aksakal's answer, but in more depth.
Dougal

1
(+1) This is a great addition!
Sycorax says Reinstate Monica

17

Essentially, the advantage of a second-derivative method like Newton's method is that it has the quality of quadratic termination. This means that it can minimize a quadratic function in a finite number of steps. A method like gradient descent depends heavily on the learning rate, which can cause optimization to either converge slowly because it's bouncing around the optimum, or to diverge entirely. Stable learning rates can be found... but involve computing the hessian. Even when using a stable learning rate, you can have problems like oscillation around the optimum, i.e. you won't always take a "direct" or "efficient" path towards the minimum. So it can take many iterations to terminate, even if you're relatively close to it. BFGS and Newton's method can converge more quickly even though the computational effort of each step is more expensive.

To your request for examples: Suppose you have the objective function

F(x)=12xTAx+dTx+c
The gradient is
F(x)=Ax+d
and putting it into the steepest descent form with constant learning rate
xk+1=xkα(Axk+d)=(IαA)xkαd.

This will be stable if the magnitudes of the eigenvectors of IαA are less than 1. We can use this property to show that a stable learning rate satisfies

α<2λmax,
where λmax is the largest eigenvalue of A. The steepest descent algorithm's convergence rate is limited by the largest eigenvalue and the routine will converge most quickly in the direction of its corresponding eigenvector. Likewise, it will converge most slowly in directions of the eigenvector of the smallest eigenvalue. When there is a large disparity between large and small eigenvalues for A, gradient descent will be slow. Any A with this property will converge slowly using gradient descent.

In the specific context of neural networks, the book Neural Network Design has quite a bit of information on numerical optimization methods. The above discussion is a condensation of section 9-7.


Great answer! I'm accepting @Dougal 's answer as I think it provides a simpler explanation.
Bar

6

In convex optimization you are approximating the function as the second degree polynomial in one dimensional case:

f(x)=c+βx+αx2

In this case the the second derivative

2f(x)/x2=2α

If you know the derivatives, then it's easy to get the next guess for the optimum:

guess=β2α

The multivariate case is very similar, just use gradients for derivatives.


2

@Dougal already gave a great technical answer.

The no-maths explanation is that while the linear (order 1) approximation provides a “plane” that is tangential to a point on an error surface, the quadratic approximation (order 2) provides a surface that hugs the curvature of the error surface.

The videos on this link do a great job of visualizing this concept. They display order 0, order 1 and order 2 approximations to the function surface, which just intuitively verifies what the other answers present mathematically.

Also, a good blogpost on the topic (applied to neural networks) is here.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.