WEBVTT

00:00.710 --> 00:05.600
Hallo en welkom terug bij de cursus over kunstmatige intelligentie, ik hoop dat je enthousiast bent

00:05.600 --> 00:11.990
over de tutorial van vandaag, want we zetten onze allereerste stap in de wereld van AI en vandaag hebben we het

00:11.990 --> 00:13.120
over versterkend leren.

00:13.130 --> 00:17.840
Het is een heel belangrijk verhaal omdat het de basis vormt voor al het andere dat in deze cursus gaat

00:17.840 --> 00:18.150
gebeuren.

00:18.620 --> 00:20.940
Dus laten we hier beginnen.

00:20.960 --> 00:26.660
We hebben een klein doolhof, en dit doolhof is onze representatie van een omgeving.

00:26.660 --> 00:29.150
En daar gaan we in deze cursus mee aan de slag.

00:29.150 --> 00:33.980
We krijgen te maken met bepaalde omgevingen waarin onze kunstmatige intelligentie

00:33.980 --> 00:36.790
gaat presteren, acties gaat ondernemen.

00:36.800 --> 00:41.570
Het zal proberen deze omgevingen te verslaan, en ze zal proberen te winnen in deze omgevingen.

00:42.200 --> 00:43.940
En hier hebben we een agent.

00:44.210 --> 00:46.940
De agent is onze kunstmatige intelligentie.

00:46.970 --> 00:52.910
Dat is de persoon of dat is de geest die door deze omgevingen zal navigeren en zal leren van de feedback

00:52.910 --> 00:56.660
die hun geest hem zal geven om bepaalde acties uit te voeren.

00:57.020 --> 01:03.350
De manier waarop het werkt, is dat de agent bepaalde acties uitvoert in deze omgeving en als gevolg daarvan zal

01:03.620 --> 01:06.170
de toestand waarin hij zich bevindt veranderen.

01:06.180 --> 01:10.010
Dus het kan verder of dichterbij of meer naar links zijn, meer om te schrijven.

01:10.010 --> 01:13.340
Het kan bepaalde andere parameters hebben die de status beschrijven.

01:13.340 --> 01:15.110
En die parameters gaan veranderen.

01:15.170 --> 01:20.940
De staat gaat veranderen vanwege de actie die wordt ondernomen en het zal ook beloningen krijgen op basis van de actie.

01:20.970 --> 01:25.040
Dus elke keer dat het een actie onderneemt, verandert de staat en krijgt het nu een beloning.

01:25.040 --> 01:30.230
Maar soms kan het gebeuren dat het de staat niet verandert, dat de actie de staat niet verandert, of dat er

01:30.560 --> 01:33.950
geen beloning is voor het ondernemen van die actie in die bepaalde staat.

01:33.950 --> 01:34.250
Het was.

01:34.580 --> 01:38.030
Maar desalniettemin zullen de agenten blijven doen, wat inhoudt dat ze acties

01:38.030 --> 01:42.230
ondernemen, de staat veranderen, beloningen krijgen, actie veranderen, acties ondernemen, de staat veranderen en beloningen krijgen.

01:42.650 --> 01:47.270
En door dat proces te doen, leer je over de omgeving die de omgeving

01:47.270 --> 01:53.060
gaat verkennen, begrijpen welke acties leiden tot goede beloningen en gunstige toestanden, en welke acties leiden tot

01:53.060 --> 01:55.060
slechte beloningen en ongunstige toestanden.

01:55.850 --> 01:59.590
En dit is een heel simplistische weergave van een heel mondiaal probleem.

01:59.600 --> 02:04.340
Dus als je erover nadenkt, hoeven omgevingen eigenlijk niet alleen maar masers te zijn.

02:04.340 --> 02:07.700
Het gaat niet alleen om uit een doolhof komen of een schat vinden.

02:07.700 --> 02:11.690
De omgeving van de vijand kan vrijwel alles in het leven zijn.

02:11.690 --> 02:14.870
Dus stel je voor dat je 's ochtends wakker wordt en een omelet kookt.

02:15.290 --> 02:19.790
Dus om die omelet te maken, moet je bepaalde stappen doorlopen.

