Il Problema del Lock-In
Un Bandit che Continua a Vincere
Vanilla UCB1 ricalcola i punteggi ogni passo. Sceglie un braccio. Lo tira. Aggiorna n_k & mean_reward(k). Ripete. In una lunga esecuzione di training con molte fonti, un singolo braccio può collezionare una serie di alte ricompense, alzare la sua media, & diventare quasi impossibile da battere. Gli altri bracci ristagnano a basso n_k con medie obsolete. Lock-in.
Il lock-in danneggia ANDREA in due modi:
1. Crollo della diversità. Un modello che si addestra per il 90% dei passi su una sola fonte impara i tic stilistici di quella fonte. I campioni generati tendono verso pattern ripetitivi che corrispondono alla fonte dominante.
2. Esplorazione obsoleta. Le braccia con medie obsolete non possono recuperare. Un braccio la cui media è calata presto rimane bloccato a quella media anche se il modello ha ora capacità sufficiente per estrarre ricompensa da esso.
Una Fase Guadagna Tempo
Soluzione: mantenere un insieme fisso di braccia focali per una fase (multipli passi) prima di rivalutare. Una fase di 14 passi significa che 14 forward pass colpiscono le stesse braccia focali. Le ricompense medie si stabilizzano. Il rumore stocastico si annulla in media. Poi il bandit rilancia.
Lunghezza Fase Variabile
ANDREA sceglie la lunghezza della fase casualmente da {7, 14, 21, 28, 42} passi a ogni confine di fase. Cinque valori, casuale uniforme. Fasi brevi (7) reagiscono velocemente a scelte sbagliate; fasi lunghe (42) permettono ai set di focus stabili di sfruttare appieno. Il soffitto limita i danni: al massimo 42 passi spesi su una configurazione di focus sbagliata prima del ri-lancio forzato.
Statistiche sulla Lunghezza delle Fasi
1d3 (2-occhi) & 1d4 (3-occhi)
Notazione dei Dadi
Notazione da tavolo: NdM significa lanciare N dadi con M facce ciascuno. 1d3 lancia un dado a 3 facce, restituendo un valore in {1, 2, 3}. 1d4 lancia un dado a 4 facce, restituendo {1, 2, 3, 4}. ANDREA permette anche il risultato 0 per convenzione: un lancio di 0 significa fase completamente casuale (nessun braccio focalizzato UCB).
Configurazioni 2-Occhi vs 3-Occhi
La configurazione di addestramento di ANDREA sceglie una di due modalità di dadi:
Configurazione a 2 occhi (1d3). Possibili conteggi di bracci focali: {0, 1, 2, 3}. Risultato 0 riservato per la fase casuale.
Configurazione a 3 occhi (1d4). Possibili conteggi di bracci focali: {0, 1, 2, 3, 4}. Pool più grandi permettono fasi più concentrate.
Casuale Prima, UCB Dopo
Indipendentemente dai risultati dei dadi, ANDREA riempie gli slot focali in due passaggi:
1. Bracci casuali prima. Scegli una frazione di slot focali uniformemente a caso da tutti i bracci disponibili. Questo forza varietà combinatoria in ogni fase, indipendentemente dalle classifiche UCB.
2. UCB riempie gli slot rimanenti. Calcola i punteggi UCB1 per le braccia non ancora scelte. Prendi le braccia di massimo rango rimanenti fino a riempire il conteggio degli slot di focus.
Il primo casuale conta. Se UCB fosse scelto per primo, un leader di streak reclamerebbe sempre uno slot. Con il primo casuale, anche la migliore arma UCB può saltare una fase. La diversità resta garantita.
Fasi Completamente Casuali
Quando il dado fa 0, l'intero set di focus proviene da scelte casuali. UCB non contribuisce nulla. Circa il 25% delle fasi (1d4) o il 33% delle fasi (1d3) atterrano qui. Le fasi completamente casuali costringono il bandit a rinfrescare il suo campione di braccia poco tirate, mantenendo oneste le stime di mean_reward su tutto il pool di braccia.
Probabilità degli Esiti del Dado
Limitare i Danni
Una Fase Cattiva Costa Fino a 42 Passi
Supponi che i ranking UCB scelgano un braccio di focus la cui media vera è molto inferiore alla sua media osservata. La fase lo blocca. La ricompensa resta bassa per tutta la fase. Quanto tempo ci vuole prima che il bandit possa correggere?
Lunghezza massima della fase: 42 passaggi. Dopo 42 passaggi, la fase termina, i dadi vengono rilanciati, le braccia di focus vengono rimescolate. La scelta sbagliata non può durare più di 42 passaggi in avanti.
Perché 42 (e non 100, e non 1000)
Le fasi lunghe permettono alle stime di mean_reward di stabilizzarsi. Teoria statistica: la varianza della media di n campioni si riduce come 1/n. Passare da 7 campioni a 42 campioni fornisce 6 volte più campioni, sqrt(6) circa 2,45x errore standard più stretto. Dopo 42 campioni, mean_reward si attesta entro circa +/-15% del suo valore vero (a seconda della varianza del reward).
Oltre i 42 campioni, il guadagno si riduce: 100 campioni vs 42 campioni = 2,4x di più, sqrt(2,4) circa 1,55x errore standard più stretto. Il beneficio marginale diminuisce mentre il costo di un lock-in sbagliato cresce. 42 passaggi bilancia i due aspetti.
Diversità vs Convergenza
Fasi brevi (7 passi): le stime di ricompensa rimangono rumorose, ma le scelte sbagliate costano poco. Fasi lunghe (42 passi): stime precise, ma le scelte sbagliate costano di più. ANDREA mescola le lunghezze delle fasi uniformemente in modo che entrambi i regimi appaiano in ogni run di training.
Costo di Ricostruzione Btok
Ogni confine di fase attiva una ricostruzione del file btok per i focus arms. La ricostruzione btok gira in un thread in background; CUDA ricarica a caldo al cambio di mtime. La ricostruzione richiede secondi; le fasi devono durare abbastanza a lungo che l'overhead di ricostruzione rimanga piccolo. 42 passi alla velocità di training di ANDREA-120M superano comodamente il tempo di ricostruzione.
Ragionamento sul Soffitto
Prossimo Argomento
Cosa Hai
Il controllo dei dadi basato sulle fasi avvolge UCB1 in tre regole protettive: lunghezza della fase variabile (7-42), braccia casuali per prime, fasi casuali guidate dai dadi (25-33% puramente casuali). Il soffitto a 42 passi limita i danni; le fasi casuali prevengono il blocco; le lunghezze variabili mescolano velocità di reazione con stabilità della stima.
Cosa Resta
Da dove viene il segnale di ricompensa che alimenta UCB? L'Attività 78 (attribuzione della ricompensa) mostra come CUDA riporta la perdita per sorgente ad ogni passo, come una EMA per sorgente traccia la ricompensa, & perché ANDREA scala le ricompense raw di 1000x prima di alimentarle a UCB1.
I pavimenti e le penalità per epoca (attività 79) aggiungono ulteriori regole protettive sopra l'output del bandit, assicurando che le fonti piccole non vengano affamate e che le fonti grandi non vengano ripetute fino alla memorizzazione.
Riferimento
ANDREA whitepaper, sezione 3.2.