Immagino che questa sia una domanda di base e abbia a che fare con la direzione del gradiente stesso, ma sto cercando esempi in cui i metodi del 2 ° ordine (ad es. BFGS ) sono più efficaci della semplice discesa del gradiente.
Immagino che questa sia una domanda di base e abbia a che fare con la direzione del gradiente stesso, ma sto cercando esempi in cui i metodi del 2 ° ordine (ad es. BFGS ) sono più efficaci della semplice discesa del gradiente.
Risposte:
Ecco un framework comune per interpretare sia la discesa del gradiente che il metodo di Newton, che è forse un modo utile di pensare alla differenza come supplemento alla risposta di @Sycorax. (BFGS si avvicina al metodo di Newton; non ne parlerò in particolare qui.)
Stiamo riducendo al minimo la funzione , ma non sappiamo come farlo direttamente. Quindi, invece, prendiamo un'approssimazione locale nel nostro punto corrente e la minimizziamo.
In sostanza, il vantaggio di un metodo di derivata seconda come il metodo di Newton è che ha la qualità della terminazione quadratica. Ciò significa che può minimizzare una funzione quadratica in un numero finito di passaggi. Un metodo come la discesa gradiente dipende in larga misura dalla velocità di apprendimento, che può far sì che l'ottimizzazione converga lentamente perché rimbalza intorno all'ottimale o diverge completamente. Si possono trovare tassi di apprendimento stabili ... ma comportano il calcolo dell'assia. Anche quando si utilizza un tasso di apprendimento stabile, è possibile che si verifichino problemi come l'oscillazione attorno all'ottimale, ovvero che non si prenda sempre un percorso "diretto" o "efficiente" verso il minimo. Quindi possono essere necessarie molte iterazioni per terminare, anche seci sei relativamente vicino. Il metodo di BFGS e Newton può convergere più rapidamente anche se lo sforzo computazionale di ogni passaggio è più costoso.
Questo sarà stabile se le magnitudini degli autovettori di sono inferiori a 1. Possiamo usare questa proprietà per dimostrare che un tasso di apprendimento stabile soddisfa
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.
In convex optimization you are approximating the function as the second degree polynomial in one dimensional case:
In this case the the second derivative
If you know the derivatives, then it's easy to get the next guess for the optimum:
The multivariate case is very similar, just use gradients for derivatives.
@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.