02:19.790 --> 02:25.070
Je moet het zout halen, de eieren pakken, de braadpan pakken, het vuur aanzetten enzovoort.

02:25.070 --> 02:29.210
En het klinkt als een routine, alledaags iets, maar het is routine geworden omdat je het zo vaak hebt

02:29.210 --> 02:29.660
gedaan.

02:29.870 --> 02:33.800
Maar in werkelijkheid is het een omgeving waarin je bepaalde acties uitvoert.

02:33.800 --> 02:37.370
U neemt aan dat u het vuur op u aansteekt, de koekenpan op het vuur zet.

02:37.370 --> 02:42.020
Je doet alle eieren in de braadpan en je doet wat zout op de eieren en je draait

02:42.020 --> 02:42.800
ze om, enzovoort.

02:43.070 --> 02:49.490
Dus zoals je kunt zien, zijn er bepaalde acties, acties die in bepaalde staten worden ondernomen en die acties leiden

02:49.490 --> 02:52.400
tot bepaalde andere staten en soms tot beloning.

02:52.420 --> 02:56.900
Dus als je bijvoorbeeld het vuur aansteekt en je wacht, wacht, wacht, wacht, wacht, onderneem je een actie

02:56.900 --> 02:58.790
van wachten, wachten, wachten, te lang wachten.

02:59.090 --> 03:01.810
En dan doe je de eieren in de koekenpan.

03:01.820 --> 03:04.370
De beloningen zullen erg negatief zijn, ze gaan allemaal branden.

03:04.940 --> 03:08.900
Aan de andere kant, als je alle op alle juiste acties in de juiste tijden doet.

03:08.900 --> 03:13.790
Het is dus ook erg belangrijk om te begrijpen dat acties op de juiste momenten moeten worden ondernomen.

03:13.790 --> 03:20.030
Dus bijvoorbeeld het zout in de braadpan doen voordat je de eieren erin doet, is misschien niet het beste

03:20.030 --> 03:20.510
idee.

03:20.660 --> 03:26.180
Misschien wil je die actie ondernemen door zout in de braadpan te doen nadat de eieren erin zitten.

03:26.180 --> 03:28.070
Dus in een andere staat.

03:28.250 --> 03:29.360
Het is dus belangrijk om dat te onthouden.

03:29.630 --> 03:30.800
En op hetzelfde moment.

03:30.800 --> 03:35.630
Dus als je alle juiste acties in de juiste volgorde in de juiste toestanden uitvoert, kan je uiteindelijke beloning zijn

03:35.630 --> 03:38.090
dat je een omelet krijgt, die je kunt eten.

03:38.750 --> 03:41.990
En dat is dus een heel basale activiteit in je leven.

03:41.990 --> 03:47.840
Maar als je erover nadenkt, is het eigenlijk een omgeving en ben jij de agent die door deze omgeving gaat en

03:47.840 --> 03:48.710
taken uitvoert.

03:48.830 --> 03:52.010
Je hoeft niet echt iets te leren, want je weet het al vrij goed.

03:52.100 --> 03:56.030
Maar tegelijkertijd zou je kunnen leren, misschien zou je kunnen leren hoe je een betere omelet kunt

03:56.030 --> 03:59.210
maken, of vooral als het je eerste omelet is die je maakt, je

03:59.210 --> 04:05.060
gaat het waarschijnlijk verknoeien, maar je zult leer daarvan omdat je zult begrijpen welke acties leiden tot staat en beloningen en al het andere in

04:05.060 --> 04:05.690
het leven.

04:05.960 --> 04:11.840
Bijvoorbeeld zelfs handelen op de beurs en kopen en verkopen en bepaalde feedback krijgen van

04:11.840 --> 04:16.340
de markt in de zin van rendement, positief of negatief rendement.

04:16.340 --> 04:21.320
Dat is ook een omgeving waarin jij deelneemt aan die omgeving niet autorijden is ook een

04:21.320 --> 04:25.910
omgeving waar je aan het stuur kunt draaien, gas kunt geven, remmen enzovoort, en je

04:25.910 --> 04:27.710
krijgt feedback van de omgeving.

04:27.710 --> 04:33.440
En, weet je, een van die feedbacks is dat een politieagent je een snelheidsboete geeft als je op

