Discesa del gradiente
La discesa dei gradienti è un algoritmo di ottimizzazione comunemente usato per addestrare modelli di apprendimento automatico e apprendimento profondo.
La discesa graduale può essere compresa intuitivamente attraverso la seguente analogia illustrativa:1
Una persona è bloccata in montagna e sta cercando di scendere (cioè di trovare il minimo globale). C’è una fitta nebbia e la visibilità è estremamente ridotta. Pertanto, il sentiero per scendere dalla montagna non è visibile, quindi deve utilizzare le informazioni locali per trovare il minimo. Può usare il metodo della discesa in pendenza, che consiste nell’osservare la pendenza della collina nella posizione in cui si trova, per poi procedere nella direzione con la discesa più ripida (cioè, in discesa). Se stesse cercando di trovare la cima della montagna (cioè il massimo), allora procederebbero nella direzione della salita più ripida (cioè in salita). Utilizzando questo metodo, alla fine troverebbe la strada per scendere dalla montagna o potrebbe rimanere bloccata in qualche avvallamento (cioè un minimo locale o un punto di sella), come un lago di montagna. Tuttavia, si supponga anche che la ripidità della collina non sia immediatamente evidente con la semplice osservazione, ma che richieda uno strumento sofisticato per misurarla, di cui la persona dispone al momento. Per misurare la ripidità della collina con lo strumento ci vuole un bel po’ di tempo, quindi la persona dovrebbe ridurre al minimo l’uso dello strumento se vuole scendere dalla montagna prima del tramonto. La difficoltà consiste quindi nello scegliere la frequenza con cui misurare la ripidità della collina per non andare fuori strada.
In questa analogia, la persona rappresenta l’algoritmo e il sentiero che scende dalla montagna rappresenta la sequenza di impostazioni dei parametri che l’algoritmo esplorerà. La ripidità della collina rappresenta la pendenza della funzione in quel punto. Lo strumento utilizzato per misurare la pendenza è la differenziazione. La direzione in cui scelgie di viaggiare corrisponde al gradiente della funzione in quel punto. La quantità di tempo che percorre prima di effettuare un’altra misurazione è la lunghezza del passo.
La discesa stocastica del gradiente è un metodo della discesa del gradiente utilizzata per addestrare la maggior parte delle reti profonde attuali.
IBM (2023) What is gradient descent?, IBM.
scikit learn (2023) Stochastic gradient descent, Scikit-Learn, ottobre.