Inkrementella Implementationer
Svep för att visa menyn
Att lagra varje avkastning för varje tillstånd-handlingspar kan snabbt förbruka minne och avsevärt öka beräkningstiden — särskilt i stora miljöer. Denna begränsning påverkar både on-policy och off-policy Monte Carlo-kontrollalgoritmer. För att hantera detta använder vi inkrementella beräkningsstrategier, liknande de som används i multi-armed bandit-algoritmer. Dessa metoder möjliggör att värdeuppskattningar uppdateras direkt, utan att hela avkastningshistoriken behöver sparas.
On-policy Monte Carlo-kontroll
För on-policy-metoden ser uppdateringsstrategin likadan ut som strategin som används i MAB-algoritmer:
Q(s,a)←Q(s,a)+α(G−Q(s,a))där α=N(s,a)1 för medelvärdesuppskattning. De enda värden som behöver lagras är de aktuella uppskattningarna av handlingsvärden Q(s,a) och antalet gånger tillstånd-handlingsparet (s,a) har besökts N(s,a).
Pseudokod
Off-policy Monte Carlo-kontroll
För off-policy-metoden med ordinär importance sampling är allt detsamma som för on-policy-metoden.
En mer intressant situation uppstår med viktad importance sampling. Ekvationen ser likadan ut:
Q(s,a)←Q(s,a)+α(G−Q(s,a))men α=N(s,a)1 kan inte användas eftersom:
- Varje retur viktas med ρ;
- Den slutliga summan delas inte med N(s,a), utan med ∑ρ(s,a).
Värdet på α som faktiskt kan användas i detta fall är lika med C(s,a)W där:
- W är ρ för aktuell trajektoria;
- C(s,a) är lika med ∑ρ(s,a).
Och varje gång tillstånd-aktionsparet (s,a) uppstår, adderas ρ för aktuell trajektoria till C(s,a):
C(s,a)←C(s,a)+WPseudokod
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