stub Vad är Deep Reinforcement Learning? - Unite.AI
Anslut dig till vårt nätverk!

AI 101

Vad är Deep Reinforcement Learning?

mm
Uppdaterad on

Vad är Deep Reinforcement Learning?

Tillsammans med oövervakad maskininlärning och övervakad inlärning är en annan vanlig form av AI-skapande förstärkningsinlärning. Utöver vanlig förstärkningsinlärning, djup förstärkning inlärning kan leda till häpnadsväckande imponerande resultat, tack vare att den kombinerar de bästa aspekterna av både djupinlärning och förstärkningsinlärning. Låt oss ta en titt på exakt hur djup förstärkningsinlärning fungerar.

Innan vi dyker in i djup förstärkningsinlärning kan det vara en bra idé att uppdatera oss om hur regelbundet förstärkning lärande Arbetar. Inom förstärkningsinlärning utformas målorienterade algoritmer genom en process av försök och misstag, som optimerar för den handling som leder till det bästa resultatet/den handling som får mest "belöning". När förstärkningsinlärningsalgoritmer tränas, ges de "belöningar" eller "straff" som påverkar vilka åtgärder de kommer att vidta i framtiden. Algoritmer försöker hitta en uppsättning åtgärder som ger systemet mest belöning och balanserar både omedelbara och framtida belöningar.

Förstärkningsinlärningsalgoritmer är mycket kraftfulla eftersom de kan appliceras på nästan alla uppgifter, och kan flexibelt och dynamiskt lära av en miljö och upptäcka möjliga åtgärder.

Översikt över 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ärkningsinlärning representeras miljön vanligtvis med bilder. En bild är en fångst av miljön vid en viss tidpunkt. Agenten måste analysera bilderna och extrahera relevant information från dem och använda informationen för att informera om vilka åtgärder de ska vidta. Djupt förstärkningsinlärning utförs vanligtvis med en av två olika tekniker: värdebaserat lärande och policybaserat lärande.

Värdebaserade inlärningstekniker använder sig av algoritmer och arkitekturer som konvolutionella neurala nätverk och Deep-Q-Networks. Dessa algoritmer fungerar genom att konvertera bilden till gråskala och skära bort onödiga delar av bilden. Efteråt genomgår bilden olika veckningar och sammanslagningsoperationer, 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 agenten kan vidta. Q-värden används för att bestämma det bästa tillvägagångssättet 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 scenarier. Situationer som dessa kräver ett annat tillvägagångssätt eftersom det inte är pragmatiskt att beräkna Q-värdena för alla individuella å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 policygradienter.

Policygradienter fungerar genom att ta emot ett 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 till slutet av utvärderingsperioden och belöningarna ges till agenten. Efter att belöningarna har behandlats med agenten uppdateras nätverkets parametrar med backpropagation.

Vad är Q-Learning?

Därför att Q-Learning är en så stor del av den djupa förstärkningsinlärningsprocessen, låt oss ta lite tid att verkligen förstå hur Q-learning-systemet fungerar.

Markov-beslutsprocessen

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 rad uppgifter och nå ett mål måste agenten kunna hantera en sekvens av tillstånd och händelser. Agenten kommer att börja i ett tillstånd och det måste ta en rad åtgärder för att nå ett sluttillstånd, och det kan finnas ett enormt antal tillstånd mellan start- och sluttillstånd. Att lagra information om varje stat är opraktisk eller omöjlig, så systemet måste hitta ett sätt att bevara bara den mest relevanta statliga informationen. Detta uppnås genom att använda en Markov beslutsprocess, som bara bevarar informationen om det aktuella tillståndet och det tidigare tillståndet. Varje stat följer en Markov-egenskap, som spårar hur agenten ändras från det tidigare tillståndet till det nuvarande 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öningen 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 på 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 stor vikt framtida belöningar har på agentens agerande. Principer beräknas vanligtvis genom att slumpmässigt initiera Q-värden och låta modellen konvergera mot de optimala Q-värdena under träningens gång.

Djupa Q-nätverk

Ett av de grundläggande problemen med användningen av Q-learning för förstärkningsinlärning är att mängden minne som krävs för att lagra data snabbt expanderar när antalet tillstånd ökar. Deep Q Networks löser detta problem genom att kombinera neurala nätverksmodeller med Q-värden, vilket gör att en agent kan lära sig av erfarenhet och göra rimliga gissningar om de bästa åtgärderna att vidta. Med djup Q-inlärning uppskattas Q-värdesfunktionerna med neurala nätverk. Det neurala nätverket tar tillståndet in som indata, och nätverket matar ut Q-värde för alla olika möjliga åtgärder som agenten kan vidta.

Deep Q-learning åstadkoms genom att lagra alla tidigare erfarenheter i minnet, beräkna maximala uteffekter för Q-nätverket och sedan använda en förlustfunktion för att beräkna skillnaden mellan nuvarande värden och de teoretiskt högsta möjliga värdena.

Deep Reinforcement Learning vs Deep Learning

