stub Vad är förstärkningsinlärning? - Unite.AI
Anslut dig till vårt nätverk!

AI 101

Vad är förstärkningsinlärning?

mm
Uppdaterad on

Vad är förstärkningsinlärning?

Enkelt uttryckt är förstärkningsinlärning en maskininlärningsteknik som involverar utbildning av en artificiell intelligensagent genom upprepning av handlingar och tillhörande belöningar. En förstärkningslärande agent experimenterar i en miljö, vidtar åtgärder och belönas när de rätta åtgärderna vidtas. Med tiden, agenten lär sig att vidta de åtgärder som kommer att maximera sin belöning. Det är en snabb definition av förstärkningsinlärning, men om du tittar närmare på begreppen bakom förstärkningsinlärning kan du få en bättre och mer intuitiv förståelse av det.

Termen "förstärkningsinlärning" är anpassad från begreppet förstärkning i psykologi. Av den anledningen, låt oss ta en stund för att förstå det psykologiska konceptet förstärkning. I psykologisk mening syftar termen förstärkning på något som ökar sannolikheten för att en viss respons/handling kommer att inträffa. Detta begrepp om förstärkning är en central idé i teorin om operant konditionering, som ursprungligen föreslogs av psykologen BF Skinner. I detta sammanhang är förstärkning allt som gör att frekvensen av ett givet beteende ökar. Om vi ​​tänker på möjlig förstärkning för människor kan det vara saker som beröm, löneförhöjning på jobbet, godis och roliga aktiviteter.

I traditionell, psykologisk mening finns det två typer av förstärkning. Det finns positiv förstärkning och negativ förstärkning. Positiv förstärkning är tillägget av något för att öka ett beteende, som att ge din hund en godbit när den är väluppfostrad. Negativ förstärkning innebär att man tar bort en stimulans för att framkalla ett beteende, som att stänga av höga ljud för att locka ut en skrämmande katt.

Positiv och negativ förstärkning

Positiv förstärkning ökar frekvensen av ett beteende medan negativ förstärkning minskar frekvensen. Generellt sett är positiv förstärkning den vanligaste typen av förstärkning som används vid förstärkningsinlärning, eftersom det hjälper modeller att maximera prestanda för en given uppgift. Inte bara det utan positiv förstärkning leder till att modellen gör mer hållbara förändringar, förändringar som kan bli konsekventa mönster och kvarstå under långa perioder.

Däremot, medan negativ förstärkning också gör ett beteende mer sannolikt att inträffa, används det för att upprätthålla en lägsta prestandastandard snarare än att nå en modells maximala prestanda. Negativ förstärkning i förstärkningsinlärning kan hjälpa till att säkerställa att en modell hålls borta från oönskade handlingar, men det kan inte riktigt få en modell att utforska önskade handlingar.

Utbilda en förstärkningsagent

När en förstärkningsinlärningsagent utbildas, det finns fyra olika ingredienser or tillstånd används i utbildningen: initiala tillstånd (State 0), nytt tillstånd (State 1), åtgärder och belöningar.

Föreställ dig att vi utbildar en förstärkningsagent för att spela ett plattformsspel där AI:s mål är att ta sig till slutet av nivån genom att flytta rakt över skärmen. Spelets initiala tillstånd hämtas från omgivningen, vilket innebär att den första bildrutan i spelet analyseras och ges till modellen. Baserat på denna information måste modellen besluta om en åtgärd.

Under de inledande faserna av utbildningen är dessa åtgärder slumpmässiga men i takt med att modellen förstärks kommer vissa åtgärder att bli vanligare. Efter att åtgärden har vidtagits uppdateras spelets miljö och ett nytt tillstånd eller ram skapas. Om åtgärden som vidtogs av agenten gav ett önskvärt resultat, låt oss säga i det här fallet att agenten fortfarande är vid liv och inte har blivit träffad av en fiende, en belöning ges till agenten och det blir mer sannolikt att han gör detsamma i framtiden.

Detta grundläggande system är ständigt i loop, händer igen och igen, och varje gång försöker agenten lära sig lite mer och maximera sin belöning.

Episodiska vs kontinuerliga uppgifter

Förstärkningsinlärningsuppgifter kan vanligtvis placeras i en av två olika kategorier: episodiska uppgifter och kontinuerliga uppgifter.

Episodiska uppgifter kommer att utföra inlärnings-/träningsslingan och förbättra deras prestanda tills vissa slutkriterier är uppfyllda och utbildningen avslutas. I ett spel kan detta vara att nå slutet av nivån eller hamna i en fara som spikar. Däremot har kontinuerliga uppgifter inga uppsägningskriterier, de fortsätter i huvudsak att träna för evigt tills ingenjören väljer att avsluta utbildningen.

Monte Carlo vs Temporal Difference

Det finns två primära sätt att lära, eller träna, en förstärkningsinlärningsagent. I Monte Carlo-metoden, belöningar levereras till agenten (dess poäng uppdateras) först i slutet av träningsavsnittet. För att uttrycka det på ett annat sätt, först när uppsägningsvillkoret träffas lär sig modellen hur bra den presterade. Den kan sedan använda denna information för att uppdatera och när nästa träningsomgång startas kommer den att svara i enlighet med den nya informationen.

Smakämnen tidsskillnadsmetod skiljer sig från Monte Carlo-metoden genom att värdeuppskattningen, eller poänguppskattningen, uppdateras under träningsavsnittets gång. När modellen går vidare till nästa tidssteg uppdateras värdena.

Utforskning vs exploatering

Att träna en förstärkningsinlärningsagent är en balansgång, som involverar balanseringen av två olika mått: utforskning och exploatering.

Utforskning är handlingen att samla in mer information om den omgivande miljön, medan utforskning använder den information som redan är känd om miljön för att tjäna belöningspoäng. Om en agent bara utforskar och aldrig utnyttjar miljön, kommer de önskade åtgärderna aldrig att utföras. Å andra sidan, om agenten bara utnyttjar och aldrig utforskar, kommer agenten bara lära sig att utföra en åtgärd och kommer inte att upptäcka andra möjliga strategier för att tjäna belöningar. Därför är det viktigt att balansera utforskning och exploatering när man skapar en förstärkningsinlärningsagent.

Användningsfall för förstärkningsinlärning

Förstärkningsinlärning kan användas i en mängd olika roller, och den är bäst lämpad för applikationer där uppgifter kräver automatisering.

Automatisering av uppgifter som ska utföras av industrirobotar är ett område där förstärkningsinlärning visar sig vara användbart. Förstärkningsinlärning kan också användas för problem som textutvinning, skapa modeller som kan sammanfatta långa texter. Forskare experimenterar också med att använda förstärkningsinlärning inom hälsovårdsområdet, med förstärkningsagenter som hanterar jobb som optimering av behandlingspolicyer. Förstärkningsinlärning kan också användas för att anpassa utbildningsmaterial för elever.

Sammanfattning av förstärkningsinlärning

Förstärkningsinlärning är en kraftfull metod för att konstruera AI-agenter som kan leda till imponerande och ibland överraskande resultat. Att träna en agent genom förstärkningsinlärning kan vara komplext och svårt, eftersom det kräver många träningsupprepningar och en delikat balans mellan utforska/utnyttja dikotomi. Men om den lyckas kan en agent skapad med förstärkningsinlärning utföra komplexa uppgifter under en mängd olika miljöer.

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.