Vad är förstärkningsinlärning? Typer, Algorithms & Exempel

⚡ Smart sammanfattning

Förstärkande lärande är en maskininlärningsmetod där en programvaruagent lär sig genom att agera i en miljö, samla in belöningar eller straff och justera sitt beteende för att maximera den kumulativa belöningen över många steg.

  • 🔘 Kärnslinga: En agent observerar ett tillstånd, vidtar en åtgärd, får en belöning och landar i ett nytt tillstånd.
  • ☑️ Tre tillvägagångssätt: Värdebaserade, policybaserade och modellbaserade metoder skiljer sig åt i vad agenten faktiskt lär sig.
  • Två inlärningsmodeller: Markovbeslutsprocesser ramar in problemet; Q-learning löser det genom erfarenhet.
  • 🧪 Inte övervakad: Inga märkta svar finns, bara en fördröjd belöningssignal som agenten måste tillskriva tidigare handlingar.
  • 🛠️ Där det passar: Robotik, spel, flygplanskontroll, adaptiv handledning och affärsstrategisk planering.
  • ⚙️ Kända kostnader: Träning är beräkningskrävande, belöningsdesignen är känslig och verkliga miljöer är bullriga och icke-stationära.

Förstärkande lärande: algoritmer, typer och exempel

Vad är förstärkningsinlärning?

Förstärkningslärande är en Maskininlärning en metod som handlar om hur programvaruagenter ska agera i en miljö. Agenten får inte se rätt svar; den lär sig av den belöning den får och justerar sitt beteende för att maximera den kumulativa belöningen.

Förstärkande lärande är en gren av maskininlärning i sig, tillsammans med övervakas och oövervakad inlärning. När agentens policy- eller värdefunktion representeras av ett neuralt nätverk kallas kombinationen djup förstärkning inlärning — att parning är det som låter en agent uppnå ett komplext mål eller maximera en specifik dimension över många steg.

Viktiga komponenter i förstärkningsmetoden

Innan algoritmerna blir begripliga är det bra att namnge delarna. Diagrammet nedan visar hur agenten, miljön, handlingen och belöningssignalen passar ihop i en loop.

Förstärkningsinlärningsslinga som förbinder agent, handling, miljö, tillstånd och belöning

Här är några viktiga termer som används inom förstärkningsinlärning:

  • Ombud: Den enhet som utför handlingar i en miljö för att få någon belöning.
  • Miljö (e): Ett scenario som en agent måste möta.
  • Belöning (R): En omedelbar återbetalning som ges till en agent när den utför en specifik åtgärd eller uppgift.
  • Stater): Tillstånd avser den nuvarande situationen som återkommer av miljön.
  • Policy (π): Den strategi som agenten tillämpar för att bestämma nästa åtgärd baserat på det aktuella tillståndet.
  • Värde (V): Den förväntade långsiktiga avkastningen med rabatt, jämfört med den kortsiktiga belöningen.
  • Värdefunktion: Den anger värdet av ett tillstånd, det vill säga den totala belöningsmängden som en agent kan förvänta sig att ackumulera från det tillståndet.
  • Miljömodell: Detta imiterar omgivningens beteende. Det låter dig dra slutsatser och även avgöra hur omgivningen kommer att bete sig.
  • Modellbaserade metoder: Metoder som löser problem med förstärkningsinlärning genom att först lära sig eller använda en modell av miljön och sedan planera mot den.
  • Q-värde eller åtgärdsvärde (Q): Q-värde är ganska likt värde. Den enda skillnaden mellan de två är att det kräver en ytterligare parameter, den aktuella åtgärden.

Hur fungerar förstärkningsinlärning?

En vardaglig analogi gör mekanismen tydlig innan någon notation dyker upp.

Tänk dig scenariot att lära din katt nya trick.

  • Eftersom katten inte förstår engelska eller något annat mänskligt språk kan vi inte direkt säga till henne vad hon ska göra. Istället följer vi en annan strategi.
  • Vi härmar en situation, och katten försöker reagera på många olika sätt. Om kattens svar är det önskade ger vi henne fisk.
  • Nu när katten utsätts för samma situation utför hon en liknande handling ännu mer entusiastiskt, i förväntan om att få mer belöning (mat).
  • Det är den inlärning katten får om "vad man ska göra" från positiva upplevelser.
  • Samtidigt lär sig katten också vad den inte ska göra när den ställs inför negativa upplevelser.

Exempel på förstärkningsinlärning

Figuren nedan mappar kattberättelsen till den formella loopen, med hushållet som miljö och fisken som belöning.

Exempel på katt och ägare mappat till agent-miljö-loopen för förstärkningsinlärning
Hur Reinforcement Learning fungerar

I det här fallet,

  • Din katt är en agent som exponeras för miljön. I det här fallet är det ditt hus. Ett exempel på ett tillstånd kan vara din katt som sitter och du använder ett specifikt ord för att få katten att gå.
  • Vår agent reagerar genom att utföra en handlingsövergång från ett "tillstånd" till ett annat "tillstånd".
  • Till exempel går din katt från att sitta till att gå.
  • En agents reaktion är en handling, och policyn är en metod för att välja en handling som ges ett tillstånd i förväntan på bättre resultat.
  • Efter övergången kan agenten få en belöning eller straffavgift i gengäld.

