[PYTHON] <Kurs> Tiefes Lernen: Day2 CNN

sutudy-ai


Tiefes Lernen

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)

Deep Learning: Day2 CNN (Vorlesungszusammenfassung)

Rückblick auf das Gesamtbild des Deep Learning - Lernkonzepts

  1. Geben Sie einen Wert in die Eingabeebene ein
  2. Der Wert wird während der Berechnung mit der Gewichts-, Vorspannungs- und Aktivierungsfunktion übertragen.
  3. Der Wert wird von der Ausgabeschicht übertragen
  4. Verwenden Sie die Fehlerfunktion, um den Fehler aus dem von der Ausgabeebene ausgegebenen Wert und dem richtigen Antwortwert zu ermitteln.
  5. Aktualisieren Sie Gewichte und Verzerrungen, um Fehler zu reduzieren. (Besonders wichtig)
  6. Durch Wiederholen der Vorgänge 1 bis 5 liegt der Ausgabewert näher am richtigen Antwortwert.
Screenshot 2020-01-02 10.07.45.png Bild der Fehlerrückausbreitung スクリーンショット 2020-01-02 10.12.55.png スクリーンショット 2020-01-02 10.36.12.png スクリーンショット 2020-01-02 10.38.48.png スクリーンショット 2020-01-02 10.39.04.png

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.

Lerntechniken für tiefe Modelle

** Anfangsgewichtseinstellung-He ** Aktivierungsfunktion beim Einstellen des Anfangswertes von He Relu-Funktion スクリーンショット 2020-01-02 11.04.56.png 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
スクリーンショット 2020-01-02 11.52.05.png スクリーンショット 2020-01-02 11.52.18.png スクリーンショット 2020-01-02 11.52.54.png スクリーンショット 2020-01-02 12.16.36.png
 + 2-3 RMSProp
スクリーンショット 2020-01-02 12.17.42.png
 + 2-4Adam

Über das Faltungsnetzwerk

Übung

DN06_Jupyter-Übung

Berücksichtigung des Bestätigungstests

[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 スクリーンショット 2020-01-02 11.54.43.png

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

スクリーンショット 2020-01-02 12.38.45.png

⇒ [Diskussion] Die Antwort lautet "a" スクリーンショット 2020-01-02 12.50.27.png 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 スクリーンショット 2020-01-02 12.37.49.png

Es ist gut, sich mit der Figur daran zu erinnern. Lasso ist eine Figur mit einer charakteristischen Diamantform. (Ridge ist kreisförmig)

[P69] Beispielherausforderung

スクリーンショット 2020-01-02 13.31.21.png

⇒ [Diskussion] Die Antwort lautet (4) param スクリーンショット 2020-01-02 13.40.33.png Es ist gut, sich mit der Berechnungsformel daran zu erinnern. Verstehe L1 und L2 richtig.

[P71] Beispielherausforderung

スクリーンショット 2020-01-02 13.44.02.png

⇒ [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 スクリーンショット 2020-01-02 13.53.49.png ⇒ [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.

Übung

DN23_Jupyter Übung

スクリーンショット 2020-01-02 15.46.59.png

Ergebnis der Umstellung auf die Kombination von ReLU-Xavier スクリーンショット 2020-01-02 15.36.15.png Ergebnis der Umstellung auf Sigmoid-HE-Kombination スクリーンショット 2020-01-02 15.43.35.png

DN32_Jupyter Übung (Dropout)

スクリーンショット 2020-01-03 2.28.29.png スクリーンショット 2020-01-03 2.31.55.png

DN35_Jupyter Übung (im2col)

** [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('==============================')
スクリーンショット 2020-01-03 3.05.36.png

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
スクリーンショット 2020-01-03 3.11.05.png

・ 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)
スクリーンショット 2020-01-03 3.23.19.png ## DN37_Jupyter-Übung (3) スクリーンショット 2020-01-03 3.30.52.png

・ 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

<Kurs> Tiefes Lernen: Day2 CNN
<Kurs> Tiefes Lernen: Tag 1 NN
<Kurs> Deep Learning Day4 Stärkung des Lernens / Tensorflusses
Themen> Deep Learning: Tag 3 RNN
Tiefes Lernen
Studiere gründlich Deep Learning [DW Tag 0]
Einführung in Deep Learning ~ CNN Experiment ~
Anfänger des maschinellen Lernens nehmen an Courseras Deep Learning-Kurs teil
[Rabbit Challenge (E-Qualifikation)] Deep Learning (Tag 2)
[Rabbit Challenge (E-Qualifikation)] Deep Learning (Tag 3)
Deep Learning Memorandum
Starten Sie Deep Learning
Python-Lerntag 4
Python Deep Learning
Deep Learning × Python
[Rabbit Challenge (E-Qualifikation)] Deep Learning (Tag 4)
"Deep Learning from Grund" Memo zum Selbststudium (Nr. 11) CNN
Erstes tiefes Lernen ~ Kampf ~
Python: Deep Learning-Praxis
Deep Learning / Aktivierungsfunktionen
Deep Learning von Grund auf neu
Lernrekord 4 (8. Tag)
Lernrekord 9 (13. Tag)
Lernrekord 3 (7. Tag)
Deep Learning 1 Übung des Deep Learning
Deep Learning / Cross Entropy
Lernrekord 5 (9. Tag)
Lernrekord 6 (10. Tag)
Erstes tiefes Lernen ~ Vorbereitung ~
Programmieren des Lernprotokolls 2. Tag
Erstes tiefes Lernen ~ Lösung ~
Lernrekord 8 (12. Tag)
[AI] Deep Metric Learning
Lernrekord 1 (4. Tag)
Lernrekord 7 (11. Tag)
Ich habe versucht, tief zu lernen
Memo zum Kurs für maschinelles Lernen
Python: Deep Learning Tuning
Lernrekord 2 (6. Tag)
Deep Learning Großtechnologie
Lernrekord 16 (20. Tag)
Lernrekord 22 (26. Tag)
Deep Learning / Softmax-Funktion
Deep Learning Kurs, der vor Ort zerquetscht werden kann
Lernrekord Nr. 21 (25. Tag)
Deep Learning von Grund auf 1-3 Kapitel
Versuchen Sie es mit TensorFlow
Lernrekord 13 (17. Tag) Kaggle3
Deep Learning Gaiden ~ GPU-Programmierung ~
Lernrekord Nr. 10 (14. Tag)
Lernrekord Nr. 17 (21. Tag)
Lernrekord 12 (16. Tag) Kaggle2
Deep Learning Bilderkennung 1 Theorie
Lernrekord Nr. 18 (22. Tag)