Hallo en welkom terug bij de cursus over kunstmatige intelligentie, en tot slot, we zijn bezig met de leuke dingen, we
zijn bezig met diep leren.
Oke.
Dus laten we eens kijken.
Eerder spraken we over het leren van kinderen en waar het allemaal om draait.
En we leerden over de leeftijd en de omgeving en hoe de agent zal kijken naar de staat waarin hij of zij
zich bevindt.
Onderneem een actie, ontvang een beloning, ga een nieuwe staat binnen.
En op basis van die feedbacklus zullen ze acties blijven ondernemen en daarvan leren, begrijpen wat de betere acties
zijn om te ondernemen.
En dus keken we naar dit basisvoorbeeld van een doolhof.
We begrepen dat naarmate het tijdperk de omgeving verkent en begrijpt wat de waarden van de staten zijn, we
verder gingen van het omgaan met de waarden van de staten naar het omgaan met de waarden
van de acties of de kernwaarden.
En op basis daarvan begrepen we hoe plannen in een niet-sarcastische omgeving werken en hoe beleid werkt
in stochastische omgevingen.
En dit is een voorbeeld van beleid.
Dus dat is een korte samenvatting van alles wat we hebben besproken in de basiscursus.
En laten we nu eens kijken hoe dit naar een hoger niveau kan worden getild door middel van deep learning, door deep learning
toe te voegen.
Oké, dit is dus onze omgeving.
En wat we nu gaan doen, is dat we gaan toevoegen, in plaats van alleen basisberekeningen te doen in deze matrix die we hebben, wat vrij
eenvoudig is, wat we gaan doen is dat we twee assen gaan toevoegen, die een
X- en Y-as toevoegt, of we noemen ze X1 en X2 om de zaken nog algemener te maken.
En hier hebben we een testamentnummer, de kolommen, één, twee, drie, vier.
Hillshire regelnummer van de rijen, één, twee, drie.
En dus kan nu elke afzonderlijke toestand worden beschreven door een paar van twee waarden, X1 en extra.
Dus elk van deze vierkanten waarin de agent zich mogelijk kan bevinden, kan worden beschreven door x1 x2.
Dus op dit moment staat hij bijvoorbeeld in het vierkant met x1 gelijk aan één en x2 gelijk aan twee, en daarom kunnen we ergens elk
vierkant doen, wat betekent dat we elke toestand kunnen beschrijven.
Dan is dit natuurlijk een sterk vereenvoudigde versie van een omgeving waarin toestanden worden beschreven, maar in dit geval
werkt het toch.
En dat betekent dat we deze toestanden nu in een neuraal netwerk kunnen voeden.
En tussen haakjes, hier wil ik even vermelden dat we aan het eind van de cursus bijlagen hebben,
we hebben Anex, nummer één.
En nummer twee, om met succes verder te gaan met de sectie, is het ten zeerste aan te raden
om Anex nummer één te bekijken, dat zich op een kunstmatig neuraal netwerk bevindt.
Dus je begrijpt hoe ze werken, zodat we dat hier niet hoeven uit te zoeken.
En we kunnen gewoon gebruik maken van de voordelen van de kennis van hoe kunstmatige neurale netwerken werken.
En dus voeren we deze informatie over de toestand in een neuraal netwerk in en dan zal het deze informatie
verwerken.
Dus x1 x2, afhankelijk van de structuur van het neurale netwerk, kan het meerdere verborgen lagen hebben,
enzovoort.
Daar kom je dus achter in de praktische tutorials.
Maar aan het einde zullen we zo structureren dat het vier waarden uitspuugt en deze vier
waarden worden eigenlijk ArcView-waarden.
Dus de waarden die bepalen welke actie we moeten ondernemen.
Verderop in deze zelfstudie zullen we precies zien hoe deze sleutelwaarden worden gebruikt om te beslissen welke actie
wordt ondernomen.
Maar het belangrijkste punt hier is dat we niet langer alleen naar dit doolhof kijken vanuit een lerend perspectief.
We nemen nu de toestand van het doolhof en we voeren ze in een diep neuraal netwerk om deze
sleutelwaarden te krijgen.
En aan het eind van de dag komen we nog met een actie.
We gaan nog begrijpen welke actie we moeten ondernemen en we zullen dit alles in meer detail bespreken.
Maar de vraag is nu waarom?
Waarom doen we dit allemaal?
Waarom voltooien we, waarom maken we de dingen zo veel ingewikkelder terwijl die initiële benadering van leren
al werkte?
Welnu, de reden daarvoor is dat het belangrijkste leerproces in deze zeer simplistische omgeving was.
En we gaan voorlopig door met deze zeer simplistische omgeving om de concepten beter te
begrijpen.
Maar tegelijkertijd zal dat eenvoudige sleutelleren niet langer werken in complexere omgevingen.
En we hebben het bijvoorbeeld over de zelfrijdende auto's, die doom zullen
creëren of spelen wanneer de andere kunstmatige intelligentie doom speelt of andere Atari-games zoals
Breakout of zelfs zelfrijdende auto's en meer geavanceerde versterkingsleren, dingen zoals robots die rondlopen en acties uitvoeren.
In al die gevallen is leren in principe onvoldoende, niet sterk, niet krachtig genoeg
om die uitdagingen aan te kunnen.
En net zoals we hebben gezien in de deep learning-cursus, als je in onze diepe denkers bent geweest
of als je de bijlage-secties hebt gedaan en niemand je heeft aangekondigd dat zal doen, waar je weet dat deep learning
veruit superieur is aan elke vorm van machine learning, laat staan eenvoudig leren.
En daarom maken we hier gebruik van de kracht van deep learning.
Dus we voeren de informatie over de omgeving in als een vector van waarden.
Dus in dit geval gewoon naar.
Waarden in een diep neuraal netwerk.
En dan gebruiken we dat om de acties uit te voeren die we willen om te beslissen welke acties de agenten
gaan ondernemen.
Dus dat is een soort overzicht op hoog niveau van waarom we dit doen.
En laten we nu eens in wat meer detail bekijken wat er gebeurt met de concepten van leren wanneer we
overstappen, wanneer we de transformatie maken van of overgaan van eenvoudig leren naar diep leren.
Zoals je in de presentatiehandleidingen hebt gezien, hadden we een dia als deze, die de basis vormt voor het leren
van temporele verschillen.
Dit is de formule voor tijdsverschil.
En in principe.
Dus laten we doornemen.
Dus eigenlijk hadden we een agent die hier in deze staat was, wat wordt aangegeven door Blue
Arrow, en we begrepen hoe tijdsverschil werkt voor deze sleutelwaarde van bijvoorbeeld omhoog gaan.
En dus wat we hier zagen, was voordat dit in de eenvoudige kry zit, niet in het typische leren.
Dit in het eenvoudige leren.
Wat we zagen was voordat de agent een bepaalde waarde had dat hij had geleerd over deze actie om naar boven te gaan.
En dus besluit hij om deze actie te ondernemen om naar boven te gaan.
En direct nadat hij deze actie heeft ondernomen, krijgt hij een beloning voor het uitvoeren van deze actie in deze staat.
En dat is die beloning.
Bovendien kan hij nu de waarde evalueren van de huidige staat waarin hij zich bevindt, wat het maximum is van
alle Nuku-waarden, van alle doelen van de nieuwe acties.
Hij kan een probleem in de nieuwe toestand als priemgetal nemen en we vermenigvuldigen met de vervalfactor van gamma.
Dus dat is in wezen de cue, de nieuwe cue-waarde, of zoiets als de empirische waarde die hij zojuist heeft ontvangen voor
het ondernemen van die actie.
En idealiter zouden deze twee hetzelfde moeten zijn.
Zodat eigenlijk de sleutelwaarde die hij in zijn geheugen had over deze actie in deze staat gelijk zou
moeten zijn aan de werkelijke beloning, plus de gammatijden, de waarde van de staat waarin hij belandde.
En daarom berekenen we zo het tijdsverschil.
We nemen wat hij kreeg na min wat hij kreeg, wat hij in gedachten had, wat hij verwachtte, je zou de een
van de ander aftrekken.
En dat is een tijdsverschil.
En dan gebruik je je leersnelheid alfa om je Q-waarde aan te passen, je unieke waarde door het temporele
verschil, maar met een alfa-coëfficiënt.
Dat is dus de essentie van het simpele Q Learning.
Laten we nu eens kijken hoe het verandert in verkleuring.
En dus gaan we nog steeds met de dia werken, maar we gaan gewoon zien wat er precies gebeurt.
Dus in deep Q Learning zal het neurale netwerk vier valleien voorspellen, zoals we in de vorige eigenaren
zagen voor Abdulnasser, het neurale netwerk zal vier waarden voorspellen of het kan meer waarden voorspellen als er
meer mogelijke acties zijn in een bepaalde staat.
Maar in dit geval, als we weten dat er maar vier acties zijn: omhoog, rechts,
links, omlaag, en dus zal het neurale netwerk vier van deze waarden voorspellen.
Er zal dus geen sprake zijn van een diepgaande leersituatie die belangrijk is om te begrijpen.
Er is geen voor of na.
En zo leren we dit wat beter kennen.
Dus het neurale netwerk zal vier van deze waarden voorspellen en het zal niet vergelijken met wat er daarna zal gebeuren,
maar het neurale netwerk zal zich vergelijken met deze exacte waarde.
Maar het was deze waarde die in de vorige stap werd berekend.
Dus in de vorige keer dat de agent in dit exacte vierkant stond, dus laten we zeggen, ik weet het niet, enige tijd
geleden was de agent weer, het was ook in dit exacte vierkant.
En het heeft deze waarde eerder berekend.
Dus in de vorige keer, lang geleden, heeft de agent deze waarde berekend.
Vervolgens heeft de agent deze waarde opgeslagen voor de toekomst en nu is de toekomst aangebroken.
Dus nu staat hij weer op het plein, en nu heeft hij deze nieuwe waarden, die is voorspeld, en een
ervan is dat de vier omhoog gaan.
Dus wat hij nu gaat doen, is de voorspelde waarde van Q vergelijken met deze waarde, die hij van de
vorige tien had genoteerd.
En we zullen precies begrijpen waarom dit nu belangrijk is.
Het is dus belangrijk om te begrijpen dat er geen voor en na in dit specifieke vierkant
is, de specifieke tijd dat we de sleutelwaarde nemen die hij deze keer heeft voorspeld met behulp van het neurale netwerk.
En we vergelijken het met deze waarde die hij had van de vorige keer, van de vorige keer dat hij op
dit plein was om de hele situatie te beoordelen en, weet je, net als de vorige keer dat
hij deze actie daadwerkelijk uitvoerde.
Dus daar gaan we.
Laten we nu eens kijken hoe dit allemaal werkt in het neurale netwerk en waarom is het alsof ik weet dat
het nu een beetje ingewikkeld klinkt, maar we zullen het zo meteen opsplitsen in eenvoudige termen.
Dus dit op je eigen netwerk, we passen in de toestanden van de omgeving in het neurale netwerk dat
door de verborgen lagen gaat.
Dan komt het uit met deze uitgangen, Q1 tot Q2, tot Q3, Q4 in die specifieke staat.
Dit zijn de belangrijkste waarden die het neurale netwerk voorspelt voor de mogelijke acties.
Dat zijn de kernwaarden.
Dus dan zijn we.
Voorbereiden om te richten en deze doelen is precies zo als we hier teruggaan, dit is het doelwit.
Dit is dus de waarde die werd voorspeld.
En dan, maar we weten ook dat we een doelwit hebben van de laatste keer dat we op het plein waren.
We hebben een doel voor dezelfde actie, die bijvoorbeeld omhoog is.
Dus hier hebben we een doel en we gaan dit vergelijken met Q1 vergelijken met dat doel.
We vergelijken het tweede kwartaal met dat doel, het doel dat we eerder hadden, het derde kwartaal met het doel, het
vierde kwartaal met het doel.
En dit is dus het deel waar het neurale netwerk of de agent nu door middel van diepgaand leren leert om beter
door de ruimte te gaan.
En het belangrijkste punt hier is dat we nog steeds aan het solliciteren zijn en leren.
Maar de concepten in het leren van eenvoudige sleutels leer je door temporele verschillen, die vrij eenvoudig zijn, die
we al hebben besproken en die we nu vrij goed kennen.
Maar hoe leren neurale netwerken tegelijkertijd bij deep learning?
Nou, neurale netwerken leren door hun gewicht aan te passen.
Dus we moeten de concepten van versterken van de concepten van eenvoudig leren aanpassen aan de manier waarop neurale netwerken echt werken, en dat
is door hun gewichten bij te werken.
En dit is wat we hier proberen uit te zoeken.
Hoe passen we dat concept van tijdsverschil aan aan een neuraal netwerk, zodat we de volledige kracht van
neurale netwerken kunnen benutten?
Tot nu toe hebben we dit gekregen.
Dus we gaan hier onze omgevingstoestand binnen terwijl een vector door een neuraal netwerk gaat, we krijgen voorspellingen van
nieuwe waarden.
En vanaf de vorige keer dat de agent in die staat was, hebben we dit nieuwe doelwit om een, twee, drie
en vier te targeten voor elk van deze respectieve acties.
En dus zijn we nu aan het, oké, laten we ze eens met elkaar vergelijken.
En vanaf hier wordt het vrij eenvoudig als je op de hoogte bent van neurale netwerken.
Nogmaals, dat is een bijlage.
Nummer een.
We gaan een verlies berekenen, dat is Al hier, en we gaan dit mikken minus Kuis, minus
dit.
We gaan dat soort vierkante verschil van elk van deze kwadrateren.
En we gaan ze optellen, zodat we de som van de kwadratische verschillen van deze sleutelwaarden en hun doelen
kunnen nemen.
En we gaan ze opzetten en dat wordt een verlies.
En dus idealiter, net zoals we hadden bij het leren van temporele verschillen.
Dus als we even teruggaan, bedenk dan dat we idealiter zeiden dat dit gelijk zou zijn aan dit.
Dus we willen dat het tijdsverschil nul is.
Dus dat betekent dat de agent in feite precies goed voorspelt wat jij weet, de waarde is dat
de agent precies voorspelt of dat hij een geheugen heeft, precies de omgeving beschrijft, en daarom
kan de agent vrij goed door de omgeving navigeren .
Rechts.
Er zijn geen verrassingen.
Er is geen er is geen antwoord.
Zolang dit temporele verschil zeer positief of negatief is, hebben we enkele verrassingen.
Maar als het temporele verschil nul is, dan kent hij de omgeving zo goed dat hij kan voorspellen wat er aan de hand is
en dat kan hij ook.
En daarom zal zijn beleid erg goed zijn en hij zal erin kunnen navigeren.
Dus hier hetzelfde.
Dus we willen dat dit verlies zo klein mogelijk is.
En daarom gaan we nu naar dit deel waar we de echte kracht van neurale netwerken gaan gebruiken, zodat
we dit verlies kunnen opvangen en we gaan terugpropagatie of stochastische gradiëntafdaling gebruiken om dit
verlies op te vangen en passeer het door het netwerk, geef het terug of terug gepropageerd door een
netwerk en via stochastische gradiëntafdaling.
Werk de gewichten van deze synapsen in het netwerk bij, zodat de volgende keer dat we door dit netwerk gaan, de manier waarop het al
een beetje beter de omgeving beschrijft, en dat is precies hoe het werkt.
Dus hier heb je, als we teruggaan, dit zijn berekende verliezen, Kalka, en het wordt gepropageerd voor het netwerk.
De gewichten zijn bijgewerkt.
De volgende keer dat we hier zijn, gebeurt dit hier keer op keer.
Dit gebeurt opnieuw en zo verder en zo en het blijft gebeuren.
En zo leert deze agent.
Of eigenlijk is het nu het neurale netwerk, dat het brein is van de agent die aan het
leren is, dat steeds meer de omgeving beschrijft.
En daarom kan de agent door de omgeving navigeren.
Wanneer we beschrijvende omgeving zeggen, betekent dit in feite dat wanneer we de toestanden van de
omgeving waarin de agent zich bevindt, plaatsen, we meer kans hebben om steeds dichter bij de werkelijke Jiyu-waarden te komen.
En dat gebeurt omdat de waarden die we willen vinden de juiste actie zijn, en dat
gebeurt omdat deze nieuwe doelen eigenlijk empirisch zijn afgeleid.
Dus hoe vindt hij deze nieuwe doelen?
Dat is dat er eigenlijk is.
Dus hij observeert eigenlijk, oké, dus als ik deze stap eenmaal heb gezet, wat is dan de beloning die ik krijg en wat is
dan de waarde van deze staat?
Dus hetzelfde als we eerder zagen in Q Learning in de eenvoudige leerintuïtie.
Dus hij leert dit met vallen en opstaan en bouwt dan zijn netwerk of werkt de weg
naar zijn netwerk zo bij dat de voorspelde Q-waarden steeds dichterbij komen.
Benadering van het doel, sleutelwaarden, dus zeer vergelijkbaar met het concept dat we hier hebben besproken in het eenvoudige
temporele verschil, het leren van het eenvoudige sleutelleeralgoritme.
Dus daar gaan we.
Zo leert de agent.
Dus we zijn tot hier.
Dat is het leergedeelte.