Optimizer (Reti Neurali): differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
Nome: [[Nome::Ottimizzatore]] | |||
Nome inglese: [[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 15: | Riga 20: | ||
[[Category:concetto]] | [[Category:concetto]] | ||
__SHOWFACTBOX__ |
Versione delle 10:57, 11 apr 2024
Nome: Ottimizzatore
Nome inglese: 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.
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
Adam: A Method for Stochastic Optimization