Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (2024)

Wat is Q-learning?

Q-learning is eenOff-Policy waarde-gebaseerde methode die een TD-aanpak gebruikt om zijn actie-waarde-functie te trainen:

  • Off-beleid: We zullen daarover praten aan het einde van deze eenheid.
  • Op waarde gebaseerde methode: vindt het optimale beleid indirect door een waarde of actie-waarde-functie te trainen die ons zal vertellende waarde van elke toestand of elk staat-actionpaar.
  • TD -aanpak:Werkt de actie-waarde-functie bij elke stap bij in plaats van aan het einde van de aflevering.

Q-learning is het algoritme dat we gebruiken om onze Q-functie te trainen, eenActie-waarde-functieDat bepaalt de waarde van het zijn in een bepaalde staat en het nemen van een specifieke actie in die staat.

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (1)

DeQ komt van "de kwaliteit" (de waarde) van die actie in die staat.

Laten we het verschil tussen waarde en beloning samenvatten:

  • Dewaarde van een staat, of eenstaat-actiepaaris de verwachte cumulatieve beloning die onze agent krijgt als deze begint bij deze staat (of staat-action-paar) en vervolgens dienovereenkomstig naar zijn beleid handelt.
  • Debeloningis deFeedback die ik uit de omgeving krijgNa het uitvoeren van een actie in een staat.

Intern wordt onze Q-functie gecodeerd doorEen Q-tafel, een tabel waarbij elke cel overeenkomt met een toestand-actiepaarwaarde.Denk aan deze Q-Table alshet geheugen of spiekbriefje van onze Q-functie.

Laten we door een voorbeeld van een doolhof gaan.

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (2)

De Q-tafel is geïnitialiseerd.Daarom zijn alle waarden = 0. Deze tabelBevat voor elke toestand en actie de overeenkomstige staat-actiewaarden.Voor dit eenvoudige voorbeeld wordt de status alleen bepaald door de positie van de muis.Daarom hebben we 2*3 rijen in onze Q-tafel, één rij voor elke mogelijke positie van de muis.In meer complexe scenario's kan de staat meer informatie bevatten dan de positie van de acteur.

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (3)

Hier zien we dat deStaat-actiewaarde van de initiële toestand en omhoog gaan is 0:

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (4)

Dus: de Q-functie gebruikt een Q-TableDat heeft de waarde van elk staat-actiepaar.Gegeven een staat en actie,Onze Q-functie zoekt in de Q-Table om de waarde uit te voeren.

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (5)

Als we samenvatten,Q-learningis het RL -algoritme dat:

  • TreinenQ-functie(eenActie-waarde-functie), wat intern isQ-table die alle waarden van het status-actiepaar bevat.
  • Gegeven een staat en actie, onze Q-functieZoekt de Q-Table naar de overeenkomstige waarde.
  • Als de training is gedaan,We hebben een optimale Q-functie, wat betekent dat we een optimale Q-Table hebben.
  • En als weeen optimale Q-functie hebben, Wijeen optimaal beleid hebbensinds weKen de beste actie om elke staat te ondernemen.

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (6)

In het begin,Onze Q-tafel is nutteloos, omdat het willekeurige waarden geeft voor elk staat-actiepaar(Meestal initialiseren we de Q-Table naar 0).Als de agentOnderzoekt de omgeving en we werken de Q-Table bij, het geeft ons een betere en betere benaderingnaar het optimale beleid.

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (7)

Nu we begrijpen wat Q-learning, Q-functies en Q-Tables zijn,Laten we dieper in het Q-learning-algoritme duiken.

Het q-learning-algoritme

Dit is de q-learning pseudocode;Laten we elk deel bestuderen enZie hoe het werkt met een eenvoudig voorbeeld voordat u het implementeert.Wees er niet door geïntimideerd, het is eenvoudiger dan het lijkt!We zullen elke stap doornemen.

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (8)

Stap 1: We initialiseren de Q-Table

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (9)

We moeten de Q-Table initialiseren voor elk staat-action-paar.Meestal initialiseren we met waarden van 0.

Stap 2: Kies een actie met behulp van de Epsilon-Greedy-strategie

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (10)

De Epsilon-Greedy-strategie is een beleid dat de afweging van exploratie/exploitatie behandelt.

