Hallo en welkom bij de allerlaatste stap van dit deel één gebouw, het enige dat we nu nog
hoeven te doen, is deze grote voorwaartse functie te maken die het signaal vanaf het allereerste begin zal verspreiden
wanneer de hersenen het beeld naar de het einde, wanneer het oog de actie speelt.
Dus we gaan deze hele functie maken en dat zal onze laatste stap zijn voordat we verder
gaan met deel twee, training of oog met diep, convolutief leren.
Dus laten we dit doen.
We gaan de functie-aanroep aannemen, die eigenlijk vergelijkbaar is met de init-functie.
Dat wil zeggen, het is een bestaande functie.
Maar deze keer gebruiken we het om wat andere functies aan te roepen, degene die we eerder maakten, want, weet je,
we gaan de voorwaartse functie van de hersenen en de voorwaartse functie van het lichaam gebruiken.
En dus gebruiken we deze schoolfunctie nu om deze functies in feite aan te roepen.
Zogenaamd zal twee argumenten aannemen.
De eerste is natuurlijk het zelf, het object en een tweede argument, wat volgens jou zal
het zijn?
Nou, we doen deze keer de hele verspreiding.
Dus wat we als invoer willen nemen, zijn natuurlijk de invoerafbeeldingen, want dat is natuurlijk
het startpunt.
Wanneer de A. L. het spel speelt, is het eerst de beelden van
het spel visualiseren, dan de signalen in de hersenen verspreiden en dan de actie plaatsen.
Daarom zal het tweede argument inputs zijn.
En nu zijn we klaar om deze hele verspreiding te maken.
Dus laten we dit doen.
OK, dus de eerste stap, wat is het?
De eerste stap is het ontvangen van de invoerbeelden van het spel.
En aangezien deze afbeeldingen het neurale netwerk binnenkomen, kun je je voorstellen dat we ze in
een speciale structuur moeten formatteren.
En deze structuur is natuurlijk een fakkelstructuur.
Dus het eerste dat zal gebeuren, is dat we deze afbeeldingen omzetten in een array, en
vervolgens een getal omzetten in een toortssensor.
En tot slot zullen we de toortssensor in een levensvatbare toorts plaatsen die zowel het spanraam als een gradiënt
zal bevatten.
Dat is voor onze dynamische grafieken om de gradiënten later zeer efficiënt te berekenen voor stochastische
gradiëntafdaling.
Dus dat is onze eerste stap.
En als we eenmaal het juiste formaat van onze afbeeldingen hebben, kunnen ze het neurale netwerk binnendringen en
daar doen we de hele verspreiding van de signalen.
Dus laten we deze eerste stap doen, de afbeelding converteren naar het juiste formaat.
Dus onze beelden zijn tot nu toe input.
Dus nu gaan we een nieuwe variabele maken, die ik input noem.
Dus dat is de echte input van het neurale netwerk.
En deze input, wat gaat het worden?
Wel, eerst moeten we onze inbreng nemen.
Dat zijn onze originele beelden.
Vervolgens, zoals we al zeiden, willen we deze afbeeldingen converteren naar geen arrays.
Dus om dit te doen, kunnen we gewoon non-pay nemen, dat een snelkoppeling heeft, en dan de functiearray.
Dus we plaatsen invoer tussen haakjes van de functiereeks die we nu gaan gebruiken.
Het wordt door arrays in iets omgezet.
Maar aangezien de verkoop van de arrays de pixels zal bevatten, is het eigenlijk veiliger om het type
float te specificeren.
Het is beter om ervoor te zorgen dat we nu wat floats hebben en ervoor te zorgen dat we NPE kunnen gebruiken die
hier doorheen drijven.
Oke.
Dus nu hebben we nog een aantal, maar dan met het type float.
Oke.
En dat is ook nog om een andere reden.
Het is dat sensoren per definitie arrays van een enkel type zijn.
En dus kiezen we het enkele type als float, float 32.
Oke.
Dus nu we onze cijfers hebben, is de volgende stap om die om te zetten in een toortssensor.
En om dit te doen, kunnen we daar bijvoorbeeld naar toe gebruiken en dan de van onderstreping niet-bevooroordeelde functie die dat
zal omzetten in een toortssensor die we gebruiken.
En nu is de laatste stap om deze toortssensoren in een toortsvariabele te plaatsen die zowel de tensor als de
gradiënt bevat.
En je weet hoe je het moet doen.
Natuurlijk nemen we onze variabele klasse omdat eigenlijk alles wat zich binnen deze variabele bevindt, eigenlijk de invoer is
van de variabele klasse.
Maar ik wilde je dat op deze manier laten zien, want, weet je, we beginnen met onze
invoerbeelden, dan converteren we ze naar geen arrays, dan naar toortssensoren en dan naar volume.
En nu zitten we goed.
Ze mogen het neurale netwerk betreden dat eerst de ogen van de A is. L. en vervolgens de volledig verbonden lagen om
tot de voorspellingen te leiden.
Dus over de ogen van de ogen gesproken, dat is precies wat we nu gaan doen.
We gaan deze toegestane beelden nu verspreiden in de ogen van de ogen.
Dat is door de drie convolutionele lagen.
En om dit te doen, ga je nu zien hoe het zo eenvoudig
is dat, omdat we ons brein en ons lichaam al hebben vanuit de init-functie, we gewoon ons brein zo zelf dat brein moeten
nemen en dit brein toepassen op de invoerbeelden en dat zal zich voortplanten dankzij de voorwaartse functie hier vanuit de hersenen.
Dat zal de signalen in de hersenen verspreiden.
En aangezien de voorwaartse functie van de hersenen terugkeert, signaleert de output dat de neuronen van
de outputlaag de kernwaarden bevatten.
Welnu, deze cel van de herseninvoer hier zal dit uitgangssignaal terugsturen.
En daarom gaan we hier plaatsen wanneer het terugkeert naar een variabele en we gaan het
heel eenvoudig output noemen.
En deze output is het outputsignaal van de hersenen.
En nu we het uitgangssignaal van de hersenen hebben, moeten we dit uitgangssignaal naar het lichaam
verspreiden.
En om dit te doen, gaan we de tweede voorwaartse functie van het lichaam gebruiken.
En om dit te doen, hoeven we alleen maar ons lichaam te nemen en het natuurlijk toe te passen op de output, omdat
de voorwaartse functie van het lichaam als input outputsignalen van de hersenen gebruikt.
Dus dat is precies wat de output nu is en de acties retourneert.
En daarom, omdat het de acties retourneert, gaan we hier acties toevoegen die gelijk zijn aan Southbury-uitvoer.
Oke.
Dus nu kun je zien dat we heel eenvoudig de signalen in de hersenen hebben gepropageerd en vervolgens van
de hersenen naar het lichaam, eerst door de voorwaartse functie van de hersenen te gebruiken, waardoor we de invoerbeelden invoeren en ze
vervolgens in de hersenen verspreiden om terug te keren de kernwaarden.
En dan verspreiden we dit uitgangssignaal in het lichaam met de voorwaartse functie van ons lichaam om de actie
te laten spelen.
En dus nu is het enige dat we nog moeten doen, en dat is de allerlaatste regel code
van dit deel één om het gebied te bouwen, nou, we moeten de actie teruggeven om te spelen, en dat zijn acties.
Op dit moment hebben de acties echter het torch-formaat en moeten we ze terug converteren naar niet-direct.
En om dit te doen, nemen we de gegevensstructuur van deze acties en voegen hier de niet-planfunctie
toe.
En daar gaan we.
Nu hebben we de acties in het juiste formaat geretourneerd.
Gefeliciteerd dus.
We zijn nu klaar met dit eerste deel.
We hebben de AI in drie stappen gebouwd.
Eerst maakten we de hersenen.
Ten tweede hebben we het lichaam gemaakt.
En ten derde verzamelden we de hersenen en het lichaam en verspreidden we het hele signaal van de ogen naar het moment dat
we de actie spelen.
Dus dat is een eerste stap gezet.
Dat was een enorme stap.
Maar nu, zoals je begreep, hebben we een AI gebouwd, maar het is nog steeds stom.
We moeten hem trainen om intelligent te zijn, dus we moeten hem trainen om te doen wat we willen dat hij doet.
En om dit te doen, gaan we de beloning gebruiken om de omgeving te doen, weet je, omdat
het leert van de beloningen door versterkt te worden wanneer het een goede beloning krijgt en door gestraft of verzwakt te worden wanneer het
een slechte beloning krijgt.
Dus dat is waar het leren van de cue in het spel komt.
En dat is precies wat we in dit deel zullen doen om de lucht te trainen met diep, convolutief leren.
Ik kan niet wachten om te beginnen.
En tot die tijd, geniet van I.