Temperatura (Apprendimento Automatico)
| Temperatura (Apprendimento Automatico) | |
|---|---|
| Nome Inglese | Temperature |
| Sigla | |
La temperatura è un parametro nell'ambito dell'apprendimento automatico, specialmente nei modelli sequenziali come le RNN e i transformer. Questo parametro è un numero strettamente maggiore di zero e normalmente inferiore a 2 o 3, con impatti diretti sulla selezione del token successivo durante il processo di generazione del testo.
Funzionamento
La temperatura è utilizzata per modulare la distribuzione di probabilità dei token generati dai modelli. Invece di optare per una decodifica Greedy, che seleziona sempre il token con la massima probabilità, l'introduzione della temperatura agisce sul risultato della decodifica a campionamento: questo approccio estrae un token casuale basandosi sulla distribuzione di probabilità (modificata dalla temperatura) dei possibili token successivi.
Durante il processo di generazione, la temperatura agisce sui logit, i valori emessi dall'ultimo layer totalmente connesso del modello prima dell'applicazione della funzione Softmax per ottenere le probabilità.
Formula
La funzione softmax standard (senza temperatura) è definita come:
Dove è il logit del token i e K è il numero totale di token nel vocabolario.
Con l'introduzione della temperatura T, la formula diventa:
La modifica consiste nel dividere i logit per il valore della temperatura prima di calcolare la distribuzione di probabilità finale.
Effetti della Temperatura
- Temperatura alta (T > 1): Genera una distribuzione più uniforme, aumentando la varietà e la casualità nella scelta dei token. I token meno probabili hanno maggiori chance di essere selezionati.
- Temperatura bassa (T < 1): Rende la distribuzione più "affilata", favorendo la scelta dei token con probabilità più alta e riducendo la varietà. Il modello tende a selezionare più spesso il token più probabile.
- Temperatura = 1: Mantiene la distribuzione originale calcolata dal modello.
Applicazioni Pratiche
L'uso della temperatura permette agli sviluppatori e ai ricercatori di bilanciare tra diversità e precisione nelle generazioni testuali dei modelli. Una temperatura vicina a 1 tende a mantenere un buon equilibrio, mentre valori superiori possono essere sperimentati per ottenere risultati più creativi, e valori inferiori per risultati più conservativi e prevedibili.