Aidemy 2020/11/10
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
-__ 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)
-Dieses Mal werden wir die Ebene mit dem __Sequential-Modell __ implementieren.
-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)))
-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
-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)" __.
Diese Zeit ist vorbei. Vielen Dank für das Lesen bis zum Ende.
Recommended Posts