Hallo und willkommen zu diesem Tutorial. Jetzt werden wir diese zweite Funktion erstellen, um die Gewichte zu initialisieren.
Und dieses wird verwendet, um ein optimales Lernen zu erreichen.
Eigentlich diese Gewichte.
Die zweite Funktion, die wir als Gewichtungsunterstrich bezeichnen, wird das Objekt und das
neuronale Netzwerk als Argument verwenden.
Das ist also alles.
Und dann den Doppelpunkt und jetzt kommen wir in die Funktion, um zu definieren, was wir tun wollten.
Grundsätzlich wollten wir also die Gewichte des neuen Netzwerks so initialisieren, dass wir
optimal lernen.
Das erscheint also nicht besonders intuitiv.
Dies basiert auf Forschungsarbeiten und Experimenten.
Wir werden die Gewichte auf eine bestimmte Weise initialisieren, die wir noch nicht gesehen haben, aber glauben Sie
mir, dass dies den Lernprozess optimieren wird.
Also haben wir nur implementiert, ohne zu verstehen, warum wir die Gewichte auf diese Weise initialisieren.
Wir beginnen also mit einem Trick, der später verwendet wird, um zwischen
der Faltung und der vollständigen Verbindung zu unterscheiden, weil Sie wissen, dass unsere KI Augen hat
und daher einige Faltungsschichten.
Natürlich wird es auch einige vollständig verbundene Schichten haben, und wir haben eine unterschiedliche Initialisierung
der Gewichte für diese zwei Arten von Verbindungen.
Wir werden also diesen Trick verwenden, um diese zwei Arten von Verbindungen zu trennen,
und dann werden wir einige Bedingungen verwenden, um die unterschiedliche Initialisierung für jede dieser Verbindungen zu erhalten.
Dieser Trick besteht also darin, eine neue Variable zu erstellen, die wir als Nachnamen bezeichnen, und die
für ein Objekt aufgerufen wird, das das neuronale Netzwerk darstellt.
Aber es ist ein Objekt, das wir später sehen werden.
Und wir werden das spezielle Attribut von diesem
Objekt erhalten, das Kolesnik mit doppelter Unterstreichung sein wird.
Ein weiterer doppelter Unterstrich.
Es ist also ein ziemlich hässlicher Trick, nach der Art der Verbindung unseres neuen Netzwerkobjekts zu suchen, aber das gibt uns genau
das, was Sie wollen.
Sie werden sehen, dass es Sinn machen wird, wenn wir unter Bedingungen beginnen.
Übrigens können wir sie gerade jetzt aufhalten.
Was wir jetzt tun werden, ist die erste Bedingung, die uns den ersten Fall bringen wird.
Dies ist der Fall, wenn die Verbindung eine Faltung ist und diese Bedingung richtig geschrieben werden soll, wenn der Klassenname in Ordnung
ist.
Hier verwenden wir eine Methode, die find-Methode findet und inside, wenn sie für die Faltung in Anführungszeichen gesetzt wird.
Wenn also der Klassenname gefunden werden kann, tun wir etwas anderes als ein Minus, was tatsächlich der Fall ist, wenn wir
eine Faltung haben, weil Manasquan Nein bedeutet.
In diesem Fall werden wir die Gewichte speziell initialisieren.
Diese Bedingung bedeutet also, wenn wir eine Faltungsverbindung haben.
In diesem Fall führen wir also eine bestimmte Initialisierung der Art und Weise durch, wie wir es wollen.
Und so werden all die nicht intuitiven Dinge kommen.
Wir beginnen mit dem Erstellen einer Variablen, die wir sie nennen werden.
Und diese Form des Gerichts unterstreicht die Form der Gewichte in unserem
neuen Netzwerk.
Und so verwenden wir die Listenfunktion, um eine Liste zu erstellen.
Und in das neuronale Netz werden wir das Gewicht einlegen, das das Gewicht des neuronalen Netzes sein
wird.
In der Faltungsverbindung und um die Form dieser Gewichtungen zu erhalten, verwenden wir ein
anderes Attribut, nämlich Daten und dann die Größe. Sie erhalten die Form dieser Gewichtungen in der Faltungsverbindung.
Nun enthält die Gewichtsform in einer Liste die Form der Gewichtungen und der Faltungsverbindungen unseres
Netzwerks und.
Also gut, dann haben wir die Gewichtsform, um die Gewichte dieser Faltungsverbindung zu initialisieren.
Wir werden zwei Werte brauchen.
Erstens ist das Produkt der ersten Dimension durch die zweite Nominierung durch diese dritte Dimension.
Das ist es, was wir jetzt bekommen werden, und dann müssen wir auch die Nullstellen beim
zweiten Mal und manchmal bei der dritten Dimension ermitteln. Dann werden wir diese beiden Werte in der
Konkurrenz der Initialisierung verwenden Gewichte.
Lasst uns das durch dieses erste Produkt machen.
Wir nennen es Spaß und das wird dem Produkt gleich sein, und wir werden die Prod-Funktion verwenden,
die eine Funktion von Nicht-Thai ist, die eine Abkürzung hat und so dass PRUD und Inside Prod eingeben, was wir
wollen Produkt.
Und wie wir gesagt haben, ist dies der Diamant und eine zwei und drei unserer Gewichtsform.
Um dies zu erhalten, können wir eine Wellenform annehmen und die Indizes dieser drei Reihenmaschinen ermitteln.
Und so haben wir Simonton eins bis 10 Zoll eingestellt und drei eingeschlossen.
Also ein Dungeon für ausgeschlossen.
Und so können wir es für die obere Grenze hier nicht bekommen.
Also, das ist, was wir wollen. Gleich zum Spaß, als wir sagten, Fan, es wird das Produkt des Schadens in der
Zeitdimension Null sein, den ich dreimal erwähnte.
Und hier können wir von zwei eingeschlossenen zu vier ausgeschlossenen indexiert werden.
Das wird also das Produkt aus Zeit und zwei und drei sein, und dann können wir es
mit dem Design und der Null multiplizieren, auf die wir mit dem Nullschiff des Null-Index null zugreifen können.
Zusammenfassend ist dies das einmalige Zweifache in drei, und knapp darunter haben wir in dreien unserer
Gewichtskontrolllisten das Zehnfache.
In Ordnung, also werden wir jetzt diese beiden Werte auffächern und
auffächern, um mit der Initialisierung fortzufahren, da wir einen neuen Wert berechnen werden, da wir W-gebunden bezeichnen werden
wir können mit einer Funktion und einem P von und damit als qr t erhalten.
Zweitens wie vorher.
Also die Quadratwurzel von 6 durch Auffächern geteilt.
Fan in let Fan, dass wir dieses W hier unten haben, entspricht in gewisser Weise der Größe der Dutzend
Gewichte.
Und warum haben wir das verstanden?
Wir wollten jetzt also zufällig Gewichte generieren, die umgekehrt proportional
zur Größe des Tensors sind.
Denn was wir jetzt tun, ist, unser neues Netzwerk zu nehmen und dann sein Gewicht zu gewinnen.
Wenn Sie also weiterhin das Attribut weight verwenden, greifen Sie auf seine Daten zu, die der Tensor selbst ist.
Und aus diesem Tensor von Gewichten werden wir einige zufällige Gewichtungen erzeugen, die umgekehrt
proportional zur Größe der Tensorgewichte sind.
Und so müssen wir in dieser einheitlichen Funktion jetzt eine untere Grenze setzen, die minus W-Grenze ist, und die
obere Grenze, die plus W zurück sein wird.
OK, das ist für die Gewichte.
Und jetzt müssen wir die Voreingenommenheit und die guten Nachrichten für die Voreingenommenheit initialisieren.
Es wird viel einfacher sein.
Wir werden sie alle mit Nullen initialisieren, um diese Einkäufe zu erhalten, nehmen wir sie natürlich von unserem Modell,
unserem neuen Netzwerk.
Und dann ist das Attribut für die Verzerrung gleichermaßen mit dem Zugriff auf die Daten.
Und dann werden wir eine Methode verwenden, die die Phil-Unterstreichungsmethode ist, die, wie Sie vielleicht vermutet haben, verwendet wird, um
den Vorspannungs-Tensor gut mit Nullen mit den Regeln zu füllen, die wir angeben müssen, damit wir ihn hier
mit Nullen füllen wollen.
Deshalb setze ich hier Null.
Um es zusammenzufassen, generieren wir einige zufällige Gewichte, die umgekehrt proportional zur Größe der Tensorgewichte
sind, und wir haben das Gerät mit Nullen initialisiert.
In Ordnung, das war also für die Aktion Initialisieren bei den Faltungsverbindungen.
Jetzt müssen wir dasselbe für die vollständige Verbindung tun.
Wir fügen also eine neue Bedingung hinzu, und wenn wir diesen Trick anwenden, verwenden wir den Namen der ersten Klasse, dh
diese Variable, die die verschiedenen Namen der Verbindungen enthält.
Wenn also der Klassenname derselbe ist, verwenden wir die find-Methode, bei der dieses Mal eine vollständige Verbindung in Anführungszeichen gesetzt wird, die eine
klassische lineare Verbindung in einem klassischen künstlichen neuronalen Netzwerk darstellt.
Der Name dafür ist linear und sagt, dass wir diesen Trick verwenden werden, um zu sagen, dass wir wollen,
dass es anders als minus eins ist. Dies ist also das Ende der Klasse. Feines Leinen unterscheidet sich von minus eins,
wenn die Verbindung besteht das gibt es, wenn wir eine klassische Verbindung haben.
In diesem Fall also, wie werden wir die Gewichte initialisieren.
Nun, es wird ziemlich dasselbe sein.
Wir werden Whaleship Voivode einführen, das den ersten nicht löscht, weil wir entweder in diesem
Fall oder in diesem Fall nicht so sein werden, also können wir das komplett rückgängig machen, dann
werden wir einen Fan in Variable einführen was dieses Mal nicht gleich dem Produkt dieser drei Dimensionen
ist.
Aber eigentlich wird es diesmal gleich sein, wenn man nur eine davon erwähnt.
Und das ist so, weil für die volle Verbindung weniger Verbindungen als bei einer Faltungsverbindung bestehen.
Ist dies eine Intuitionsvorlesung am Ende und im CNN-Abschnitt wird weniger für eine vollständige
Verbindung erwähnt als für eine Faltung.
Im Grunde nehmen wir uns diese Zeit in einem Jahr und sagen dann, dass wir eine Fan-Out-Variable
haben werden, die dann zur Berechnung von W verwendet wird. Grenzen und diese Fan-out-Dominanz wird Gewichte Form von Index 0
sein.
Das ist der Diamanten Null.
Also gut zu GWB und es wird das gleiche sein.
Es wird die Quadratwurzel von 6 sein, geteilt durch die beleidigende Summe und das herausfinden.
Also los geht's.
Und die gute Nachricht ist, dass es genau das Gleiche ist, wie zuvor. Wir verwenden die einheitliche
Funktion für die Gewichte und die Füllfunktion für die Neigung, um die gleiche Art der Initialisierung zu erhalten, mit einem anderen Lüfter in
und einem anderen Lüfter und daher anders .
Das ist also das gleiche Prinzip, das ist die gleiche Idee.
Das einzige, was sich hier ändert, ist, dass wir weniger Dominanz für die
vollständige Verbindung haben und daher eine einfachere Berücksichtigung dieser Gewichtung der Gewichte hier zur Erzeugung dieser zufälligen Gewichtungen.
Aber die gute Nachricht ist, dass es jetzt wirklich nicht nur diese Gewichte sind und dass sie sehr gut funktionieren.
Aber jetzt haben wir zwei Werkzeuge.
Und so sind wir bereit, das Gehirn zu bauen.
Ich kann es kaum erwarten.
Dies wird natürlich der aufregendste Teil sein.
Dies war nur um uns aufzuwärmen und uns auf das große Ding vorzubereiten.
Darum kümmern wir uns im nächsten Tutorial.
Tatsächlich werden natürlich mehrere Tutorials benötigt.
Wir fangen damit an, die Augen zu machen.
Und denken Sie daran, wir werden eine Illustration hinzufügen, um die zeitlichen Eigenschaften der Eingabe zu lernen, und dann kümmern wir
uns um den Schauspieler und den Kritiker.
Und hier werden wir diese Funktion verwenden, um normalisierte Funktionen zu erzeugen.
Ich kann es also kaum erwarten.
Wir werden jetzt etwas sehr Mächtiges schaffen.
Machen Sie sich also bereit.
Bis dahin genießen Sie die KI.