[PYTHON] Deep Learning Bilderkennung 2 Modellimplementierung

Aidemy 2020/11/10

Einführung

Hallo, es ist ja! Obwohl es ein knuspriges literarisches System ist, interessierte ich mich für die Möglichkeiten der KI, also ging ich zur KI-Fachschule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dies ist der zweite Beitrag für tiefes Lernen und Bilderkennung. Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ Über das Faltungsnetzwerk ・ Informationen zur Modellimplementierung

(Rückblick) Faltungs-Neuronales Netz

Überblick

-__ Convolutional Neural Network (CNN) __ ist eine Deep-Learning-Methode, die hauptsächlich in der Bildverarbeitung verwendet wird. -Das in Kapitel 1 verwendete mehrschichtige Perceptron (MLP) empfing andere durch eindimensionale Eingabe, aber CNN kann Daten empfangen, da sie __ zweidimensional sind, sodass zweidimensionale Daten wie Bilder als Informationen verwendet werden können. Sie können lernen, ohne zu verlieren.

-Das neuronale Faltungsnetzwerk besteht aus __ "Faltungsschicht" __ und __ "Pooling-Schicht" __. Die Faltungsschicht ist eine Schicht, die sich auf einen Teil der Eingabedaten konzentriert und die Eigenschaften des Bildes untersucht. -Die __ Pooling-Schicht __ ist eine Schicht, die die Datenmenge reduziert, indem die __ Ausgabedaten von der Faltungsschicht reduziert werden. Als Methode zur Reduzierung gibt es __ "Max Pooling" __, das den Maximalwert jedes Features annimmt, und __ "Average Pooling" __, das den Durchschnittswert annimmt.

・ Beziehungsdiagramm der Faltschicht![Screenshot 2020-11-09 12.26.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/4a939228- 1e57-3d36-8fc3-9053d328b145.png)

・ Beziehungsdiagramm der Pooling-Ebene (Max Pooling)![Screenshot 2020-11-09 12.27.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/ 698700 / 74a3057a-ac63-e30e-f100-3640c083ed1d.png)

Layer-Implementierung

-Dieses Mal werden wir die Ebene mit dem __Sequential-Modell __ implementieren.

スクリーンショット 2020-11-09 12.37.25.png

-Die "Faltschicht" im vorherigen Abschnitt kann mit __ "Conv2D ()" __ implementiert werden. __ "Filter" __ ist die Anzahl der Filter, __ "Kernelgröße" __ ist die Größe des Filters, __ "Schritte" __ ist die Entfernung, um die Filter gleichzeitig zu bewegen, __ "Auffüllen" __ ist __ 'gleich' Wenn __, werden die Eingabegröße und die Ausgabegröße ausgerichtet, und wenn __ 'gültig' __, nicht.

-Die Pooling-Schicht kann mit __ "MaxPooling2D ()" __ für Max Pooling implementiert werden. __ "pool_size" __ gibt die Größe des zu bündelnden Bereichs an, __ "Schritte" __ gibt die Entfernung an, um die der Filter gleichzeitig bewegt werden soll (Schritte müssen nicht angegeben werden).

-Für diese Eingabeebenen geben Sie die Größe der Eingabedaten mit __ "input_dim (eindimensional)" und "input_shape (mehrdimensional)" __ an. Im Fall von (28 × 28) RGB-Bilddaten ist beispielsweise "input_shape = (28,28,3)".

-Der folgende Code ist ein Beispiel für das Hinzufügen der bisherigen Ebenen. model.add(Conv2D(input_shape=(28, 28, 3), filters=32, kernel_size=(2, 2), strides=(1, 1), padding="same")) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Conv2D(filters=32, kernel_size=(2, 2), strides=(1, 1), padding="same")) model.add(MaxPooling2D(pool_size=(2, 2)))

Modelllernen

Angabe der Aktivierungsfunktion

Kompilieren, lernen

-Das Lernen erfolgt mit __ "model.fit ()" __. Zusätzlich zur Eingabe von Trainingsdaten und der Übergabe eines Etiketts gibt __ "batch_size" __ die Anzahl der Daten an, die gleichzeitig übergeben werden sollen, und __ "epochs" __ die Anzahl der Trainings. Die batch_size wird angegeben, um das am Ende von Kapitel 1 gelernte __ "Mini-Batch-Lernen" __ durchzuführen.

