Hallo en welkom terug bij de cursus over diep leren.
Vandaag beginnen we met convolutionele neurale netwerken die spannend worden.
Laten we er meteen in duiken.
We beginnen met een afbeelding.
Wat zie je als je naar deze afbeelding kijkt?
Zie je iemand naar je kijken of zie je iemand naar rechts kijken?
Je kunt zien dat je brein het moeilijk heeft, moeite heeft om zich aan te passen.
Als je naar de rechterkant van de afbeelding kijkt, kijk dan naar de juiste volgorde van de afbeelding.
Je ziet een persoon naar rechts kijken.
Als u naar de linkerrand van de afbeelding kijkt, ziet u een persoon naar u kijken.
En dit bewijst alleen maar dat waar ons brein naar op zoek is als we dingen zien, kenmerken zijn, afhankelijk van de kenmerken die het
ziet, afhankelijk van de kenmerken die je verwerkt, je dingen op bepaalde manieren categoriseert.
Dus als je aan de rechterkant van de afbeelding kijkt, zie je bepaalde kenmerken van een persoon
die naar rechts kijkt omdat ze dichter bij je middelpunt zijn en daarom classificeren je hersenen dat als een persoon die naar
rechts kijkt.
Als je naar de linkerkant van de afbeelding kijkt, zie je meer kenmerken van een persoon die naar je kijkt en
daarom classificeren je hersenen het als zodanig.
Dus laten we een andere bekijken.
Dit is een zeer bekende afbeelding.
Je hebt het waarschijnlijk al gezien, maar wat zie je hier?
Dus sommige mensen zullen zeggen dat ze een jonge dame in een jurk zien wegkijken.
Sommige mensen zeggen dat ze een oude dame met een sjaal op haar hoofd naar beneden zien kijken.
Dus ik ga deze functies naar voren brengen en je zult zien dat dat heel duidelijk zal worden.
Dit is dus het gezicht van de jongedame die wegkijkt.
Ze kijkt in de verte.
Dat is haar jas.
Dat is haar haar.
Dat is haar echte veer in haar haar.
En aan de andere kant, dit is het hoofd van de oude dame die hier naar beneden kijkt.
Haar neus.
Dat is haar mond.
Dat is haar kin.
Dat is de sjaal op haar hoofd.
En ze kijkt naar beneden.
Dus zoals je kunt zien, twee in één.
En afhankelijk van welke functies je brein oppikt, zal het schakelen tussen het classificeren van elke afbeelding als de een of
de ander.
De oudste van deze illusies die in het gedrukte werk zijn vastgelegd, is deze.
Het is de eend of het konijn.
Dus is dit een eend of is dit een konijn?
Een ander voorbeeld.
En om nu een beeld te laten zien dat maar voor een seconde zal zijn, kijk er gewoon naar en zie welke emoties
of wat voor soort visuele ervaring je doormaakt.
Dus wat zie je?
Voel je je een beetje niet duizelig, maar een beetje bedwelmd alsof je hersenen proberen te begrijpen wat het
is, hoe het is.
Het probeert te springen tussen haar ogen, de op en neer ogen.
En dit is een klassiek voorbeeld van wanneer er bepaalde kenmerken zijn waarbij dit kan zijn dat je hersenen
niet kunnen beslissen.
En omdat beide aannemelijk lijken.
En ja.
Dus eigenlijk illustreren al deze voorbeelden ons hoe het brein werkt, dat het bepaalde kenmerken op een afbeelding
of op wat je in het echte leven ziet verwerkt, en het classificeert dat als zodanig.
En je bent waarschijnlijk in situaties waarin je snel over je schouder kijkt en je ziet iets en je denkt dat het
is. Ik weet niet of het een aaa-bal is, maar het blijkt een kat te zijn of je denkt dat het een auto is, maar het blijkt
een schaduw te zijn en dat soort dingen omdat je niet genoeg tijd hebt om die features
te verwerken of je hebt niet genoeg features om dingen als zodanig te classificeren.
En dit is voor mij, dit is erg interessant, want wat we gaan doen met neurale netwerken, met convolutionele neurale
netwerken, lijkt erg op elkaar.
En je zult ontdekken dat de manier waarop computers afbeeldingen gaan verwerken, extreem veel zal lijken op
de manier waarop we afbeeldingen verwerken.
Dit is dus erg waardevol om te begrijpen en om deze dingen een beetje te onthouden, dat dit is hoe we het doen.
En ik ga deze dame van je schermen halen omdat ze je nu waarschijnlijk al gek maakt.
Dus hier is iets anders.
Hier is een experiment, een experiment gedaan op computers, op een convolutief neuraal netwerk.
Dus we gaan nu langzaam van mensen naar computers.
En deze dia komt uit een verhaal van Geoffrey Hinton.
En hier heb je in feite een experiment beschreven dat hij had gedaan op een aantal convolutionele neurale netwerken die
hij had getraind.
Dus hier zie je drie afbeeldingen en we gaan ze doornemen.
We zullen moeten afwachten hoe je ze classificeert en dan kijken hoe de computer ze classificeert.
Dus aan de linkerkant, wat denk je dat dit is?
Je zei waarschijnlijk Cheeta, en je zult gelijk hebben.
En dit is wat de computer zei.
Dus en meteen, meteen, we gaan leren hoe we deze afbeeldingen moeten lezen, want
als je diep in convolutionele neurale netwerken gaat, geen woordspeling bedoeld, als je meer gaat leren en meer over hen en het
gebruik ervan, je zult er veel van zien.
Dus en ik heb mensen ze verkeerd zien lezen.
Dus hier bovenaan.
Al Qaeda is wat het werkelijk is, dus dat is het eigenlijke juiste label van de afbeelding, dat is
wat het label van de afbeeldingen is, ongeacht enige verwerking en computervisie.
En dan zijn hier de gissingen.
De top vier of vijf raden soms het algoritme en ze krijgen de kans.
Dus de computer zei of het neurale netwerk zei dat Sheere, luipaard, sneeuwluipaard of Egyptische kat een van de vier
kan zijn.
En Shida heeft de hoogste stem.
En tijdens dit deel van de cursus zult u begrijpen wat deze stemmen betekenen en hoe ze zijn
afgeleid.
Maar voor nu is het vrij intuïtief, toch?
Het is dus in werkelijkheid een cheeta.
En het neurale netwerk precies goed.
Het zei met een grote waarschijnlijkheid, ongeveer 95, 99 procent.
Het is een jachtluipaard.
Dan de tweede.
Wat denk je?
Is het dat is dat een bullet train.
En het neurale netwerk kon onderscheid maken tussen bullet train, personenauto, metro, elektrische
locomotief.
Dat zijn de topkeuzes.
Er waren natuurlijk nog veel meer mogelijkheden.
Deze neurale netwerken leren niet alleen voor categorieën te onderscheiden van tientallen, duizenden categorieën
tegelijk.
Dus dat zijn de vier opties die het heeft gekozen.
En dat is dus een bullet train in zijn Soul Train.
Dus wat denk je dat de laatste is?
Heel, heel, er zijn een paar opties of het is niet erg duidelijk wat het is, het kan een
koekenpan zijn, een vergrootglas.
Het zou zelfs een schaar kunnen zijn, zullen sommigen zeggen.
Het neurale netwerk zei dat het een schaar was, maar je kunt zien hoe je hier fout kunt gaan.
Allereerst is het geen erg duidelijk beeld.
En je kunt ook zien dat de kansen hier niet zo duidelijk zijn.
Dus het neurale netwerk was een beetje in de war, een beetje besluiteloos, net als wij.
Dus er stond schaar met de grootste kans, maar dan had het handgeklap, wat het
eigenlijk waard was niet zo ver weg op de tweede plaats en braadpanstethoscoop.
Dus eigenlijk kun je hier zien dat de schaar de eerste gok was, maar de juiste optie was nummer twee, en daarom
is het rood gemarkeerd.
Dus daar gaan we.
Dat is waar neurale netwerken al toe in staat zijn.
En dit is eigenlijk best een oude glijbaan.
Dit was een aantal jaren geleden.
Nu zijn ze nog beter.
En dat zul je zien aan de praktische toepassing die je samen gaat coderen van Hadland.
Maar laten we nu proberen een beetje beter te begrijpen wat klooster- of convolutionele
neurale netwerken eigenlijk zijn en waarom ze zo populair worden en eigenlijk aan populariteit winnen.
Dus je kunt hier een Google Trends-vergelijking zien die ik gisteren heb gemaakt.
Hier kun je zien dat convolutionele neurale netwerken zelfs kunstmatige neurale netwerken overnemen.
Een enorme stijging dus.
En dit zal zo blijven doorgaan, want het is een heel belangrijk gebied dat daar alle
dingen gebeuren, zoals zelfrijdende auto's.
Hoe herkennen ze mensen op de weg, hoe herkennen ze stopborden en dat soort dingen?
Hoe kan Facebook hoe kan Facebook afbeeldingen of mensen in afbeeldingen taggen?
En niet alleen zoals vroeger, jaren geleden moest je zelf mensen meenemen, dan zou het gezichten
herkennen.
Je moest Albinoni de namen toevoegen, en nu herkent het gewoon de gezichten en advertenties en namen
tegelijkertijd.
Welnu, dat is waartoe convolutionele neurale netwerken in staat zijn.
Over Facebook gesproken, als Geoffrey Hinton de peetvader is van kunstmatige neurale netwerken en deep learning, dan
is een jonge Lukan de grootvader van convolutionele neurale netwerken.
Young Lykken is een leerling van Geoffrey Hinton.
En in feite kun je ze hier samen zien.
En Geoffrey Hinton is nu een pionier op het gebied van deep learning bij Google.
Young Lykken is de directeur van Facebook Artificial Intelligence Research en ook een professor aan de NYU.
Dus we zijn ons langzaam bewust.
Ik hou van dit deel van de cursus.
Langzaam bouwen we aan deze naam.
Deze namen zijn dit soort foto's van de profielen van de mensen die dit veld besturen.
En in de volgende paar delen zullen we er nog een paar leren kennen en we zullen deze hele
morphia hebben, zoals ze zichzelf noemen, of je kunt ze maffia of samenzwering van diep leren noemen.
En je leert wat meer over hoe dit hele veld zich ontwikkelde.
En ja, het zijn gewoon een paar geweldige, geweldige mensen.
En dus leverde de jonge Lukan in de jaren 80 en 90 een belangrijke bijdrage op het gebied van convolutionele
neurale netwerken.
En zoals je tijdens deze cursus zult zien, is hij in staat geweest om iets zo extreem krachtig te ontwikkelen of
de wereld te helpen ontwikkelen, dus om verder te gaan met hoe convolutionele neurale netwerken werken.
Je hebt een inbreng.
Het is heel simpel.
Het is heel eenvoudig.
Je hebt dus een invoerbeeld.
Het gaat door het convolutionele neurale netwerk en je hebt een AL.
Label, dus het classificeert dat beeld als zoiets als een cheetah of een bullet train of iets anders, nu
een beetje alsof je wat meer in detail gaat.
U kunt bijvoorbeeld nadat een neuraal netwerk is getraind op bepaalde afbeeldingen, op bepaalde geclassificeerde afbeeldingen
of gecategoriseerde afbeeldingen die eerder zijn gecategoriseerd.
Daarna kun je het geven, laten we zeggen dat een neuraal netwerk is getraind om gezichtsuitdrukkingen, emoties te
herkennen.
Je kunt het een gezicht geven van een glimlachende persoon, niet alleen een gezicht, zoals een tekening van een gezicht als dit, maar het echte
gezicht van een persoon die lacht.
En ik zal je vertellen dat die persoon gelukkig is en je kunt haar een gezicht geven van een persoon die fronst.
Het zal je vertellen dat de persoon verdrietig is.
Deze emoties kun je herkennen.
En zoals je kunt zien, is dat al erg krachtig in termen van zoveel verschillende toepassingen.
Alleen dit ene voorbeeld waar je meteen aan kunt denken en in beide gevallen geeft het je een waarschijnlijkheid.
Dus het zal niet zeggen, weet je, als we 100 procent blij of verdrietig zijn, zal het 99 of 98 of misschien 80 procent
zijn als het onduidelijk is wat er aan de hand is.
En net zoals we gelijk hebben, kunnen we soms dingen aanzien voor wat ze niet zijn, of soms kunnen we dat wel.
Soms is het gewoon niet duidelijk of de persoon lacht of fronst of dat het een hond of
een kat is of dat het een trein- of kogeltreinrit is.
Soms hebben we die niet, we hebben niet genoeg functies gezien en alles komt neer op functies,
want dat is hoe we visuele informatie verwerken, zoals we vanaf het begin van deze tutorial hebben gezien.
Maar hoe kan een neuraal netwerk, hoe kan een neuraal netwerk deze functies herkennen?
Nou, het begint allemaal op het zeer basale niveau.
Je hebt laten we zeggen dat je een afbeelding hebt, je hebt twee afbeeldingen.
De ene is een zwart-witafbeelding van twee bij twee pixels en de andere is een kleurenafbeelding van twee bij twee pixels.
Nou, neurale netwerken maken gebruik van het feit dat het zwart-wit beeld een tweedimensionale array is.
Dus de manier waarop we het nu aan de linkerkant zien, is slechts de visuele weergave.
Dus een soort foto en omwille van de eenvoud is het gewoon een tweerichtingsfoto.
Maar in computertermen is het eigenlijk een tweedimensionale array met elk van die pixels met
een waarde tussen nul en 255.
Dus dat is acht acht bits informatie voor de twee tot de macht acht is 256.
Dus daarom zijn de waarden van nul tot 255.
En dat is de intensiteit van de kleur en in dit geval de kleur wit.
Dus nul zal een volledig zwarte pixel zijn, 255 zal een volledig witte pixel zijn.
En daartussen heb je het grijswaardenbereik van mogelijke opties voor deze pixel.
En op basis van die informatie kunnen computers vervolgens van het beeld werken.
En dat is ongeveer het uitgangspunt dat elk beeld in feite een digitale representatie heeft, een
digitale vorm heeft.
En dat zijn eigenlijk gewoon enen en nullen die voor elke pixel een getal nul tot 255 vormen.
Daar werkt de computer voor.
Als het niet echt werkt met, weet je, de kleuren of wat dan ook werkt
met de enen en nullen, aan het eind van de dag, dat is de basis van dit alles.
En in een kleurenafbeelding is eigenlijk een driedimensionale array.
Je hebt een blauwe pixel, je hebt een blauwe laag, een groene laag en een rode laag.
En dat zegt Ferragu, rood, groen, blauw.
En elk van die kleuren heeft zijn eigen intensiteit.
Dus eigenlijk heeft een pixel drie drie waarden toegewezen.
Elk van hen ligt tussen nul en 256, 255.
En daarom kun je erachter komen wat deze afbeelding is, welke kleur deze pixel precies heeft door die drie waarden te
combineren.
En nogmaals, computers gaan daarmee werken.
Dus dat is de basis van alles.
Dat is het Rode Kanaal, het Groene Kanaal, het Blauwe Kanaal.
Laten we tot slot eens kijken naar bijvoorbeeld een voorbeeld, een heel triviaal voorbeeld van een
lachend gezicht in computertermen.
Als we dingen echt vereenvoudigen in plaats van nul tot 255 te hebben, in plaats van die waarden te
hebben zodat we dingen beter kunnen begrijpen en de concepten echt kunnen begrijpen, gaan
we zeggen dat nul is wit, één is zwart.
Rechts.
Dus we gaan de dingen gewoon tot het uiterste vereenvoudigen.
En je zult zien dat dat beeld zo kan worden weergegeven.
Dus de reden waarom we dit naar voren hebben gebracht, is omdat we al onze interessante verhalen doornemen.
We krijgen structuur in afbeeldingen zoals deze, die heel eenvoudig zijn.
Maar tegelijkertijd kunnen al die concepten worden terugvertaald naar het waardenbereik van nul tot 256.
En daar geldt alles op dezelfde manier.
En de stappen die we gaan doorlopen van deze afbeeldingen zijn stap nummer één convolutie
stap nummer twee, maximale pooling.
Stap nummer drie, afvlakking en stapnummer.
Voor volledige verbinding, en ik kan me voorstellen dat deze woorden op dit moment waarschijnlijk veel voor je
betekenen, maar aan het einde van dit gedeelte van de cursus zul je ze tot in detail begrijpen en precies begrijpen wat
ze doen.
Dus we gaan aan de slag in de volgende tutorial.
Voor nu is de aanvullende lezing waar je misschien naar wilt kijken een jong origineel artikel van Lykins dat
de aanleiding gaf tot convolutionele neurale netwerken.
Het wordt gradiëntgebaseerd leren genoemd, toegepast op documentherkenning.
Je hebt deze afbeelding misschien al gezien voordat je op internet rondzwierf.
Het komt van dat papier.
Dus als je terug wilt gaan naar het allereerste begin van hoe het allemaal gebeurde, waar het allemaal vandaan kwam, dan is dit het artikel om in
te kijken en ik kijk ernaar uit om het te zien in de volgende tutorial.
Geniet tot die tijd van deep learning.