Hallo en welkom terug bij de cursus over kunstmatige intelligentie.
Vandaag hebben we het over het tijdsverschil.
Nu is het een heel belangrijke wereld omdat tijdsverschil het hart en de ziel is van het
cue-leeralgoritme.
Dit is eigenlijk hoe alles wat we tot nu toe hebben geleerd samenkomt in het spel binnen het leren.
Dus laten we eens kijken.
Denk aan de tijd dat we spraken over deterministisch versus niet-deterministisch zoeken en onthoud hoe
we in dit geval zeiden: wanneer de agent omhoog wil, gaat hij zeker omhoog.
En als hij in dit geval omhoog wil, is er een kans van 10 procent dat hij die kans van 10 procent overschrijdt
en naar rechts gaat.
En 80 procent kans dat hij goed gaat.
Ga recht omhoog.
Welnu, deze getallen zijn natuurlijk willekeurig en kunnen verschillen.
En dit hele concept is dat het bij verschillende problemen anders kan zijn.
Hij hoeft zich dus geen zorgen te maken over welke kant hij opgaat, alleen dat er wat
willekeur is, iets dat buiten de controle van de agent ligt in deze omgeving.
En wat dat effect had, is, zoals je je herinnert, dat het in het deterministische voorbeeld heel gemakkelijk was
om de waarden te berekenen.
Nou, niet altijd even gemakkelijk, maar in ons geval kunnen we ze gewoon berekenen met behulp van
de Bellman-vergelijking.
En we hadden de exacte waarden.
En dan, zoals je je herinnert, heel zorgvuldig vermeld, dat deze waarden voor het
niet-deterministische zoekvoorbeeld uit mijn hoofd zijn.
Het zijn geen calculus waarvan we weten dat ze op dat moment verloren waren.
Ik zei dat we dat niet doen, we gaan ze gewoon niet berekenen omdat het erg complex is.
Maar de computer zou het kunnen.
En we gingen gewoon akkoord met deze waarden die gewoon waarden zijn die ik heb verzonnen.
Maar ze hebben de klus wel geklaard.
Ze hielpen ons het concept te begrijpen.
Welnu, we komen daar een beetje op terug en begrijpen wat hier precies aan de hand is.
Waarom is het zo veel moeilijker om deze waarden te berekenen in het niet-deterministische voorbeeld of in het algemeen, in deze
problemen in deze omgevingen en de agent die er doorheen gaat?
Waarom kan het zo moeilijk zijn om deze waarden te berekenen?
Nou, als je erover nadenkt, want als de agent bijvoorbeeld van hier naar rechts beweegt,
beweegt hij niet altijd die kant op, soms als een kans dat hij naar de to when gaat in
plaats van rechtdoor te gaan of laten we deze NSW noemen.
Dus in plaats van naar het westen te gaan, kan de agent soms naar het zuiden gaan.
En bijvoorbeeld van hier, in plaats van naar het noorden te gaan, zou hij soms naar het oosten kunnen gaan.
Zo jammer.
Dus hier, in plaats van naar het oosten te gaan, zou hij soms naar het zuiden kunnen gaan en hier in plaats van naar het
noorden, zou hij soms naar het oosten of westen kunnen gaan en hier in plaats van naar het noorden, zou hij soms naar het westen, oosten of westen kunnen
gaan, enzovoort.
Dus en dus zo om deze waarde te berekenen, zou je moeten weten wat deze waardes zijn.
Maar het interessante is dat om deze waarde te berekenen, je moet weten wat deze waarde
is.
Er vindt hier dus veel recursie plaats en daarom kun je niet zomaar definiëren wat deze waarden zijn.
Bovendien is deze recursie niet deterministisch.
Soms gaat het zo, soms is het bergop of rechts.
Soms gaat hij naar links in plaats van omhoog te gaan.
Soms, als hij omhoog wil, gaat hij omhoog.
Het is dus aan het toeval onderhevig.
En misschien gaat het dan vaak via dit pad en gaat hij omhoog, omhoog, omhoog, omhoog, omhoog.
En hij zal denken dat hij vanaf hier altijd een beetje omhoog gaat.
En dus zal de waarde van de staat gaan, het zal goed zijn.
En dan valt hij ineens in de put en daalt deze waarde.
En daarom kun je zien dat er enige toxiciteit of willekeur is in deze hele berekening op deze waarden, omdat ze
allemaal met elkaar verbonden zijn.
Bovendien heb je die willekeur die inherent is aan de omgeving, omdat er een teken is van
het besluitvormingsproces.
Dus daar komt dit allemaal samen.
En daar gaan we het concept van het tijdsverschil introduceren, waardoor de
agent deze waarden kan berekenen.
En hier hadden we te maken met de waarden.
En sindsdien zijn we al overgegaan op kernwaarden.
Daar gaan we dus mee aan de slag.
We gaan kijken naar kernwaarden.
Dus als ik me goed herinner, is dit onze Bellmon-vergelijking voor Kuis-waarden.
Dus een sleutelwaarde of de waarde van het uitvoeren van een soort actie A in toestand s is gelijk aan de beloning die je krijgt
na het uitvoeren van die actie.
Dus direct na die actie, plus je krijgt het maximum, krijg je de gamer van de som van al het
mogelijke.
Dus je krijgt een beetje de verwachte waarde van de staat waarin je terechtkomt.
Dus zoals je je herinnert, was er onze formule voor de bel in de vergelijking.
En nu, voor de eenvoud, gaan we het op de ouderwetse manier herschrijven, op de manier waarop
we over de portiersvergelijking spraken voordat we wisten van deze Tequesta-stad.
Zoals u zich herinnert, was dit onze Belmond-vergelijking in de zin van een deterministisch voorbeeld, want hier heb
je die verwachte waarde niet.
Je hebt niet de som die over alle kansen gaat.
Je hebt dat gewoon alsof het bepaald is.
Waar ga je eindigen, in welke staat ga je eindigen en dan haal je het maximum
in die ene staat en de reden dat we het herschrijven is gewoon de enige reden is omdat het gewoon gemakkelijker is om te schrijven het en het
zal gemakkelijker zijn om gewoon mee te gaan met de formule.
Dus we gaan onthouden dat we dit onderdeel hebben vervangen door deze balk.
En je zult deze notatie ook in veel literatuur vinden.
Het zal dus gemakkelijker voor je zijn om samen met andere bronnen te volgen als je die bestudeert.
Maar onthoud dat we in feite deze probabilistische benadering hier bedoelen in plaats van deze notatie, het is gewoon gemakkelijker voor ons om
dit te bedienen en te begrijpen wat er aan de hand is en gewoon naar
de vergelijkingen te kijken zodat ze rommelig.
Maar nogmaals, onthoud dat we in feite deze probabilistische benadering hier bedoelen.
En dus zijn we eigenlijk bijna klaar.
Dus laten we eens kijken wat er aan de hand is.
Dus hier is onze lege staat van het doolhof.
We hebben geen kernwaarden.
Laten we eens kijken.
Of misschien wel, maar laten we het voorlopig even blanco houden.
Laten we eens kijken naar een van de toestanden, een van de cellen, deze specifiek.
En hier hebben we bijvoorbeeld voor de actie van omhoog gaan.
We hebben een nieuwe waarde die we hebben berekend.
Het is dus niet dat we nog geen nieuwe waarden hebben.
Dat doen we, maar we illustreren gewoon niets.
We houden gewoon een blanco ter wille van de eenvoud.
Maar het bureau loopt al een tijdje rond.
En laten we hypothetisch zeggen dat hij op de een of andere manier deze waarde heeft berekend van omhoog of naar het noorden gaan
vanuit deze staat, vanuit deze specifieke cel en de waardenvraag en a en nu wat we hebben.
Dus hij staat momenteel met zijn blauwe pijlen naar de agent te wijzen die in deze cel zit en nu moet hij een
keuze maken.
Waar gaat hij heen?
En hij kent de waarde hiervan van de actie die naar het noorden gaat.
En dat is Kuseni.
En hier zeg ik eerder en de reden daarvoor is dat hij die is voordat hij actie onderneemt.
Hij heeft nog geen actie ondernomen.
Hij zit dus nog in de cel.
En voordat hij de actie ondernam, is de waarde hier een ESSANY en nu onderneemt hij daadwerkelijk de actie.
Dus laten we zeggen dat hij beslist dat dit de beste is.
Hij onderneemt de actie en gaat naar deze cel.
Welnu, wat er nu gebeurt, komt erna.
Dus nadat hij actie heeft ondernomen, kunnen we meten wat deze waarde doet.
Laten we gewoon deze waarde berekenen, de waarde van de beloning voor het ondernemen van die actie.
Plus gamma keer het maximum van deze nieuwe staat waar hij net in is gekomen als prime.
En dus het maximale over alle mogelijke acties in Espero.
En dus wat we hier hebben, is de waarde ervoor in al die actie.
En dan hebben we deze statistiek achteraf berekend.
Maar zoals u zich kunt herinneren uit de vorige formule.
Dus als we heel snel teruggaan van de vorige formule waar we gewoon uitrekenen dat het inderdaad de waarde is,
zo wordt Q van Santé berekend.
Dus deze juiste pi?
We hebben het zojuist apart berekend, maar nadat we actie hebben ondernomen.
Dus zoals ik al eerder kenden we een Q van een geschatte waarde, iets dat we hebben berekend
door onze iteraties produceert iets.
Dus een waarde die in ons geheugen is opgeslagen.
Dus net als een nummer dat we kennen.
En nu, nadat de acties zijn uitgevoerd, weten we welke beloning hij daadwerkelijk heeft gekregen, welke beloning de agent
daadwerkelijk heeft gekregen, en kunnen we deze nieuwe waarde berekenen.
Dus in wezen herberekenen we deze waarde.
Maar nu met nieuwe informatie, de nieuwe informatie is de beloning die we hebben gekregen en plus waar STADA in
is beland en wat het maximum is in die staat, waar deze nieuwe waarde voor is.
Dat is een specifieke datum waar we naar kijken.
Dus wat is de waarde van dat wezen in die staat?
Dus eigenlijk de Q van de NSA, maar gezien de nieuwe informatie en nu wordt het temporele verschil gedefinieerd als
de tee'd van activa van deze twee van het verschil tussen deze twee.
Dus hier is het eerste element dat je gaat waarderen.
Dus het soort Q van S en A maar achteraf berekend en de vorige Q van An S en A die
je in je geheugen had opgeslagen.
En dus is de vraag, zijn ze anders.
Dus idealiter zouden ze hetzelfde moeten zijn.
Idealiter zou dit hetzelfde moeten zijn als dit, simpelweg omdat dit de formule is om dit te berekenen.
Maar het punt is dat dit niet iets is dat we berekenen.
Dit is iets dat we hebben van empirisch bewijs, iets dat we hebben door gewoon vaak door het doolhof
te gaan en te berekenen.
Dus dit is iets wat we tot nu toe hebben bedacht.
Het is niet gerelateerd aan de huidige iteratie.
Het is iets dat we eerder bedachten, lang, lang geleden.
Maar in een van onze vorige iteraties gaan we door het doolhof, terwijl dit iets is dat we zojuist
hebben berekend en er geen garantie is dat ze hetzelfde zullen zijn.
Vanwege de willekeur die in het doolhof bestaat, omdat dit had kunnen worden berekend en sommige bepaalde
willekeurige gebeurtenissen zijn geactiveerd en dit kan een andere willekeurige gebeurtenis zijn.
En laten we dat nu hier herschrijven.
Laten we het daarheen verplaatsen.
Dus hoe gebruiken we dit?
De vraag is, oké, dus we hebben dit temporele verschil.
Hoe gebruiken we dit en waarom wordt het een tijdsverschil genoemd?
Welnu, de reden dat het tijdsverschil wordt genoemd, is omdat je in feite hetzelfde berekent.
Je berekent wachtrij van Essany.
Dus de wachtrijwaarde van die actie bereken je hier en je berekent het hier.
Maar het verschil is de tijd.
Dit is uw wachtrij van santé voorheen.
Dit is uw wachtrij van Essany.
Nu ben je nucleair.
Vicini.
En de vraag is, is er een verschil geweest?
Is dit de verschuiving tussen hen in de tijd en hoe kunnen we dit in ons voordeel gebruiken als er inderdaad een verschuiving
in de tijd heeft plaatsgevonden?
Wel, één ding zouden we kunnen doen, we kunnen zeggen, oké, wel, weet je, onze wachtrij van santé is niet dat deze
nieuwe waarde niet gelijk is aan oud.
Dus we gaan van het oude af, we zullen het oude vergeten en we gebruiken dit gewoon als onze nieuwe waarde.
Maar dat zou niet slim zijn.
En de reden daarvoor is dat er in onze omgeving soms willekeurige gebeurtenissen kunnen plaatsvinden.
En wat als onze oude QSA van Essany iets was dat, weet je, consequent in 80 procent van de tijd gebeurt
en dan wordt vertegenwoordigd door wat 80 procent van de tijd gebeurt?
En dan deze nieuwe, precies wat er gebeurde door willekeur.
In dat geval gooien we degene die verantwoordelijk is voor het grootste deel van de situatie weg.
En we gaan het vervangen door iets dat maar 10 of 20 procent van de tijd gebeurt.
Dat zou niet de beste manier zijn om te gaan.
En dat is precies waarom we onze kernwaarden niet volledig willen veranderen.
We willen gebruik maken van, zoals, stap voor stap veranderen, beetje bij beetje.
En daarom gaan we dit temporele verschil op een specifieke manier gebruiken.
Dus we gaan zeggen, hier is een formule, we gaan onze cue van Sané nemen en we gaan het op zo'n
manier bijwerken.
We nemen de oude waarde van Kuseni en we gaan alfa maal het tijdsverschil optellen.
Dus Alpha wordt een leertempo.
Dat is een nieuwe parameter die we introduceren.
Zo snel leert algoritme.
Dus eigenlijk nemen we dit verschil en wat het ook is, we voegen het toe aan onze vorige CUBICIN.
Nu, deze formule slaat waarschijnlijk nergens op, of gewoon door te kijken, het slaat nergens op omdat
je hier nieuwsgierig bent en Krsna hier.
Het is hetzelfde.
Dus waarschijnlijk moeten ze elkaar ontkennen.
Maar we moeten dit op een iets andere manier herschrijven.
Dus ik ga het je gewoon nog een keer laten zien, dus ik voeg gewoon tijd toe aan deze formules.
Dus hier is Q T min één het voorgaande jaar, Q T min één het voorgaande jaar Kutty.
Het nieuwe jaar zou hier een cirkel moeten zijn, een cirkel hier ook, maar dat geeft niet.
En hier hebben we een alfa-temporeel verschil, het nieuwe het huidige temporele verschil.
Zodat u kunt zien wat we aan het doen zijn.
We zeggen OK, laten we aannemen dat onze huidige Q gelijk zal zijn aan onze vorige Q plus welk tijdsverschil we
ook hebben gevonden maal alfa.
Deze formule hier is het hart en de ziel van het Q-leeralgoritme.
Dit is hoe de Q wordt bijgewerkt en het is goed dat we al hebben geleerd wat Q-waarden zijn, wat Gamma is, wat
R is en wat dit allemaal is.
En nu hoeven we alleen nog te zien dat je een eerdere Q-waarde hebt.
Ja dat is goed.
En wat er dan kan gebeuren, is dat wanneer je actie onderneemt terwijl je daadwerkelijk de actie onderneemt, wanneer de agent actie onderneemt,
hij weet dat hij een beloning zal krijgen en dat hij in een staat zal eindigen.
En op basis daarvan kan hij berekenen, aha, oké, dus wat zou de Q-waarde moeten zijn van die
zet die ik deed en dat is nu dit deel van de vergelijking.
Door de oude Q-waarde af te trekken, krijgt u uw tijdsverschil en nu moet u een centraal verschil van het alfatype
nemen en zo wordt u aangepast aan de waarde.
Dat is wat je nu gaat aanpassen aan de waarde.
Om dit af te ronden, dit is een beetje zoals dit is voldoende om te begrijpen wat er
aan de hand is, maar om de zaken nog meer te verduidelijken of misschien nog meer te verwarren, wat moeten we doen
is dat we deze tijdelijke verschil of dit tijdelijke verschil hier.
We gaan het in deze formule pluggen.
Dus we nemen al dit deel en stoppen het in deze formule en eindigen met een enorme vergelijking.
Hier gaan we.
Daar is onze vergelijking.
Dit is dus de volledige vergelijking met het tijdsverschil volledig uitgeschreven.
En de reden dat ik dit heb opgeschreven is, ten eerste, je zult dit waarschijnlijk in andere literatuur
vinden als je het bestudeert.
En het tweede is dat het sommige dingen een beetje ingewikkelder maakt.
Ja, de formule is langer, maar maakt ook het een en ander wat duidelijker.
Zo zie je hier bijvoorbeeld de rol Alpha Place.
Je kunt het beter zien, want kijk hier eens naar.
Hier heb je.
Q, t min één, en hier heb je Q, T min één met een negatief teken, dus als je Alpha
invoegt gelijk aan één, als je hier een één plaatst, dan wordt dit hiermee teniet gedaan.
Dus ze zullen elkaar vernietigen.
En alles wat je nog hebt, is dit deel.
En wat dat betekent is precies die situatie waarin we zeiden, oké, dus we hebben een nieuwe waarde, wat
het ook had moeten zijn.
Laten we onze Q-waarde van de nieuwe waarde bijwerken en vergeten wat we eerder hadden.
En zoals we hebben besproken, is dit niet de beste aanpak omdat er hier willekeurige gebeurtenissen zijn en we de dingen stap
voor stap willen bijwerken.
En aan de andere kant, als je alfa gelijk aan nul zegt, wat er dan gebeurt, is dat je dit
hele deel en je Q t volledig vergeet, de nieuwe of de huidige zal altijd gelijk zijn aan de
vorige.
Je gaat dus niets leren.
En dat betekent dat wat er ook gebeurt in het doolhof er niet toe doet, want je hebt lang geleden je cuchi-waarde
bepaald en je gaat het gewoon houden.
En daarom zou Alpha niet nul moeten zijn of één moeten zijn.
Het zou ergens tussenin moeten zitten.
En het zal je in staat stellen om langzaam te leren, stap voor stap zal je toelaten om, als jouw of
de agent, terwijl het door het doolhof gaat, dit temporele verschil te krijgen.
En langzaam maar zeker wordt deze waarde bijgewerkt en bijgewerkt.
En wat er uiteindelijk zal gebeuren, is dat op een gegeven moment, hopelijk, het algoritme zal convergeren.
Dat betekent dat dit temporele verschil steeds dichter bij nul zal komen en uiteindelijk zullen
we heel dicht bij nul komen, zelfs nul nul nul nul.
En wat dat betekent is dat elke keer dat je je nieuwe Kutty-waarde of je nieuwe berekende waarde bent, wat het
had moeten zijn.
Dus niet deze, maar wat het hypothetisch had moeten zijn om de stap te zetten, zal net gelijk zijn aan
je vorige Kutty-waarde en dan één, dan is het nul.
En dat betekent dat wanneer uw temporele verschil nul is, uw algoritme is geconvergeerd en dat het niet echt nodig
is om door te gaan met het bijwerken van wat er aan de hand is.
Het is niet nodig om door te gaan met het bijwerken van uw Q-waarden.
Het voorbehoud hier is dat de enige keer, ja, waarschijnlijk een van de weinige keren dat je nog steeds door zou
willen gaan met het uitvoeren van dit hele, je weet wel, het bijwerken van je Q-waarden.
Als de omgeving voortdurend verandert, is het niet alleen dat er wat
willekeurige stochastische gebeurtenissen in zitten, maar de omgeving zelf verandert, verandert, verandert met de tijd.
Je moet dus continu bijleren, want het lukt je niet om alles te leren en het optimale
beleid te bedenken, want het optimale beleid verandert ook voortdurend met de omgeving.
In dat geval moet u het tijdsverschil blijven berekenen en de Q-waarden berekenen.
Maar afgezien daarvan is dat een soort extra complicatie.
Anders dan dat, is dit hoe Kouvelis is bijgewerkt.
Dit is dus de hoofdformule van het Q-leeralgoritme en dit lijkt een beetje op de uitgebreide versie daarvan.
En nu zou het allemaal samen moeten komen.
Het is logisch waarom we de Bellman-vergelijking hebben en niet alleen wat het vertegenwoordigt,
de kernwaarden, maar ook hoe de agent zijn Q-waarden bijwerkt en precies vindt wat er in die omgeving aan de hand is, zodat het met
het optimale beleid kan komen .
Dus ik weet dat dit nogal wat is om in je op te nemen, maar hopelijk heb je genoten van
de tutorial van vandaag en hopelijk heb je de onderliggende concepten en intuïtie achter de kernwaarden weggenomen.
En wat is het hele idee van temporeel verschil en waarom het belangrijk is, waarom het ons helpt onze agenten
langzaam te trainen en ze hun omgevingen waarin ze opereren te laten begrijpen.
En als je wat meer wilt weten over temporele verschillen, dan is een zeer populair
artikel over het leren voorspellen met de methoden van temporele verschillen door Richard Sutton van negentienentachtig achtenveertig.
We hebben ook al een referentie van Richard Sutton gehad.
Maar dit is er nog een die echt een boek heeft.
Dus als je, als je ingaat op, je weet wel, zijn schrijfstijl, zijn manier van communiceren, kijk dan eens naar
zijn boek, het is een soort uitgebreidere versie van al deze dingen.
Ik heb het boek niet gelezen, maar dat is wat ik me inbeeld.
Tegelijkertijd is dit de link naar de krant en kun je daar iets meer of waarschijnlijk
veel meer leren over temporele verschillen.
En ik hoop dat je geniet van vandaag kleermakerszit en ik zal citeren.
Tot de volgende keer.
Tot die tijd, geniet van I.