Het Lock-In Probleem
Een Bandiet Die Blijft Winnen
Vanilla UCB1 herberekent scores elke stap. Kiest één arm. Trekt eraan. Update n_k & mean_reward(k). Herhaalt. In een lange trainingrun met veel bronnen kan één arm een reeks hoge beloningen verzamelen, zijn gemiddelde omhoog duwen, & bijna onverslaanbaar worden. Andere armen stagneren bij lage n_k met verouderde gemiddelden. Lock-in.
Lock-in schaadt ANDREA op twee manieren:
1. Diversiteitscollaps. Een model dat 90% van de stappen traint op één bron leert de stilistische kenmerken van die bron. Gegeneerde samples drijven naar repetitieve patronen die overeenkomen met de dominante bron.
2. Verouderde exploratie. Armen met verouderde gemiddelden kunnen niet herstellen. Een arm waarvan het gemiddelde vroeg daalde, blijft vastzitten op dat gemiddelde, zelfs als het model nu voldoende capaciteit heeft ontwikkeld om beloning eruit te halen.
Een Fase Koopt Tijd
Oplossing: houd een vastgesteld set focusarmen vast voor een fase (meerdere stappen) voordat je opnieuw evalueert. Een fase van 14 stappen betekent dat 14 forward passes dezelfde focusarmen raken. Gemiddelde beloningen stabiliseren. Stochastisch ruis gemiddeld uit. Dan rolt de bandit opnieuw.
Variabele Fase Lengte
ANDREA kiest de faselengte willekeurig uit {7, 14, 21, 28, 42} stappen bij elke fasegrens. Vijf waarden, uniform willekeurig. Korte fasen (7) reageren snel op slechte keuzes; lange fasen (42) laten stabiele focussets volledig benutten. Het plafond beperkt de schade: maximaal 42 stappen besteed aan een slechte focusconfiguratie voordat een gedwongen herrol wordt afgedwongen.
Faselengte Statistieken
1d3 (2-oog) & 1d4 (3-oog)
Dobbelsteennotatie
Tafelbladnotatie: NdM betekent rol N dobbelstenen met elk M zijden. 1d3 rolt één 3-zijdige dobbelsteen, met een waarde in {1, 2, 3}. 1d4 rolt één 4-zijdige dobbelsteen, met {1, 2, 3, 4}. ANDREA staat ook het resultaat 0 toe per conventie: een rol van 0 betekent volledig willekeurige fase (geen UCB-focusarmen).
2-Oog vs 3-Oog Configuraties
ANDREA's trainingsconfiguratie kiest een van twee dobbelsteenmodi:
2-ogen config (1d3). Mogelijke focusarm-aantallen: {0, 1, 2, 3}. Resultaat 0 gereserveerd voor willekeurige fase.
3-ogen config (1d4). Mogelijke focusarm-aantallen: {0, 1, 2, 3, 4}. Grotere pools staan meer geconcentreerde fasen toe.
Willekeurig Eerst, UCB Tweede
Wat de dobbelsteenworp ook is, ANDREA vult focus-sleuven in twee passes:
1. Willekeurige armen eerst. Kies een fractie van focus-sleuven uniform willekeurig uit alle beschikbare armen. Dit dwingt combinatorische variëteit af in elke fase, ongeacht UCB-ranglijsten.
2. UCB vult resterende slots. Bereken UCB1-scores voor armen die nog niet gekozen zijn. Neem de top-gerangschikte resterende armen totdat het focus slot-aantal gevuld is.
Random-first doet ertoe. Als UCB eerst gekozen had, zou een streak-leader altijd een slot claimen. Met random-first kan zelfs de beste UCB-arm een fase overslaan. Diversiteit blijft gegarandeerd.
Pure Random Fasen
Wanneer de dobbelsteen 0 rolt, komt de hele focus set uit random keuzes. UCB draagt niets bij. Ongeveer 25% van de fasen (1d4) of 33% van de fasen (1d3) belandt hier. Pure random fasen dwingen de bandit om zijn sample van laag-getrokken armen te vernieuwen, waardoor mean_reward schattingen eerlijk blijven over de hele arm pool.
Dobbelsteen Uitkomst Waarschijnlijkheden
De Schade Beperken
Een Slechte Fase Kost Tot 42 Stappen
Stel dat UCB-ranglijsten een focusarm kiezen waarvan de ware mediaan veel lager is dan de waargenomen mediaan. De fase sluit die arm vast. De beloning blijft laag voor de hele fase. Hoe lang duurt het voordat de bandit dit kan corrigeren?
Maximale faselengte: 42 stappen. Na 42 stappen eindigt de fase, dobbelstenen worden opnieuw gerold, focusarmen worden herschud. De slechte keuze kan niet langer dan 42 forward passes duren.
Waarom 42 (en niet 100, en niet 1000)
Lange fasen laten mean_reward-schattingen stabiliseren. Statistische theorie: variantie van een gemiddelde van n monsters krimpt als 1/n. Van 7 monsters naar 42 monsters geeft 6x meer monsters, sqrt(6) approx 2.45x smallere standaardfout. Na 42 monsters ligt mean_reward binnen ruwweg +/-15% van zijn ware waarde (afhankelijk van reward-variantie).
Na 42 monsters krimpt de winst: 100 monsters vs 42 monsters = 2.4x meer, sqrt(2.4) approx 1.55x smallere standaardfout. Marginaal voordeel daalt terwijl de kosten van een slechte lock-in groeien. 42 stappen balanceert de twee.
Diversiteit vs Convergentie
Korte fasen (7 stappen): beloningschattingen blijven rumoerig, maar slechte keuzes kosten weinig. Lange fasen (42 stappen): schattingen strak, maar slechte keuzes kosten meer. ANDREA mixt faselengtes uniform zodat beide regimes in elke training run verschijnen.
Btok Herbouwkosten
Elke fasegrens triggert een btok-bestandherbouw voor de focusarmen. Btok-herbouw draait in een achtergrondthread; CUDA hot-reloadt bij mtime-verandering. De herbouw duurt seconden; fasen moeten lang genoeg duren zodat herbouw-overhead klein blijft. 42 stappen bij ANDREA-120M trainingsnelheid overschrijdt herbouwtijd ruimschoots.
Redeneren over het Plafond
Volgende
Wat Je Hebt
Fase-gebaseerde dobbelsteencontrole wikkelt UCB1 in drie beschermende regels: variabele faselengte (7-42), willekeurige armen eerst, dobbelsteen-gedreven willekeurige fasen (25-33% puur willekeurig). Het 42-stap plafond beperkt schade; de willekeurige fasen voorkomen vastlopen; de variabele lengtes mengen reactiesnelheid met schattingsstabiliteit.
Wat Rest
Waar komt het beloningssignaal dat UCB voedt vandaan? Activiteit 78 (beloningsattributie) toont hoe CUDA per-bron verlies rapporteert elke stap, hoe een per-bron EMA beloning volgt, & waarom ANDREA ruwe beloningen met 1000x schaalt voordat het UCB1 voedt.
Vloeren & epoch-straffen (activiteit 79) leggen verdere beschermende regels bovenop de output van de bandit, waardoor kleine bronnen niet worden uitgehongerd & grote bronnen niet herhaald worden tot memorisatie.
Referentie
ANDREA whitepaper, sectie 3.2.