AI 101
Vad är Deep Reinforcement Learning?

Vad är Deep Reinforcement Learning?
Tillsammans med oövervakad maskinlärande och övervakad lärande är en annan vanlig form av AI-skapande förstärkt lärande. Utöver vanligt förstärkt lärande kan djup förstärkt lärande leda till förbluffande imponerande resultat, tack vare att det kombinerar de bästa aspekterna av både djupinlärning och förstärkt lärande. Låt oss ta en titt på hur djup förstärkt lärande fungerar.
Innan vi dyker in i djup förstärkt lärande kan det vara en bra idé att fräscha upp oss på hur vanligt förstärkt lärande fungerar. I förstärkt lärande utformas målorienterade algoritmer genom en process av trial and error, med syfte att optimera för den åtgärd som leder till det bästa resultatet/den åtgärd som ger den mest “belöning”. När förstärkt lärande-algoritmer utbildas får de “belöningar” eller “straff” som påverkar vilka åtgärder de kommer att vidta i framtiden. Algoritmerna försöker hitta en uppsättning åtgärder som kommer att ge systemet den mest belöning, med balans mellan både omedelbara och framtida belöningar.
Förstärkt lärande-algoritmer är mycket kraftfulla eftersom de kan tillämpas på nästan alla uppgifter, kunna flexibelt och dynamiskt lära sig från en miljö och upptäcka möjliga åtgärder.
Översikt av Deep Reinforcement Learning