04:33.440 --> 04:36.740
die snelweg boven de acceptabele of toegestane snelheidslimiet gaat.

04:36.890 --> 04:41.240
En daarom leer je van daaruit dat, oké, dat is niet iets dat moet worden gedaan, omdat

04:41.240 --> 04:42.800
het tot een negatieve beloning leidt.

04:43.130 --> 04:45.530
Dus beloningen hoeven niet helemaal aan het einde van het proces te zijn.

04:45.530 --> 04:47.510
Dat kan de hele reis zijn, het hele proces.

04:47.900 --> 04:49.430
Dus dat zijn een paar voorbeelden.

04:49.430 --> 04:54.680
En in termen van I, is de eenvoudigste manier om te denken aan versterkend leren, als het trainen van een hond.

04:54.680 --> 04:58.130
Als je een hond traint, geef je hem bepaalde commando's.

04:58.130 --> 05:00.260
En als het die bevelen gehoorzaamt, dan geef je het een.

05:00.530 --> 05:04.520
Om het te geven is als een koekje of zoiets, als het die bevelen niet gehoorzaamt, vertel je het dat het een

05:04.520 --> 05:06.350
stoute hond is of geef je het gewoon geen traktatie.

05:06.680 --> 05:13.460
En door dat proces leert het wat bepaalde commando's of wat het moet doen, welke actie het moet ondernemen

05:13.460 --> 05:14.930
in bepaalde toestanden.

05:14.930 --> 05:18.350
En de toestanden zijn de commando's die je het geeft.

05:18.350 --> 05:20.900
En op basis daarvan krijgt het een aantal bepaalde beloningen.

05:21.410 --> 05:24.530
In de wereld van AA is het natuurlijk niet zo ingewikkeld.

05:24.530 --> 05:26.870
Je hoeft de AA-traktaties niet te geven.

05:26.870 --> 05:32.180
Je hoeft niet elke keer een zak koekjes bij je te hebben als je er maar een plus of een min voor geeft.

05:32.180 --> 05:37.240
Het is dus een enorm voordeel dat we in de wereld van AA deze ogen zelf hebben gemaakt.

05:37.250 --> 05:42.410
Dus de beloningen die we ze geven, als je denkt, oh, dit is echt cool, de beloningen die ze geven,

05:42.410 --> 05:43.460
ze bestaan niet echt.

05:43.460 --> 05:48.440
Ze zijn gewoon een plus of een min één of een één of een nul of iets dergelijks.

05:48.440 --> 05:51.050
Dus het bestaat allemaal niet, allemaal denkbeeldige dingen.

05:51.050 --> 05:53.120
Maar tegelijkertijd leidt het tot grote middelen.

05:53.120 --> 05:59.000
We kunnen deze verbazingwekkende dingen creëren, deze verbazingwekkende kunstmatige intelligentie heeft door deze verbazingwekkende kunstmatige intelligentie, door gewoon

05:59.000 --> 06:03.710
beloningen te bieden die niet echt bestaan plus en min één kost ons niets.

06:03.710 --> 06:08.060
Maar tegelijkertijd lijken de resultaten in ieder geval erg op de echte wereld.

06:08.060 --> 06:09.710
En je weet wel, dat voorbeeld van honden.

06:09.710 --> 06:14.450
Maar hier zijn de beloningen digitaal en alleen cijfers.

06:14.960 --> 06:18.740
En met dat in gedachten, kunnen we het hebben over een beetje over robothonden.

06:18.740 --> 06:19.430
Ik hou van dit voorbeeld.

06:19.430 --> 06:21.260
Dit is dus gewoon een willekeurige foto.

06:21.260 --> 06:26.600
Het is niet per se die exacte robothond, weet je, die wordt getraind door middel van versterkend leren.

06:26.600 --> 06:28.730
Sommige robothonden, vooral de oudere.

06:29.000 --> 06:30.740
Je zou daar een algoritme hebben.

06:31.190 --> 06:39.200
En dit is eigenlijk een goed voorbeeld van het verschil tussen voorgeprogrammeerde agenten en versterkingslerende

06:39.200 --> 06:39.830
agenten.

06:39.830 --> 06:45.110
Je zou dus een robothond kunnen hebben die voorgeprogrammeerd is om te lopen.