En viktig skillnad mellan djup förstärkningsinlärning och vanlig djupinlärning är att i fallet med det förstnämnda förändras ingångarna ständigt, vilket inte är fallet i traditionell djupinlärning. Hur kan inlärningsmodellen redogöra för input och output som ständigt förändras?

I huvudsak, för att ta hänsyn till skillnaden mellan förutsagda värden och målvärden, kan två neurala nätverk användas istället för ett. Ett nätverk uppskattar målvärdena, medan det andra nätverket ansvarar för förutsägelserna. Parametrarna för målnätverket uppdateras allt eftersom modellen lär sig, efter att ett valt antal träningsiterationer har passerat. Utgångarna från de respektive nätverken sammanfogas sedan för att bestämma skillnaden.

Policybaserat lärande

Policybaserat lärande tillvägagångssätt fungerar annorlunda än Q-värdebaserade tillvägagångssätt. Medan Q-value-metoder skapar en värdefunktion som förutsäger belöningar för stater och handlingar, bestämmer policybaserade metoder en policy som kommer att kartlägga stater till handlingar. Med andra ord är policyfunktionen som väljer för åtgärder direkt optimerad utan hänsyn till värdefunktionen.

Policygradienter

En policy för djup förstärkningsinlärning delas in i en av två kategorier: stokastisk eller deterministisk. En deterministisk policy är en där stater mappas till handlingar, vilket innebär att när policyn ges information om en stat returneras en åtgärd. Under tiden returnerar stokastiska policyer en sannolikhetsfördelning för åtgärder istället för en enda, diskret handling.

Deterministisk policy används när det inte finns någon osäkerhet om resultatet av de åtgärder som kan vidtas. Med andra ord när miljön i sig är deterministisk. Däremot lämpar sig stokastiska politiska resultat för miljöer där resultatet av åtgärder är osäkert. Vanligtvis involverar scenarier för förstärkningsinlärning en viss grad av osäkerhet, så stokastiska policyer används.

Policygradientmetoder har några fördelar jämfört med Q-learning-metoder, såväl som vissa nackdelar. När det gäller fördelar konvergerar policybaserade metoder till optimala parametrar snabbare och mer tillförlitligt. Policygradienten kan bara följas tills de bästa parametrarna har bestämts, medan med värdebaserade metoder kan små förändringar i uppskattade åtgärdsvärden leda till stora förändringar i åtgärder och deras associerade parametrar.

Policygradienter fungerar också bättre för högdimensionella handlingsutrymmen. När det finns ett extremt stort antal möjliga åtgärder att vidta, blir djup Q-learning opraktisk eftersom den måste tilldela en 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 tid och antalet möjliga bästa parametrar krymper snabbt när modellen konvergerar.

Policygradienter är också kapabla att implementera stokastiska policyer, till skillnad från värdebaserade policyer. Eftersom stokastiska policyer ger en sannolikhetsfördelning behöver inte en avvägning mellan prospektering och exploatering genomföras.

När det gäller nackdelar är den största nackdelen med policygradienter att de kan fastna när de söker efter optimala parametrar, och fokuserar endast på en smal, lokal uppsättning av optimala värden istället för de globala optimala värdena.

Policy Score-funktion

Policyerna som används för att optimera en modells prestandamål för 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 för "θ” som ger oss den bästa policyn. Först måste vi beräkna en förväntad politisk belöning. Vi uppskattar den politiska belöningen så att vi har ett mål, något att optimera mot. Policy Score-funktionen är hur vi beräknar den förväntade policybelöningen, och det finns olika Policy Score-funktioner som ofta används, till exempel: startvärden för episodiska miljöer, medelvärdet för kontinuerliga miljöer och den genomsnittliga belöningen per tidssteg.

Policy Gradient Ascent

Gradient ascent 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 policypoä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(θ), en teknik som kallas "lutning uppstigning" är använd. Gradientuppstigning liknar i konceptet gradientnedstigning i djupinlärning, men vi optimerar för den brantaste ökningen istället för att minska. Detta beror på att vår poäng inte är "fel", som i många problem med djupinlärning. 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 Deep Reinforcement Learning

Sammanfattningsvis kombinerar djup förstärkningsinlärning aspekter av förstärkningsinlärning och djupa neurala nätverk. Djup förstärkningsinlärning görs med två olika tekniker: Deep Q-learning och policygradienter.

Deep Q-learning-metoder syftar till att förutsäga vilka belöningar som kommer att följa vissa åtgärder som vidtas i ett givet tillstånd, medan policygradientmetoder syftar till att optimera handlingsutrymmet och förutsäga själva åtgärderna. Policybaserade tillvägagångssätt för djupt förstärkningsinlärning är antingen deterministiska eller stokastiska till sin natur. Deterministiska policyer kartlägger tillstånd direkt till åtgärder medan stokastiska policyer producerar sannolikhetsfördelningar för åtgärder.

Bloggare och programmerare med specialiteter inom Maskininlärning och Deep Learning ämnen. Daniel hoppas kunna hjälpa andra att använda kraften i AI för socialt bästa.