Differenza nell'uso del gradiente e del gradiente normalizzati


15

Nell'impostazione generale dell'algoritmo di discesa gradiente, abbiamo dove x n è il punto corrente, η è la dimensione del gradino e g r a d i e n t x n è il gradiente valutato in x n . xn+1=xnηgradientxnxnηgradientxnxn

Ho visto in alcuni algoritmi, le persone usano il gradiente normalizzato anziché il gradiente . Volevo sapere qual è la differenza nell'uso del gradiente normalizzato e semplicemente del gradiente .


1
Posso fare una domanda? come posso calcolare il gradiente normalizzato se ho già ottenuto il vettore gradiente? Se il vettore gradiente è numerico grande, devo normalizzare il gradiente. Potresti fornire alcuni esempi intuitivi sulla normalizzazione del gradiente? Grazie!

Risposte:


12

ηdettare quanto vogliamo spostarci nella direzione calcolata. Tuttavia, se si utilizza la discesa gradiente non normalizzata, in qualsiasi punto, la distanza che si sposta nella direzione ottimale è dettata dall'entità del gradiente (in sostanza dettato dalla superficie della funzione obiettivo, ovvero un punto su una superficie ripida avrà magnitudine elevata mentre un punto sulla superficie abbastanza piatta avrà magnitudo bassa).


η
η
3] Se si desidera lasciare che l'intensità del gradiente determini la dimensione del gradino, si utilizzerà la discesa gradiente non normalizzata. Esistono diverse altre varianti come è possibile lasciare che l'entità del gradiente decida la dimensione del passo, ma si inserisce un cappuccio e così via.

Ora, la dimensione del gradino influenza chiaramente la velocità di convergenza e stabilità. Quale delle dimensioni di gradino sopra funziona meglio dipende esclusivamente dalla tua applicazione (ad es. Funzione oggettiva). In alcuni casi, è possibile analizzare la relazione tra velocità di convergenza, stabilità e dimensioni del gradino. Questa relazione può quindi dare un suggerimento sul fatto che si desideri procedere con una discesa gradiente normalizzata o non normalizzata.

Riassumendo, non vi è alcuna differenza tra discesa gradiente normalizzata e non normalizzata (per quanto riguarda la teoria alla base dell'algoritmo). Tuttavia, ha un impatto pratico sulla velocità di convergenza e stabilità. La scelta dell'una sull'altra è puramente basata sull'applicazione / obiettivo a portata di mano.


Ad esempio, potresti adottare un approccio intermedio in cui ti normalizzi in base al primo gradiente. Ciò renderebbe comunque importante la dimensione relativa del gradiente in termini di dimensione del passo.
Dashnick,


2

f(x)=xTxy(t)=x0/||x0||et. Pertanto, la norma del gradiente diminuisce esponenzialmente rapidamente man mano che ci si avvicina al punto critico. In questi casi è spesso meglio rimbalzare avanti e indietro attraverso il minimo alcune volte piuttosto che avvicinarsi molto lentamente. In generale, tuttavia, è noto che i metodi del primo ordine hanno una convergenza molto lenta attorno ai punti critici, quindi non dovresti davvero usarli se ti interessa davvero l'accuratezza. Se non riesci a calcolare analiticamente l'Assia del tuo obiettivo, puoi comunque approssimarlo (BFGS).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.