Förstärkningslärande Algorithms

Det finns tre metoder för att implementera en algoritm för förstärkningsinlärning, och de skiljer sig huvudsakligen åt i vad agenten lagrar och lär sig.

Värdebaserad

I en värdebaserad förstärkningsinlärningsmetod försöker man maximera en värdefunktion V(s). I den här metoden förväntar sig agenten en långsiktig återgång till de nuvarande tillstånden under policy π.

Policybaserad

I en policybaserad RL-metod försöker du komma fram till en policy så att den åtgärd som utförs i varje stat hjälper dig att få maximal belöning i framtiden.

Två typer av policybaserade metoder är:

  • Deterministisk: För alla tillstånd produceras samma åtgärd av policyn π.
  • Stokastisk: Varje handling har en viss sannolikhet, given av följande ekvation.

Stokastisk politik:

π(a|s) = P[At = a | St = s]

Modellbaserad

I den här förstärkningsinlärningsmetoden skapar du en virtuell modell för varje miljö. Agenten lär sig att prestera i den specifika miljön.

Egenskaper för förstärkningsinlärning

Här är viktiga egenskaper hos förstärkningsinlärning:

  • Det finns ingen handledare, bara ett verkligt tal eller belöningssignal
  • Sekventiellt beslutsfattande
  • Tid spelar en avgörande roll i förstärkningsproblem
  • Feedback är ofta fördröjd snarare än omedelbar
  • Agentens handlingar avgör den efterföljande data som den får

Typer av förstärkningsinlärning

Ordet "förstärkning" är lånat från beteendepsykologin och förekommer i två former:

Positiv:

Det definieras som en händelse som inträffar på grund av ett specifikt beteende. Det ökar beteendets styrka och frekvens och påverkar positivt den handling som aktören vidtar.

Denna typ av förstärkning hjälper dig att maximera prestanda och upprätthålla förändring under en längre tid. För mycket förstärkning kan dock leda till överoptimering av tillståndet, vilket kan påverka resultaten.

Negativ:

Negativ förstärkning definieras som förstärkning av beteende som sker på grund av ett negativt tillstånd som borde ha stoppats eller undvikits. Det hjälper dig att definiera minimistandarden för prestation. Nackdelen med denna metod är dock att den bara ger tillräckligt för att uppfylla minimikravet för beteende.

Inlärningsmodeller för förstärkning

Det finns två viktiga inlärningsmodeller inom förstärkningsinlärning:

  • Markov beslutsprocess
  • Q lärande

Markov beslutsprocess

Följande parametrar används för att få en lösning:

  • Uppsättning åtgärder – A
  • Uppsättning tillstånd – S
  • Belöning – R
  • Policy – ​​π
  • Värde – V

Den matematiska metoden för kartorping En lösning inom förstärkningsinlärning formaliseras som en Markovbeslutsprocess, eller MDP. Schemat nedan visar dessa fem parametrar kopplade till samma agent-miljöcykel.

Schematisk Markovbeslutsprocessen med tillstånd, åtgärder, belöning och policy

Q-Learning

Q-inlärning är en värdebaserad metod för att tillhandahålla information som talar om för en agent vilken åtgärd som ska vidtas.

Låt oss förstå den här metoden med följande exempel:

  • Det finns fem rum i en byggnad som är förbundna med dörrar.
  • Varje rum är numrerat från 0 till 4
  • Byggnadens utsida kan behandlas som ett enda stort utomhusområde (5)
  • Dörr nummer 1 och 4 leder in i byggnaden från rum 5

Planritningen nedan numrerar rummen och visar vilka dörrar som förbinder dem.

Planlösning för femrumsbyggnad med numrerade rum och utomhusområde 5

Sedan behöver du koppla ett belöningsvärde till varje dörr:

  • Dörrar som leder direkt till målet har en belöning på 100
  • Dörrar som inte är direkt anslutna till målrummet ger ingen belöning.
  • Eftersom dörrarna är tvåvägs är två pilar tilldelade för varje rum.
  • Varje pil i bilden ovan har ett omedelbart belöningsvärde

Förklaring: I den här bilden representerar varje rum ett tillstånd, och agentens rörelse från ett rum till ett annat representerar en handling.

I grafen nedan ritas ett tillstånd som en nod medan pilarna visar tillgängliga åtgärder och den belöning som är kopplad till var och en av dem.

Tillståndsgrafen för de fem rummen med belöningsvärden på 0 och 100 för varje övergång

Till exempel, en agent går från rum nummer 2 till 5:

  • Initialt tillstånd = tillstånd 2
  • Tillstånd 2-> Tillstånd 3
  • Tillstånd 3 -> tillstånd (2,1,4)
  • Tillstånd 4-> tillstånd (0,5,3)
  • Tillstånd 1-> tillstånd (5,3)
  • Tillstånd 0-> Tillstånd 4

