Optimizer (Reti Neurali): differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
{{Template | {{Template concetto | ||
|NomeInglese=Optimizer | |||
}} | |||
Un'Optimizer è una funzione che aggiorna il valore dei parametri del modello in base al valore calcolato dalla [[Funzione Obiettivo (loss)]] nell'iterazione corrente. Ha vari iperparametri, tra cui normalmente troviamo la [[learning rate]]. | Un'Optimizer è una funzione che aggiorna il valore dei parametri del modello in base al valore calcolato dalla [[Funzione Obiettivo (loss)]] nell'iterazione corrente. Ha vari iperparametri, tra cui normalmente troviamo la [[learning rate]]. | ||
Riga 20: | Riga 17: | ||
[https://arxiv.org/abs/1412.6980 Adam: A Method for Stochastic Optimization] | [https://arxiv.org/abs/1412.6980 Adam: A Method for Stochastic Optimization] | ||
Versione delle 11:19, 17 ago 2024
Optimizer (Reti Neurali) | |
---|---|
Nome Inglese | Optimizer |
Sigla |
Un'Optimizer è una funzione che aggiorna il valore dei parametri del modello in base al valore calcolato dalla Funzione Obiettivo (loss) nell'iterazione corrente. Ha vari iperparametri, tra cui normalmente troviamo la learning rate.
Esempi di ottimizzatori:
- ADAM
- Stochastic Gradient Descent (SGD)
Implementazione in PyTorch
In PyTorch la funzione loss.backward() calcola il gradiente, ovvero la derivata parziale dell'errore rispetto ai pesi, e viene normalmente seguita da optimizer.step() che aggiorna i pesi del modello per adattarli all'errore che è stato calcolato.
Link
https://pytorch.org/docs/stable/optim.html#torch.optim.Optimizer