06:45.110 --> 06:50.360
Het zal dit zeggen in het algoritme achter de hond, in de software zal zeggen: OK, dus om

06:50.360 --> 06:56.480
te lopen, moet je testen, beweeg je linkerbeen naar voren, linkervoorbeen naar voren, dan je achterste rechterbeen naar voren, dan je

06:56.480 --> 07:00.710
voorste rechterbeen naar voren en je achterste linkerbeen naar voren en herhaal die actie.

07:00.710 --> 07:02.900
En dat is een definitie van lopen.

07:02.900 --> 07:04.580
Het is een functie in deze hond.

07:05.150 --> 07:08.690
Dan kan het zijn, weet u, hoe te zitten, hoe te staan en dergelijke dingen.

07:09.560 --> 07:16.520
Terwijl bij een robothond die is getraind door middel van versterkend leren, je hem niet voorprogrammeert.

07:16.670 --> 07:23.750
Dit is het sleutelconcept van alles hier dat je geen algoritme hebt dat hard in de hond is

07:23.750 --> 07:24.560
gecodeerd.

07:24.710 --> 07:28.100
In plaats daarvan heb je wat in de toekomst zal worden besproken.

07:28.310 --> 07:36.200
Je hebt dit algoritme voor het leren van versterking dat wordt verteld dat, oké, dus het doel is dat iedereen komt van

07:36.200 --> 07:41.690
waar je nu bent, zonder iets te weten, bijvoorbeeld naar het einde van de kamer.

07:42.020 --> 07:44.210
En hier zijn de bepaalde acties die u kunt ondernemen.

07:44.210 --> 07:47.780
Je kunt je rechtervoet bewegen, je kunt je linkervoet bewegen, je kunt je rechterachtervoet bewegen.

07:47.780 --> 07:49.310
Je bent linksachter.

07:49.310 --> 07:51.230
Dus hier zijn alle vrijheidsgraden die je kunt doen.

07:51.230 --> 07:52.430
Je kunt ze zo verplaatsen.

07:52.430 --> 07:55.010
Je kunt zo bewegen als een lijst met acties die je kunt ondernemen.

07:55.430 --> 08:00.050
En je beloningen zijn elke keer dat je een stap vooruit zet, je een plus één krijgt.

08:00.170 --> 08:04.010
Elke keer dat je omvalt, krijg je een min één en dat is alles.

08:04.010 --> 08:07.160
En dan laten ze de hond gewoon in de steek en laten ze het zelf uitzoeken.

08:07.280 --> 08:13.100
Dus de hond probeert op te staan, hij valt en hij realiseert zich dat, oké, ik die actie die ertoe leidde dat ik viel niet zou moeten doen, want

08:13.100 --> 08:16.370
elke keer dat ik val, krijg ik een min één, wat niet goed voor me is.

08:16.640 --> 08:21.500
Dan doet die andere actie die hielp om op te staan en dan zijn het gewoon experimenten, experimenten, experimenten, probeert

08:21.500 --> 08:25.880
willekeurig dingen en komt er dan achter dat je een stap naar voren kunt maken door het

08:25.880 --> 08:31.310
recht naar de voorste voet te verplaatsen en het krijgt een plus één en realiseerde me dat ik dat meer moest doen.

08:31.340 --> 08:31.910
Oké, gaaf.

08:31.910 --> 08:35.540
Dus het leert nu dat het meer van dit en minder van dat moet doen.

08:35.540 --> 08:42.050
En door dit leerproces begrijpt het snel, heel snel hoe het kan werken.

08:42.260 --> 08:49.070
En die honden die er zelf achter komen, kunnen soms zelfs beter lopen dan honden die voorgeprogrammeerd zijn, want als

08:49.070 --> 08:53.540
we dingen voorprogrammeren, kijken we naar de echte levende honden en of, weet

08:53.540 --> 08:59.480
je, we gebruiken onze eigen fantasie hoe we doe het, terwijl een bekrachtigende hond zelf dingen kan

08:59.480 --> 09:00.200
optimaliseren.

09:00.200 --> 09:03.320
En omdat het een A is. L. , soms kan het zelfs betere resultaten opleveren.