Förstärkningsinlärning vs. övervakat lärande

Det tydligaste sättet att placera förstärkningsinlärning är att ställa det bredvid det paradigm som de flesta läsare redan känner till.

Driftparametrar Förstärkningslärande Övervakat lärande
Beslutsstil Förstärkande lärande hjälper dig att fatta dina beslut sekventiellt. I denna metod tas ett beslut om den input som ges i början.
fungerar på Fungerar genom att interagera med omgivningen. Arbetar med exempel eller givna exempeldata.
Beroende av beslut I RL-metoden beror varje inlärningsbeslut på de föregående, så det är hela sekvensen av beslut som utvärderas. In övervakad inlärning Besluten är oberoende av varandra, så varje beslut har en etikett.
Bäst lämpad Stöder och fungerar bättre inom AI, där mänsklig interaktion är utbredd. Det drivs mestadels med ett interaktivt mjukvarusystem eller applikationer.
Exempelvis Schackspel Objektigenkänning

Tillämpningar av förstärkningsinlärning

Här är tillämpningar av förstärkningsinlärning:

  • Robotik för industriell automation.
  • Planering av affärsstrategi
  • Maskininlärning och databehandling
  • Det hjälper dig att skapa utbildningssystem som tillhandahåller anpassad undervisning och material enligt elevernas krav.
  • Flygplanskontroll och robotrörelsekontroll

Varför använda Reinforcement Learning?

Här är de främsta anledningarna till att använda förstärkningsinlärning:

  • Det hjälper dig att hitta vilken situation som kräver åtgärd
  • Hjälper dig att upptäcka vilken åtgärd som ger högst belöning under en längre period
  • Förstärkande lärande ger också lärmedlet en belöningsfunktion.
  • Det gör det också möjligt för agenten att hitta den bästa metoden för att få stora belöningar.

När ska man inte använda förstärkningsinlärning?

Du kan inte tillämpa en förstärkningsinlärningsmodell i varje situation. Här är några förhållanden där du inte bör använda en.

  • När du har tillräckligt med märkta data för att lösa problemet med en övervakad inlärningsmetod
  • Förstärkande lärande är datortungt och tidskrävande, särskilt när handlingsutrymmet är stort.

Utmaningar med förstärkningsinlärning

Här är de största utmaningarna du kommer att möta när du utför förstärkningsinlärning:

  • Funktions- och belöningsdesign, vilket kan vara mycket komplicerat
  • Parametrar kan påverka inlärningshastigheten.
  • Realistiska miljöer kan ha partiell observerbarhet.
  • För mycket förstärkning kan leda till en överbelastning av tillstånd, vilket kan försämra resultaten.
  • Realistiska miljöer kan vara icke-stationära.

Vanliga frågor

Exploatering upprepar den handling som för närvarande anses vara bäst; utforskning försöker något annat för att upptäcka en bättre. Epsilon-girig hanterar detta genom att agera slumpmässigt med sannolikheten ε och girigt annars, och sedan minska ε allt eftersom erfarenhet ackumuleras.

Gamma viktar framtida belöningar mot omedelbara. Ett värde nära 0 gör agenten kortsynt och girig efter omedelbar belöning; ett värde nära 1 gör den tålmodig nog att acceptera en liten förlust nu för en större utdelning senare.

Q-learning är utanför policyn: den uppdaterar mot bästa möjliga nästa åtgärd oavsett vad agenten faktiskt gjorde. SARSA är inom policyn och uppdaterar mot den åtgärd den faktiskt vidtog, vilket gör den mer försiktig nära riskfyllda tillstånd.

Ett djupt Q-nätverk ersätter Q-tabellen med ett neuralt nätverk, så att tillstånd som aldrig setts i träning fortfarande kan poängsättas. Uppspelning av erfarenhet och ett separat målnätverk läggs till för att hålla träningssignalen stabil.

Modellfria agenter som Q-learning lär sig enbart från samplade erfarenheter. Modellbaserade agenter bygger först en modell av miljöns dynamik och planerar utifrån den, vilket kräver betydligt färre verkliga interaktioner men som lider när modellen är fel.

Förstärkande lärande från mänsklig feedback tränar en belöningsmodell på mänskliga preferensrankningar och justerar sedan språkmodellen mot den belöningen. Det är därför assistenter byggde på djupt lärande följa instruktioner snarare än att bara förutsäga text.

GitHub Copilot är bra på standardmetoden: miljöomslag, omspelningsbuffertar, träningsloopar och plottar. Belöningsdelningping och hyperparameterval kräver fortfarande bedömning, eftersom en tyst felaktig belöning producerar en agent som tränar glatt men beter sig dåligt.

Gymnasium tillhandahåller standardövningsmiljöer, Stable-Baselines3 tillhandahåller testade algoritmimplementeringar, och TensorFlow eller PyTorch förser nätverken. Börja med en tabellformad rutnätsvärld innan du sträcker dig efter någon av dem.

Sammanfatta detta inlägg med: