Inhaltsverzeichnis [Deep Learning: Tag 1 NN] (https://qiita.com/matsukura04583/items/6317c57bc21de646da8e) [Deep Learning: Day2 CNN] (https://qiita.com/matsukura04583/items/29f0dcc3ddeca4bf69a2) [Deep Learning: Tag 3 RNN] (https://qiita.com/matsukura04583/items/9b77a238da4441e0f973) [Deep Learning: Tag 4 Stärkung des Lernens / Tensorflusses] (https://qiita.com/matsukura04583/items/50806b750c8d77f2305d)
Als Vorteil kann durch Rückberechnung des Differentials aus dem Berechnungsergebnis des Fehlers das Differential berechnet werden, während unnötige rekursive Berechnungen vermieden werden. Reduzierung der Berechnungskosten.
Abschnitt 1) Überblick über das Problem des Verschwindens des Gradienten
(Vorheriger Ablauf und Vision des Gesamtbildes der Probleme)
Gradient Verschwinden Problem
Wenn das Fehler-Backpropagation-Verfahren zu den unteren Schichten fortschreitet, wird der Gradient immer sanfter. Daher werden die Parameter der unteren Schicht durch die Aktualisierung durch das Gradientenabstiegsverfahren kaum verändert, und das Training konvergiert nicht zum optimalen Wert. Sigmaid-Funktion → (Problem) Bei einem großen Wert ist die Änderung der Ausgabe gering, was zu einem Problem beim Verschwinden des Gradienten führen kann.
1-1 Aktivierungsfunktion
ReLU-Funktion
Gute Ergebnisse wurden erzielt, indem dazu beigetragen wurde, das Problem des Verschwindens des Gradienten zu vermeiden und es spärlich zu machen.
** Anfangsgewichtseinstellung-He ** Aktivierungsfunktion beim Einstellen des Anfangswertes von He Relu-Funktion So stellen Sie den Anfangswert ein Der Wert, der erhalten wird, indem das Gewichtselement durch die Quadratwurzel der Anzahl der Knoten in der vorherigen Schicht dividiert und mit Route 2 multipliziert wird.
Die Chargennormalisierung ist eine Methode zur Unterdrückung der Verzerrung von Eingabewertdaten in Einheiten von $ \ Rightarrow $ Mini-Batch. Was ist die Verwendung der Stapelnormalisierung? ︖ $ \ Rightarrow $ Fügen Sie vor und nach der Übergabe eines Werts an die Aktivierungsfunktion eine Ebene hinzu, die die Stapelnormalisierungsverarbeitung enthält.
u^{(l)}=w^{(l)}z^{(l)}+b^{(l)}Oder z
Abschnitt 2) Überblick über die Methode zur Optimierung der Lernrate
(Vorheriger Ablauf und Vision des Gesamtbildes der Probleme)
Überprüfung der Gradientenabstiegsmethode
Überprüfung der Lernrate Wenn der Habitusratenwert groß ist ・ Der optimale Wert wird nicht für immer erreicht und divergiert. Wenn der Wert der Lernrate klein ist ・ Sie divergiert nicht, aber wenn sie zu klein ist, dauert die Konvergenz einige Zeit. ・ Es wird schwierig, zum globalen lokalen Optimalwert zu konvergieren.
Abschnitt 2) Fortsetzung (Reduziert der Einzug, wenn eine Zahl eingegeben wird?)
2-1 Momentum
+ 2-3 RMSProp
+ 2-4Adam
Adam ist ein Optimierungsalgorithmus, der das Obige, den exponentiellen Abklingmittelwert des vergangenen Gradienten von ︖ $ \ Rightarrow $ -Moment und den exponentiellen Abklingmittelwert des Quadrats des vergangenen Gradienten von RMSProp enthält.
Adams Verdienst ist ein Algorithmus, der den Verdienst von ︖ $ \ Rightarrow $ Momentum und RMS Drop hat.
Abschnitt 3) Überblick über das Überlernen (Vorheriger Ablauf und Vision des Gesamtbildes der Probleme) Die Lernkurve weicht zwischen dem Testfehler und dem Trainingsfehler ab. ︖ $ \ Rightarrow $ Spezialisiert auf das Lernen für ein bestimmtes Trainingsmuster. Die Ursache ist eine große Anzahl von Parametern, falsche Parameterwerte, viele Knoten usw. $ \ Rightarrow $ Hoher Grad an Netzwerkfreiheit (Anzahl der Schichten, Anzahl der Knoten, Parameterwerte usw.)
3-1 L1-Regularisierung, L2-Regularisierung
Durch die Regularisierung wird der Freiheitsgrad des Netzwerks eingeschränkt (Anzahl der Schichten, Anzahl der Knoten, Parameterwerte usw.).
Gewichtsabfall + ** Ursache für Überlernen ** - Überlernen kann auftreten, wenn ein Wert mit einem großen Gewicht verwendet wird. - Ein Wert mit einem großen Gewicht ist ein wichtiger Wert beim Lernen, und ein Wert mit einem großen Gewicht führt zu Überlernen. + ** Lösung für Überlernen ** - Wenn Sie trainieren, um das Gewicht zu unterdrücken, indem Sie dem Fehler einen Regularisierungsterm hinzufügen, variiert das Gewicht.
Über das Faltungsnetzwerk
Abschnitt 4) Konzept des Faltungsnetzwerks
Strukturdiagramm von CNN
LeNet-Strukturdiagramm
4-1 Faltschicht
4-1-1 Bias
Faltschicht-Arithmetikkonzept (Bias)
4-1-2 Polsterung
Faltschicht-Arithmetikkonzept (Polsterung)
4-1-3 Schritt
Faltschicht-Arithmetikkonzept (Polsterung)
4-1-4 Kanäle
Faltschicht-Arithmetikkonzept (Kanal)
Probleme beim Lernen eines Bildes mit vollständig verbundener Ebene Nachteile der vollständig verbundenen Ebene $ \ Rightarrow $ Bei einem Bild handelt es sich um 3D-Daten von vertikal, horizontal und kanalförmig, die jedoch als 1D-Daten verarbeitet werden. Die Beziehung zwischen jedem Kanal von $ \ Rightarrow $ RGB spiegelt sich nicht im Lernen wider.
4-2 Pooling-Ebene
Konzeptionelles Diagramm der Pooling-Schicht
Abschnitt 5) Neueste CNN + 5-1 AlexNet
AlexNet Modellbeschreibung
Modellstruktur
Besteht aus 3 vollständig verbundenen Schichten, einschließlich 5 Faltschichten und einer Poolschicht.
Maßnahmen zur Verhinderung von Überlernen
Ich verwende Aussetzer für die Ausgabe einer vollständig verbundenen Schicht der Größe 4096.
[P12] Finden Sie dz / dx nach dem Prinzip des Kettengesetzes.
z = t^2,t=x+y
⇒ [Diskussion] Sie kann durch die folgende Berechnung berechnet werden.
\frac{dz}{dx}=\frac{dz}{dy}\frac{dy}{dx}
,t=x+y
z = t^Da es 2 ist, wenn Sie durch t differenzieren\frac{dz}{dt}=2t
t=x+Da es y ist, wenn Sie durch x differenzieren\frac{dt}{dx}=1
\frac{dz}{dx}=2t ・ 1=2t=2(x+y)
[P20] Wenn die Sigmoidfunktion unterschieden wird, wird der Maximalwert genommen, wenn der Eingabewert 0 ist. Wählen Sie den richtigen Wert aus den Optionen. (1) 0,15 (2) 0,25 (3) 0,35 (4) 0,45
⇒ [Diskussion] Differenzierung von Sigumoid
(sigmoid)'=(1-sigmoid)(sigmoid)
Da die Sigmoidfunktion bei 0,5 maximal ist,
(sigmoid)'=(1-0.5)(0.5)=0.Wird 25 sein
[P28] Was für ein Problem tritt auf, wenn der Anfangswert des Gewichts auf 0 gesetzt wird? Kurz erklären. ⇒ [Diskussion] Der Gradient kann nicht erhalten werden. Da die Formel für den Anfangswert des Gewichts oben erwähnt wurde, werden wir sie verwenden.
[P31] Nennen Sie zwei häufig berücksichtigte Auswirkungen der Chargennormalisierung. ⇒ [Diskussion] Die Verteilung der Parameter in der mittleren Schicht wird angemessen. Stabilisierung des Lernens in der mittleren Schicht Diese Methode ist mittlerweile weit verbreitet, obwohl sie 2015 als neue Methode vorgeschlagen wurde. ..
[P36] Beispielherausforderung
Richtige Antwort: data_x [i: i_end], data_t [i: i_end] • [Erläuterung] Dies ist ein Prozess zum Abrufen von Daten für die Stapelgröße. ⇒ [Diskussion] Seien Sie vorsichtig, da die Beschreibungen ähnlich sind und leicht Fehler machen können.
[P63] Bestätigungstest
⇒ [Diskussion] Die Antwort lautet "a" Es ist gut, sich mit der Figur daran zu erinnern.
[P68] Welches ist die Antwort auf die Grafik, die die L1-Regularisierung zeigt? ⇒ [Diskussion] Die Antwort ist richtig
Es ist gut, sich mit der Figur daran zu erinnern. Lasso ist eine Figur mit einer charakteristischen Diamantform. (Ridge ist kreisförmig)
[P69] Beispielherausforderung
⇒ [Diskussion] Die Antwort lautet (4) param Es ist gut, sich mit der Berechnungsformel daran zu erinnern. Verstehe L1 und L2 richtig.
[P71] Beispielherausforderung
⇒ [Diskussion] Die Antwort lautet "sign (param)" [Erklärung] Die L1-Norm lautet|param|Dieser Gradient wird also zum Gradienten des Fehlers addiert. Das heißt, unterschreiben(param)Ist. Zeichen ist eine Zeichenfunktion. Es ist auch notwendig, die Zeichencode-Funktion zu verstehen, die zum ersten Mal angezeigt wird.
[P78] Beispielherausforderung ⇒ [Diskussion] Richtige Antwort: Bild [oben: unten, links: rechts,:] [Erklärung] Beachten Sie, dass das Bildformat (vertikale Breite, horizontale Breite, Kanal) ist.
[P100] Bestätigungstest Beantworten Sie die Größe des Ausgabebilds, wenn das Eingabebild der Größe 6x6 mit dem Filter der Größe 2x2 gefaltet wird. Der Schritt und die Polsterung werden auf 1 gesetzt. ⇒ [Diskussion] Antwort 7✖️7 Eingabegrößenhöhe (H), Eingabegrößenbreite (W) Output Hight(OH) Output Width(OW) Filler Hight(FH) Filler Width(FW) Schritt (S) Schwenken (P)
OH =\frac{H+2P-FH}{S}+1 =\frac{6+2.1-2}{1}+1=7
OW =\frac{W+2P-FW}{S}+1 =\frac{6+2.1-2}{1}+1=7
Es ist eine feste Berechnungsmethode, daher ist es praktisch, sie als Formel zu speichern.
Ergebnis der Umstellung auf die Kombination von ReLU-Xavier Ergebnis der Umstellung auf Sigmoid-HE-Kombination
** [try] Lassen Sie uns die Verarbeitung von im2col überprüfen -Kommentieren Sie die Zeile, die in der Funktion transponiert wird, und führen Sie den folgenden Code aus. ・ Ändern Sie die Größe jeder Dimension von Eingabedaten, Filtergröße, Schritt und Abstand **
⇒ [Diskussion] Die Ergebnisse der Übung sind wie folgt.
python
#Bestätigung der Im2col-Verarbeitung
input_data = np.random.rand(2, 1, 4, 4)*100//1 # number, channel, height,Repräsentiert die Breite
print('========== input_data ===========\n', input_data)
print('==============================')
filter_h = 3
filter_w = 3
stride = 1
pad = 0
col = im2col(input_data, filter_h=filter_h, filter_w=filter_w, stride=stride, pad=pad)
print('============= col ==============\n', col)
print('==============================')
Versuchen Sie, die Größe jeder Dimension von input_data sowie die Filtergröße, den Schritt und den Abstand wie folgt zu ändern.
python
filter_h = 6
filter_w = 6
stride = 2
pad = 1
・ Es ist wichtig zu verstehen, dass im2col und col2im nicht genau auf die gleiche Weise zurückkehren. ・ Die zu verwendende Szene ist in erster Linie anders. im2col wird zum Falten verwendet, col2im wird jedoch für die endgültige Ausgabe verwendet.
** [try] Lassen Sie uns die Verarbeitung von col2im überprüfen ・ Konvertieren Sie die Col-Ausgabe, indem Sie im2col in image aktivieren und überprüfen ** ⇒ [Diskussion]
python
#Verarbeitung von col2im hinzugefügt
img = col2im(col, input_shape=input_data.shape, filter_h=filter_h, filter_w=filter_w, stride=stride, pad=pad)
print(img)
## DN37_Jupyter-Übung (3)
・ Bitte beachten Sie, dass das Erlernen des Faltungsprozesses einige Zeit in Anspruch nimmt. Um stressfrei zu arbeiten, wird empfohlen, die PC-Spezifikationen zu erhöhen oder ein mit GPU ausgestattetes Gerät vorzubereiten.
Recommended Posts