Foto: Megajuice via Wikimedia Commons, CC 1.0 (https://commons.wikimedia.org/wiki/File:Reinforcement_learning_diagram.svg)
När det gäller djup förstärkt lärande representeras miljön vanligtvis med bilder. En bild är en ögonblicksbild av miljön vid en viss tidpunkt. Agenten måste analysera bilderna och extrahera relevant information från dem, med hjälp av informationen för att informera vilken åtgärd de ska vidta. Djup förstärkt lärande utförs vanligtvis med en av två olika tekniker: värdebaserat lärande och policybaserat lärande.
Värdebaserade lärandetekniker använder algoritmer och arkitekturer som konvolutionsneuronnät och Deep-Q-Networks. Dessa algoritmer fungerar genom att konvertera bilden till gråskala och beskära onödiga delar av bilden. Därefter genomgår bilden olika konvolutioner och poolningsoperationer, vilket extraherar de mest relevanta delarna av bilden. De viktiga delarna av bilden används sedan för att beräkna Q-värdet för de olika åtgärder som agenten kan vidta. Q-värden används för att bestämma den bästa kursen för agenten. Efter att de initiala Q-värdena har beräknats, utförs backpropagation för att de mest exakta Q-värdena ska kunna bestämmas.
Policybaserade metoder används när antalet möjliga åtgärder som agenten kan vidta är extremt högt, vilket vanligtvis är fallet i verkliga världsscenarier. Sådana situationer kräver en annan approach eftersom det inte är praktiskt att beräkna Q-värden för alla enskilda åtgärder. Policybaserade tillvägagångssätt fungerar utan att beräkna funktionsvärden för enskilda åtgärder. Istället antar de policyer genom att lära sig policyn direkt, ofta genom tekniker som kallas Policy Gradients.
Policy Gradients fungerar genom att ta emot en tillstånd och beräkna sannolikheter för åtgärder baserat på agentens tidigare erfarenheter. Den mest sannolika åtgärden väljs sedan. Denna process upprepas tills utvärderingsperiodens slut och belöningarna ges till agenten. Efter att belöningarna har hanterats av agenten uppdateras nätverksparametrarna med backpropagation.
Vad är Q-Learning?
Eftersom Q-Learning är en så stor del av djup förstärkt lärande, låt oss ta lite tid att förstå hur Q-lärandesystemet fungerar.
Markov Decision Process

En Markov beslutsprocess. Foto: waldoalvarez via Pixabay, Pixbay License (https://commons.wikimedia.org/wiki/File:Markov_Decision_Process.svg)
För att en AI-agent ska kunna utföra en serie uppgifter och nå ett mål, måste agenten kunna hantera en sekvens av tillstånd och händelser. Agenten börjar i ett tillstånd och måste vidta en serie åtgärder för att nå ett slutligt tillstånd, och det kan finnas ett enormt antal tillstånd mellan början och slut. Att lagra information om varje tillstånd är opraktiskt eller omöjligt, så systemet måste hitta ett sätt att bevara endast den mest relevanta tillståndsinformationen. Detta uppnås genom användning av en Markov Decision Process, som bevarar endast information om det aktuella tillståndet och det föregående tillståndet. Varje tillstånd följer en Markov-egenskap, som spårar hur agenten ändrar från det föregående tillståndet till det aktuella tillståndet.
Djup Q-Learning
När modellen har tillgång till information om tillstånden i lärmiljön, kan Q-värden beräknas. Q-värdena är den totala belöning som ges till agenten i slutet av en sekvens av åtgärder.
Q-värdena beräknas med en serie belöningar. Det finns en omedelbar belöning, beräknad vid det aktuella tillståndet och beroende på den aktuella åtgärden. Q-värdet för det efterföljande tillståndet beräknas också, tillsammans med Q-värdet för tillståndet efter det, och så vidare tills alla Q-värden för de olika tillstånden har beräknats. Det finns också en Gamma-parameter som används för att kontrollera hur mycket vikt framtida belöningar har på agentens åtgärder. Policyer beräknas vanligtvis genom att slumpmässigt initiera Q-värden och låta modellen konvergera mot de optimala Q-värdena under utbildningens gång.
Djupa Q-Nätverk
Ett av de grundläggande problemen med att använda Q-lärande för förstärkt lärande är att mängden minne som krävs för att lagra data snabbt expanderar när antalet tillstånd ökar. Djupa Q-Nätverk löser detta problem genom att kombinera neuronnätmodeller med Q-värden, vilket möjliggör för en agent att lära sig från erfarenhet och göra rimliga gissningar om de bästa åtgärder som ska vidtas. Med djup Q-lärande uppskattas Q-värdet med neuronnät. Neuronnätet tar tillståndet som indata, och nätverket utmatar Q-värdet för alla möjliga åtgärder som agenten kan vidta.
Djup Q-lärande uppnås genom att lagra alla tidigare erfarenheter i minnet, beräkna maximala utdata för Q-nätverket och sedan använda en förlustfunktion för att beräkna skillnaden mellan aktuella värden och de teoretiska högsta möjliga värdena.
Djup Förstärkt Lärande vs Djup Lärande
En viktig skillnad mellan djup förstärkt lärande och vanligt djup lärande är att i fallet med det förra är inmatningarna konstant föränderliga, vilket inte är fallet i traditionellt djup lärande. Hur kan lärmodellen ta hänsyn till in- och utgångar som konstant förändras?
I princip kan detta åstadkommas genom att använda två neuronnät istället för ett. Ett nätverk uppskattar målvärdena, medan det andra nätverket är ansvarigt för förutsägelserna. Parametrarna för målnätverket uppdateras när modellen lär sig, efter att ett visst antal utbildningsiterationer har passerat. Utmatningarna från respektive nätverk kombineras sedan för att bestämma skillnaden.
Policybaserat Lärande
Policybaserat lärande fungerar annorlunda än Q-värdebaserade tillvägagångssätt. Medan Q-värdebaserade tillvägagångssätt skapar en värdefunktion som förutsäger belöningar för tillstånd och åtgärder, bestämer policybaserade metoder en policy som kommer att mappa tillstånd till åtgärder. Med andra ord optimeras policyfunktionen som väljer åtgärder direkt, utan hänsyn till värdefunktionen.
Policy Gradients
En policy för djup förstärkt lärande faller in i en av två kategorier: stokastisk eller deterministisk. En deterministisk policy är en där tillstånd mappas till åtgärder, vilket innebär att när policyn får information om ett tillstånd returneras en åtgärd. Samtidigt returnerar stokastiska policyer en sannolikhetsfördelning för åtgärder istället för en enskild, diskret åtgärd.
Deterministiska policyer används när det inte finns någon osäkerhet om resultaten av de åtgärder som kan vidtas. Med andra ord, när miljön i sig är deterministisk. I kontrast är stokastiska policyutmatningar lämpliga för miljöer där resultatet av åtgärder är osäkert. Vanligtvis innehåller förstärkt lärandescenarier en viss grad av osäkerhet, så stokastiska policyer används.
Policy gradienttillvägagångssätt har några fördelar jämfört med Q-lärandetillvägagångssätt, samt några nackdelar. I termer av fördelar konvergerar policybaserade metoder snabbare och mer tillförlitligt till optimala parametrar. Policygradienten kan bara följas tills de bästa parametrarna bestäms, medan värdebaserade metoder kan leda till stora förändringar i åtgärder och deras associerade parametrar, även om de uppskattade åtgärds-värdena förändras lite.
Policygradients fungerar bättre för högdimensionella åtgärdsutrymmen. När det finns ett extremt stort antal möjliga åtgärder att vidta, blir djup Q-lärande opraktiskt eftersom det måste tilldela ett poäng till varje möjlig åtgärd för alla tidssteg, vilket kan vara omöjligt beräkningsmässigt. Men med policybaserade metoder justeras parametrarna över tiden och antalet möjliga bästa parametrar minskar snabbt när modellen konvergerar.
Policygradients kan också implementera stokastiska policyer, till skillnad från värdebaserade policyer. Eftersom stokastiska policyer producerar en sannolikhetsfördelning, behöver en utforskning/utnyttjande-handel inte implementeras.
I termer av nackdelar är den främsta nackdelen med policygradients att de kan fastna medan de söker efter optimala parametrar, fokuserande endast på en smal, lokal uppsättning optimala värden istället för de globala optimala värdena.
Policy Poängfunktion
Policyerna som används för att optimera en modells prestanda syftar till att maximera en poängfunktion – J(θ). Om J(θ) är ett mått på hur bra vår policy är för att uppnå det önskade målet, kan vi hitta värdena på “θ” som ger oss den bästa policyn. Först måste vi beräkna en förväntad policybelöning. Vi uppskattar policybelöningen så att vi har ett mål, något att optimera mot. Policy Poängfunktionen är hur vi beräknar den förväntade policybelöningen, och det finns olika Policy Poängfunktioner som vanligtvis används, såsom: startvärden för episodiska miljöer, medelvärdet för kontinuerliga miljöer och medelbelöningen per tidssteg.
Policy Gradient Stigning

Gradient stigning syftar till att flytta parametrarna tills de är på den plats där poängen är högst. Foto: Public Domain (https://commons.wikimedia.org/wiki/File:Gradient_ascent_(surface).png)
Efter att den önskade Policy Poängfunktionen har använts och en förväntad policybelöning har beräknats, kan vi hitta ett värde för parametern “θ” som maximerar poängfunktionen. För att maximera poängfunktionen J(θ), används en teknik som kallas “gradient stigning”. Gradient stigning är liknande i koncept till gradient nedstigning i djup lärande, men vi optimerar för den brantaste ökningen istället för minskningen. Detta beror på att vår poäng inte är “fel”, som i många djup lärande-problem. Vår poäng är något vi vill maximera. Ett uttryck som kallas Policy Gradient Theorem används för att uppskatta gradienten med avseende på policy “θ“.
Sammanfattning av Djup Förstärkt Lärande
Sammanfattningsvis kombinerar djup förstärkt lärande aspekter av förstärkt lärande och djupa neuronnät. Djup förstärkt lärande utförs med två olika tekniker: Djup Q-lärande och policygradients.
Djup Q-lärande metoder syftar till att förutsäga vilka belöningar som kommer att följa vissa åtgärder som vidtas i ett visst tillstånd, medan policygradienttillvägagångssätt syftar till att optimera åtgärdsutrymmet, förutsägande åtgärder i sig. Policybaserade tillvägagångssätt för djup förstärkt lärande är antingen deterministiska eller stokastiska till sin natur. Deterministiska policyer mappar tillstånd direkt till åtgärder, medan stokastiska policyer producerar sannolikhetsfördelningar för åtgärder.