Het idee is dat, met een initiële waarde van ɛ = 1.0:

  • Met waarschijnlijkheid 1 - ɛ: wij doenexploitatie(aka onze agent selecteert de actie met de hoogste waarde-actiepaarwaarde).
  • Met waarschijnlijkheid ɛ:We verkennen(willekeurige actie proberen).

Aan het begin van de training,De kans op verkenning zal enorm zijn, omdat ɛ erg hoog is, dus meestal zullen we verkennen.Maar naarmate de training vordert, en bijgevolg onzeQ-Table wordt beter en beter in zijn schattingen, we verminderen geleidelijk de Epsilon-waardeOmdat we steeds minder verkenning en meer uitbuiting nodig hebben.

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (11)

Stap 3: Actie uitvoeren op, haal beloning rt+1 en volgende status st+1

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (12)

Stap 4: Update Q (st, at)

Vergeet niet dat we in het leren van TD onze beleid of waardefunctie bijwerken (afhankelijk van de RL -methode die we kiezen)Na een stap van de interactie.

Om ons TD -doel te produceren,We hebben de onmiddellijke beloning gebruiktRT+1R_ {t+1}RT+1Plus de kortingwaarde van de volgende staat, berekend door de actie te vinden die de huidige Q-functie in de volgende status maximaliseert (we noemen die bootstrap).

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (13)

Daarom onzeQ((ST,,AT))Q (s_t, a_t)Q((ST,,AT))Update formule gaat als volgt:

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (14)

Dit betekent dat om ons bij te werkenQ((ST,,AT))Q (s_t, a_t)Q((ST,,AT)):

  • Wij hebben nodigST,,AT,,RT+1,,ST+1S_t, a_t, r_ {t+1}, s_ {t+1}ST,,AT,,RT+1,,ST+1.
  • Om onze Q-waarde bij te werken bij een bepaald staat-actiepaar, gebruiken we het TD-doel.

Hoe vormen we het TD -doel?

  1. We verkrijgen de beloningRT+1R_ {t+1}RT+1Na het ondernemen van de actieATBijAT.
  2. Om deBeste toestand-actiepaarwaardeVoor de volgende staat gebruiken we een hebzuchtig beleid om de volgende beste actie te selecteren.Merk op dat dit geen Epsilon-Greedy-beleid is, dit zal altijd de actie ondernemen met de hoogste staatswaarde.

Wanneer de update van deze Q-waarde is voltooid, beginnen we in een nieuwe staat en selecteren we onze actieEen Epsilon-Greedy-beleid opnieuw gebruiken.

Daarom zeggen we dat Q-leren een algoritme buiten de policy is.

Off-policy versus on-policy

Het verschil is subtiel:

  • Off-beleid: gebruik makend vaneen ander beleid voor acteren (inferentie) en update (training).

Met Q-learning is het Epsilon-Greedy-beleid (waarnemend beleid) bijvoorbeeld anders dan het hebzuchtige beleid dat isGebruikt om de beste nodige actiewaarde te selecteren om onze Q-waarde bij te werken (bijwerken van beleid).

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (15)

Verschilt van het beleid dat we tijdens het trainingsgedeelte gebruiken:

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (16)
  • Policy:de ... gebruikenHetzelfde beleid voor handelen en bijwerken.

Bijvoorbeeld, met SARSA, een ander op waarde gebaseerd algoritme,Het Epsilon-Greedy-beleid selecteert het volgende staatspaar, geen hebzuchtig beleid.

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (17)
Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (18)

<< > Updateop GitHub

Introductie van Q -learning - knuffelende gezicht diepe RL -cursus (2024)
Top Articles
Latest Posts
Article information

Author: Velia Krajcik

Last Updated:

Views: 6423

Rating: 4.3 / 5 (54 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Velia Krajcik

Birthday: 1996-07-27

Address: 520 Balistreri Mount, South Armand, OR 60528

Phone: +466880739437

Job: Future Retail Associate

Hobby: Polo, Scouting, Worldbuilding, Cosplaying, Photography, Rowing, Nordic skating

Introduction: My name is Velia Krajcik, I am a handsome, clean, lucky, gleaming, magnificent, proud, glorious person who loves writing and wants to share my knowledge and understanding with you.