09:03.530 --> 09:06.980
En zo kunnen ze deze robots, diezelfde robothonden, trainen om te voetballen.

09:07.370 --> 09:12.920
Je kunt een normale hond niet trainen om te voetballen, want, weet je, de hele aanpak is gewoon anders.

09:12.920 --> 09:20.270
En het is niet iets dat, weet je, waarschijnlijk een normale hond is opgeleid om te doen of ooit heeft gedaan in

09:20.270 --> 09:27.080
zijn evolutieproces, terwijl een bekrachtigingslerende robothonden heel gemakkelijk kunnen begrijpen hoe ze moeten voetballen, zolang je ze maar vertelt wat de

09:27.080 --> 09:31.340
beloningen zijn, wat de doelen zijn, wat de mogelijke acties zijn die

09:31.340 --> 09:32.450
ze kunnen ondernemen.

09:32.960 --> 09:36.890
Dus zo werkt versterkend leren in het algemeen.

09:36.890 --> 09:39.080
Dat is een snel overzicht van versterkend leren.

09:39.080 --> 09:44.420
Ik hoop dat je hierdoor erg enthousiast bent geworden over wat er gaat komen, want

09:44.720 --> 09:50.780
het is een compleet andere wereld vergeleken met voorgeprogrammeerde oplossingen of hard-programma, hard gecodeerde oplossingen waar je de

09:50.780 --> 09:51.890
andere voorwaarden hebt.

09:51.920 --> 09:55.790
Dit is heel anders en daar gaan we het nog meer over hebben.

09:55.970 --> 09:59.510
In de tussentijd hebben we wat extra lectuur voor je, dus.

09:59.940 --> 10:06.770
Als je wat ondersteunend materiaal wilt hebben, dan is hier een geweldig artikel waar je naar kunt kijken.

10:06.780 --> 10:10.500
Het heet Simple Reinforcement Learning met Tenzer, flow heeft 10 delen.

10:10.530 --> 10:17.780
De link is hier en je vindt de volledige klikbare link in de cursusbronnen van Arthur Giuliani.

10:17.780 --> 10:19.230
Giuliani's artikel uit 2006.

10:19.800 --> 10:24.690
En u kunt deze cursus volgen en ook aanvullende informatie uit dat artikel halen.

10:24.690 --> 10:29.640
Maar houd er rekening mee dat dat artikel Tenzer flow is, terwijl we in deze cursus PAE Torch gebruiken.

10:29.650 --> 10:33.180
Dus een andere uitvoering, maar implantaties.

10:33.180 --> 10:39.660
Maar tegelijkertijd kun je hier en daar een paar dingen oppikken die een aanvulling kunnen zijn op je leerproces dat we in

10:39.990 --> 10:41.170
deze cursus gaan doen.

10:41.190 --> 10:44.670
Dus geweldig artikel om te volgen, zelfs als je niet overweegt het zeker te volgen.

10:44.680 --> 10:49.860
Voor het geval dat, bekijk dat eerste deel eens en kijk of je het leuk vindt, kijk of je

10:49.860 --> 10:51.570
het wat meer wilt lezen.

10:52.050 --> 10:56.570
En dan hebben we specifiek voor deze tutorial over versterkend leren.

10:56.580 --> 11:02.250
Er is een paper van Richard Sutton, genaamd Reinforcement Learning One Introduction.

11:02.400 --> 11:08.100
Het is dat de papieren uit 1998 vrij oud zijn, maar tegelijkertijd kun je iets leren over versterkend

11:08.100 --> 11:08.670
leren.

11:09.150 --> 11:14.040
Sommige voorbeelden zoals dat omeletvoorbeeld en andere voorbeelden van waar versterkend leren kan worden

11:14.040 --> 11:14.640
toegepast.

11:14.970 --> 11:17.640
En slechts een algemeen overzicht van versterkend leren.

11:17.640 --> 11:20.340
Als u op zoek bent naar wat extra lectuur.

11:20.670 --> 11:23.100
En wat dat betreft gaan we deze tutorial afronden.

11:23.100 --> 11:24.570
Ik kan niet wachten om je de volgende keer te zien.

11:24.570 --> 11:26.520
En tot die tijd, geniet van EHI.