・ Codebeispiel スクリーンショット 2020-11-09 13.55.24.png

Bewertung der Modellleistung

Modelle speichern und laden

-Auch __ damit __ Personen __ dieses Modell anzeigen und bearbeiten können, muss es einmal in das __ "json" __ Format formatiert werden. Dies geschieht mit __ "model.to_json ()" __. -Um dies zu laden, verwenden Sie __ "model_from_json (konvertiertes Modell)" __.

Zusammenfassung

Diese Zeit ist vorbei. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Deep Learning Bilderkennung 2 Modellimplementierung
Implementierung eines Deep Learning-Modells zur Bilderkennung
Bilderkennungsmodell mit Deep Learning im Jahr 2016
Deep Learning Bilderkennung 3 nach der Modellerstellung
Deep Learning Bilderkennung 1 Theorie
Deep Learning 2 durch Implementierung gelernt (Bildklassifizierung)
Lesen und implementieren Sie Deep Residual Learning für die Bilderkennung
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
Deep Learning Model Lightening Library Distiller
Echtzeit-Bilderkennung auf Mobilgeräten mithilfe des TensorFlow-Lernmodells
Tiefes Lernen
[AI] Deep Learning für das Entrauschen von Bildern
Othello-Aus der dritten Zeile von "Implementation Deep Learning" (3)
Bildausrichtung: von SIFT bis Deep Learning
Othello-Aus der dritten Zeile von "Implementation Deep Learning" (2)
Starten Sie Deep Learning
Aufgeblasenes Lernbild
Python Deep Learning
Deep Learning × Python
Tiefes Lernen durch Implementierung gelernt ~ Erkennung von Abnormalitäten (Lernen ohne Lehrer) ~
[Lernnotiz] Deep Learning von Grund auf ~ Implementierung von Dropout ~
Bilderkennung mit Caffe Model Chainer Yo!
Tiefes Lernen durch Implementierung (Segmentierung) ~ Implementierung von SegNet ~
Erstes tiefes Lernen in C # - Einführung in Python implementieren-
Erstes tiefes Lernen ~ Kampf ~
Python: Deep Learning-Praxis
Deep Learning / Aktivierungsfunktionen
Bilderkennung mit Keras
Zählen Sie die Anzahl der Parameter im Deep-Learning-Modell
Deep Learning Bildanalyse beginnend mit Kaggle und Keras
[Erkennung von Abnormalitäten] Erkennen Sie Bildverzerrungen durch Fernunterricht
Deep Learning 1 Übung des Deep Learning
Deep Learning / Cross Entropy
Erstes tiefes Lernen ~ Vorbereitung ~
Erstes tiefes Lernen ~ Lösung ~
[AI] Deep Metric Learning
Ich habe versucht, tief zu lernen
Pfeffer-Tutorial (7): Bilderkennung
Othello ~ Aus der dritten Zeile von "Implementation Deep Learning" (4) [Ende]
Python: Deep Learning Tuning
Grundlagen der CNN 1-Bilderkennung
Deep Learning Großtechnologie
Deep Learning / Softmax-Funktion
Ich habe versucht, ein Deep-Learning-Modell von TensorFlow mit TensorFlow Serving zu hosten
[Deep Learning] Bildklassifizierung mit Faltungsnetz [DW Tag 4]
Klassifizieren Sie CIFAR-10-Bilddatensätze mithilfe verschiedener Modelle des Deep Learning
Ich habe versucht, in einem tief erlernten Sprachmodell zu schreiben
Modell des maschinellen Lernens unter Berücksichtigung der Wartbarkeit
Kontinuierliche Implementierung des Weltraumthemenmodells
Deep Learning von Grund auf 1-3 Kapitel
Versuchen Sie es mit TensorFlow
Deep Learning Gaiden ~ GPU-Programmierung ~
<Kurs> Tiefes Lernen: Day2 CNN
Deep Learning / LSTM Scratch Code
<Kurs> Tiefes Lernen: Tag 1 NN
Deep Kernel Learning mit Pyro
Versuchen Sie Deep Learning mit FPGA