Off-policy Monte Carlo-kontroll
Medan on-policy-metoder lär sig genom att följa och förbättra samma policy, introducerar off-policy-metoder en variation: de lär sig om en policy (målpolicyn) samtidigt som de följer en annan (beteendepolicyn). Denna uppdelning är kraftfull — det gör det möjligt att utvärdera eller förbättra en målpolicy utan att faktiskt behöva följa den under datainsamlingen.
Analogi
Låt oss återvända till glassbutiken från föregående kapitel. Du och din vän går in, och återigen erbjuds de tre välbekanta smakerna: choklad, vanilj och jordgubb. Choklad är din personliga favorit, och din första instinkt är att beställa den. Men denna butik är ny för dig, och du är inte helt säker på om choklad är rätt val. Som tur är har din vän besökt nästan alla glassbutiker i staden och är en framstående glassälskare. Du frågar om deras åsikt. "Chokladen här är okej," säger de, "men lita på mig — jordgubben är exceptionell." Så, baserat på deras erfarenhet, bestämmer du dig för att hoppa över ditt vanliga val och istället välja jordgubb.
Det beslutet — att förlita sig på någon annans erfarenhet för att vägleda sitt eget val — är kärnan i off-policy-metoder. Du försöker förbättra ditt beslutsfattande med data som samlats in under någon annans beteende. Det är fortfarande utforskning — men det styrs av extern erfarenhet snarare än din egen.
Viktighetsprovtagning
Eftersom agenten följer beteendepolicyn under episodgenerering måste vi ta hänsyn till skillnaden mellan vad beteendepolicyn genererar och vad målpolicyn skulle generera. Det är här viktighetsprovtagning kommer in.
Viktad stickprovsdragning (importance sampling) möjliggör justering av de utfall som observeras under beteendepolicyn så att de utgör giltiga skattningar för målpolicyn.
Låt oss betrakta en sekvens som börjar från ett visst tillstånd St och följer en viss policy π tills episoden avslutas vid tidpunkt T. Specifikt observerar vi:
At,St+1,At+1,...,STVad är sannolikheten att denna sekvens inträffar under en policy π? Det beror på både policyns sannolikheter för handlingar och miljöns övergångsdynamik:
p(trajectory∣π)=k=t∏T−1π(Ak∣Sk)p(Sk+1∣Sk,Ak)Antag nu att sekvensen faktiskt genererades av en annan policy — beteendepolicyn b. För att korrekt använda denna sekvens för att skatta förväntningar under målpolicyn π måste vi ta hänsyn till hur mycket mer eller mindre sannolik denna följd av handlingar hade varit under π jämfört med b.
Här introduceras importance sampling-kvoten. Den definieras som den relativa sannolikheten för sekvensen under de två policyerna:
ρ=p(trajectory∣b)p(trajectory∣π)=k=t∏T−1b(Ak∣Sk)p(Sk+1∣Sk,Ak)π(Ak∣Sk)p(Sk+1∣Sk,Ak)=k=t∏T−1b(Ak∣Sk)π(Ak∣Sk)I slutändan försvann övergångssannolikheterna, eftersom båda policyerna verkar i samma miljö, och värdet på ρ beror endast på policyerna, inte på miljön.
Varför detta är viktigt
Kvoten ρ anger hur vi ska omviktas utfall Gt som observerats under beteendepolicyn så att det blir en snedfri skattning av vad utfallet skulle ha varit under målpolicyn:
Eπ[Gt]=Eb[ρ⋅Gt]Med andra ord, även om data samlades in med b, kan vi ändå skatta förväntade utfall under π — förutsatt att b ger icke-noll sannolikhet till varje handling som π kan välja (täkningsantagandet).
Praktiska överväganden
Varians vid viktad sannolikhetsprovtagning
Att inkludera viktad sannolikhetsprovtagning är konceptuellt enkelt. Den skattade aktionsvärdesfunktionen q(s,a) justeras genom att varje observerad avkastning viktas med motsvarande viktad sannolikhetskvot. Den enklaste formuleringen ser ut så här:
q(s,a)=N(s,a)∑i=0N(s,a)ρi(s,a)⋅Returnsi(s,a)där:
- ρi(s,a) är viktad sannolikhetskvot för den i:te banan som startar från (s,a);
- Returnsi(s,a) är avkastningen från den banan;
- N(s,a) är antalet gånger (s,a) har besökts.
Detta kallas ordinär viktad sannolikhetsprovtagning. Den ger en oberoende skattning av q(s,a), men kan drabbas av mycket hög varians, särskilt när beteende- och målpolicyn skiljer sig avsevärt.
För att minska variansen kan en mer stabil metod användas: normaliserad viktad sannolikhetsprovtagning. Denna metod normaliserar vikterna, vilket minskar påverkan av stora kvoter och leder till stabilare inlärning:
q(s,a)=∑i=0N(s,a)ρi(s,a)∑i=0N(s,a)ρi(s,a)⋅Returnsi(s,a)I denna version är täljaren samma viktade summa av avkastningar, men nämnaren är nu summan av vikterna, istället för en enkel räkning.
Detta gör skattningen snedvriden, men snedvridningen minskar när fler prover samlas in. I praktiken föredras normaliserad viktad sannolikhetsprovtagning på grund av dess betydligt lägre varians och större numerisk stabilitet.
Policys
Precis som i on-policy-fallet används ε-giriga policys för både målpolicyn π(a∣s) och beteendepolicyn b(a∣s).
Vid första anblick kan det verka naturligt att göra målpolicyn fullt girig — vårt slutgiltiga mål är trots allt en girig policy. I praktiken leder detta dock till ett stort problem: om vid något steg π(a∣s)=0 för den åtgärd som faktiskt valdes av beteendepolicyn, blir viktningen ρ noll och återstående del av episoden ignoreras effektivt.
Genom att använda ett litet ε (t.ex. ε=0.01) i målpolicyn säkerställs att π(a∣s)>0 för varje åtgärd, så att ρ aldrig blir noll mitt i en episod. När träningen är klar är det trivialt att konvertera den inlärda ε-giriga policyn till en strikt girig. Precis som vid on-policy-inlärning bör avtagande ε användas i beteendepolicyn, men denna gång är det främst för numerisk stabilitet, eftersom ρ fortfarande kan bli noll mitt i en episod på grund av hur tal representeras i datorer.
Pseudokod
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain the difference between ordinary and weighted importance sampling in more detail?
Why does using a fully greedy target policy cause problems in off-policy learning?
Can you summarize the key advantages of off-policy methods compared to on-policy methods?
Awesome!
Completion rate improved to 2.7
Off-policy Monte Carlo-kontroll
Svep för att visa menyn
Medan on-policy-metoder lär sig genom att följa och förbättra samma policy, introducerar off-policy-metoder en variation: de lär sig om en policy (målpolicyn) samtidigt som de följer en annan (beteendepolicyn). Denna uppdelning är kraftfull — det gör det möjligt att utvärdera eller förbättra en målpolicy utan att faktiskt behöva följa den under datainsamlingen.
Analogi
Låt oss återvända till glassbutiken från föregående kapitel. Du och din vän går in, och återigen erbjuds de tre välbekanta smakerna: choklad, vanilj och jordgubb. Choklad är din personliga favorit, och din första instinkt är att beställa den. Men denna butik är ny för dig, och du är inte helt säker på om choklad är rätt val. Som tur är har din vän besökt nästan alla glassbutiker i staden och är en framstående glassälskare. Du frågar om deras åsikt. "Chokladen här är okej," säger de, "men lita på mig — jordgubben är exceptionell." Så, baserat på deras erfarenhet, bestämmer du dig för att hoppa över ditt vanliga val och istället välja jordgubb.
Det beslutet — att förlita sig på någon annans erfarenhet för att vägleda sitt eget val — är kärnan i off-policy-metoder. Du försöker förbättra ditt beslutsfattande med data som samlats in under någon annans beteende. Det är fortfarande utforskning — men det styrs av extern erfarenhet snarare än din egen.
Viktighetsprovtagning
Eftersom agenten följer beteendepolicyn under episodgenerering måste vi ta hänsyn till skillnaden mellan vad beteendepolicyn genererar och vad målpolicyn skulle generera. Det är här viktighetsprovtagning kommer in.
Viktad stickprovsdragning (importance sampling) möjliggör justering av de utfall som observeras under beteendepolicyn så att de utgör giltiga skattningar för målpolicyn.
Låt oss betrakta en sekvens som börjar från ett visst tillstånd St och följer en viss policy π tills episoden avslutas vid tidpunkt T. Specifikt observerar vi:
At,St+1,At+1,...,STVad är sannolikheten att denna sekvens inträffar under en policy π? Det beror på både policyns sannolikheter för handlingar och miljöns övergångsdynamik:
p(trajectory∣π)=k=t∏T−1π(Ak∣Sk)p(Sk+1∣Sk,Ak)Antag nu att sekvensen faktiskt genererades av en annan policy — beteendepolicyn b. För att korrekt använda denna sekvens för att skatta förväntningar under målpolicyn π måste vi ta hänsyn till hur mycket mer eller mindre sannolik denna följd av handlingar hade varit under π jämfört med b.
Här introduceras importance sampling-kvoten. Den definieras som den relativa sannolikheten för sekvensen under de två policyerna:
ρ=p(trajectory∣b)p(trajectory∣π)=k=t∏T−1b(Ak∣Sk)p(Sk+1∣Sk,Ak)π(Ak∣Sk)p(Sk+1∣Sk,Ak)=k=t∏T−1b(Ak∣Sk)π(Ak∣Sk)I slutändan försvann övergångssannolikheterna, eftersom båda policyerna verkar i samma miljö, och värdet på ρ beror endast på policyerna, inte på miljön.
Varför detta är viktigt
Kvoten ρ anger hur vi ska omviktas utfall Gt som observerats under beteendepolicyn så att det blir en snedfri skattning av vad utfallet skulle ha varit under målpolicyn:
Eπ[Gt]=Eb[ρ⋅Gt]Med andra ord, även om data samlades in med b, kan vi ändå skatta förväntade utfall under π — förutsatt att b ger icke-noll sannolikhet till varje handling som π kan välja (täkningsantagandet).
Praktiska överväganden
Varians vid viktad sannolikhetsprovtagning
Att inkludera viktad sannolikhetsprovtagning är konceptuellt enkelt. Den skattade aktionsvärdesfunktionen q(s,a) justeras genom att varje observerad avkastning viktas med motsvarande viktad sannolikhetskvot. Den enklaste formuleringen ser ut så här:
q(s,a)=N(s,a)∑i=0N(s,a)ρi(s,a)⋅Returnsi(s,a)där:
- ρi(s,a) är viktad sannolikhetskvot för den i:te banan som startar från (s,a);
- Returnsi(s,a) är avkastningen från den banan;
- N(s,a) är antalet gånger (s,a) har besökts.
Detta kallas ordinär viktad sannolikhetsprovtagning. Den ger en oberoende skattning av q(s,a), men kan drabbas av mycket hög varians, särskilt när beteende- och målpolicyn skiljer sig avsevärt.
För att minska variansen kan en mer stabil metod användas: normaliserad viktad sannolikhetsprovtagning. Denna metod normaliserar vikterna, vilket minskar påverkan av stora kvoter och leder till stabilare inlärning:
q(s,a)=∑i=0N(s,a)ρi(s,a)∑i=0N(s,a)ρi(s,a)⋅Returnsi(s,a)I denna version är täljaren samma viktade summa av avkastningar, men nämnaren är nu summan av vikterna, istället för en enkel räkning.
Detta gör skattningen snedvriden, men snedvridningen minskar när fler prover samlas in. I praktiken föredras normaliserad viktad sannolikhetsprovtagning på grund av dess betydligt lägre varians och större numerisk stabilitet.
Policys
Precis som i on-policy-fallet används ε-giriga policys för både målpolicyn π(a∣s) och beteendepolicyn b(a∣s).
Vid första anblick kan det verka naturligt att göra målpolicyn fullt girig — vårt slutgiltiga mål är trots allt en girig policy. I praktiken leder detta dock till ett stort problem: om vid något steg π(a∣s)=0 för den åtgärd som faktiskt valdes av beteendepolicyn, blir viktningen ρ noll och återstående del av episoden ignoreras effektivt.
Genom att använda ett litet ε (t.ex. ε=0.01) i målpolicyn säkerställs att π(a∣s)>0 för varje åtgärd, så att ρ aldrig blir noll mitt i en episod. När träningen är klar är det trivialt att konvertera den inlärda ε-giriga policyn till en strikt girig. Precis som vid on-policy-inlärning bör avtagande ε användas i beteendepolicyn, men denna gång är det främst för numerisk stabilitet, eftersom ρ fortfarande kan bli noll mitt i en episod på grund av hur tal representeras i datorer.
Pseudokod
Tack för dina kommentarer!