[PYTHON] Deep Learning 1 Übung des Deep Learning

Aidemy 2020/9/30

Einführung

Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur AI-spezialisierten Schule "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 erste Beitrag von Deep Learning. Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ Über tiefes Lernen ・ Erstellen Sie ein Modell zur Klassifizierung handschriftlicher Zahlen

Über tiefes Lernen

Was ist tiefes Lernen?

-Tiefes Lernen ist eine Art des maschinellen Lernens, bei dem ein Modell namens Teep Neural Network zum Klassifizieren und Regressieren von Daten verwendet wird. Es wird mit einem solchen Namen bezeichnet, weil es in Bezug auf das neuronale Netzwerk lebender Organismen hergestellt wird. ・ Deep Learning ist in den Bereichen Bilderkennung und Spracherkennung weit verbreitet. Der Zweck des tiefen Lernens besteht darin, "die Erkennungsgenauigkeit von Bildern und Tönen zu verbessern".

-Das (tiefe) neuronale Netzwerk besteht aus Schichten von Elementen, die Informationen empfangen und ausgeben, die als neuron bezeichnet werden. Diejenigen mit drei oder mehr Schichten zu diesem Zeitpunkt werden als Modell behandelt, das als tiefes neuronales Netzwerk bezeichnet wird. Zu diesem Zeitpunkt wird die Eingabeebene als __Eingabeebene __ bezeichnet, die Ausgabeebene als Ausgabeschicht und die Ebene zwischen den beiden als versteckte Ebene. Die Schicht, in der das vorherige Neuron und das nächste Neuron für jede Schicht verbunden sind, wird als __voll verbundene Schicht __ bezeichnet.

-Das Neuron empfängt die Eingabewerte __Eingabewert (x) __ und __ Gewichtsparameter (w) __. Wenn der Wert des durch x und w dargestellten Ausdrucks höher als der Schwellenwert (θ) jedes Neurons ist, wird der Wert 1 an das nächste Neuron übergeben, andernfalls wird 0 übergeben. Diese Informationsübertragung wird als __neuron feuern __ bezeichnet. ・ Beim Deep Learning werden ein Klassifizierungsmodell und ein Regressionsmodell erstellt, indem der Wert des Gewichtsparameters (w) mechanisch angepasst wird.

Fluss des tiefen Lernens

・ Erstellen Sie ein Netzwerkmodell → Geben Sie die Modell-Trainingsdaten zum Trainieren an → (Lernen abgeschlossen) → Implementieren

・ Wie im vorherigen Abschnitt bestätigt, wird zunächst ein Netzwerkmodell erstellt, indem eine hierarchische Struktur einiger Neuronen gebildet wird. Als nächstes werden Trainingsdaten (Eingabewert x) an das erstellte Modell übergeben und der Ausgabewert y ausgegeben. Zunächst unterscheidet sich der Wert dieses y von der Prüfung, aber der Wert des Gewichtsparameters (w) wird so eingestellt, dass die Abweichung ΔE von den richtigen Antwortdaten (Lehrerbezeichnung) klein wird, und schließlich wird der entsprechende Wert eingestellt. Das zurückzugebende Modell ist fertiggestellt.

Erstellen Sie ein Modell zur Klassifizierung handschriftlicher Zahlen

Fluss der Klassifizierung (Modellimplementierung)

・ Datenaufbereitung → Erstellen eines neuronalen Netzwerkmodells → Daten geben und trainieren → Bewertung der Modellgenauigkeit

Beilage zum tiefen neuronalen Netz

-Dieses Mal, wenn die handgeschriebenen Eingabedaten "7" sind, ist der Wert, der "7" unter den korrekten Antwortbezeichnungen der Lehrerdaten entspricht, 1 (ein) und die anderen Werte sind 0 (aus). Daten mit einer richtigen Antwort und einer anderen 0-Ausgabe werden als __one-hot vector Vector __ bezeichnet. Außerdem wird die Zuweisung (Beschriftung) beim Klassifizieren von Daten wie "7" als __Klassenbeschriftung __ bezeichnet.

TensorFlow und Keras

-TensorFlow ist eine von Google bereitgestellte Bibliothek für maschinelles Lernen. ・ Keras kann TensorFlow-Code intuitiv und präzise gestalten. Eine Wrapper-Bibliothek, die die Verwendung anderer Bibliotheken (in diesem Fall TensorFlow) wie Keras erleichtert.

Datenaufbereitung

-Handgeschriebene numerische Daten können sofort verwendet werden, indem ein Datensatz namens MNIST aus Keras importiert wird. ・ (Überprüfung) X sind Bilddaten, y sind Lehreretikettendaten. Zug ist Trainingsdaten und Test ist Testdaten für die Modellbewertung.

from keras.datasets import mnist
(X_train,y_train),(X_test,y_test)=mnist.load_data()

Erstellen Sie ein neuronales Netzwerkmodell

-Die Methode zum Erstellen (Erstellen) eines Modells besteht darin, zuerst eine __Sequential () __- Instanz zu erstellen, die das Modell verwaltet, und dann eine __Sequential () __- Instanz zu erstellen. __add (Dicht (Anzahl der Ausgabeeinheiten in der ersten vollständig verbundenen Schicht, input_dim = Anzahl der Eingabeeinheiten)) __ Die Eingabeebene und die erste vollständig verbundene Ebene werden mithilfe von erstellt. Außerdem muss __Aktivierungsfunktion __ für die Ausgabe der vollständig verbundenen Schicht angegeben werden. Die Methode ist __add (Aktivierung ("Funktionsname")) __. Wenn Sie die zweite und die nachfolgenden Eingabeebenen erstellen möchten, können Sie den Wert Dense jedes Mal mit der Methode add () angeben (input_dim kann nur einmal angegeben werden). Zum Schluss legen Sie den Lernprozess mit der Methode __compile () __ fest und schließen ihn ab.

#Modulimport
from keras.model import Sequential
from keras.layers import Dense,Activation
#Erstellung einer sequentiellen Instanz (Modellverwaltung)
model=Sequential()
#Anzahl der Eingabeeinheiten 28*28=784, 256 Ausgabeeinheiten der ersten vollständig verbundenen Schicht, Aktivierungsfunktion Sigmoid
model.add(Dense(256,input_dim=784))
model.add(Activation("sigmoid"))
#256 Ausgabeeinheiten für die zweite vollständig verbundene Schicht, Aktivierungsfunktion relu
model.add(Dense(128))
model.add(Activation("relu"))
#Die Anzahl der Ausgabeeinheiten der dritten vollständig verbundenen Schicht beträgt 10, Aktivierungsfunktion softmax
model.add(Dense(10))
model.add(Activation("softmax"))
#Lernprozesseinstellungen (Ich kenne die Argumente jetzt nicht)
model.compile(optimizer="sgd",loss="categorical_crossentropy",metrics=["accuracy"])

Modelllernen

・ Lernen Sie mit __model.fit (X_train, y_train, verbose = 0or1, Epochen = Anzahl der Lernvorgänge) __. ・ Wenn Epochen 1 sind, wird der Lernfortschritt ausgegeben, und wenn er 0 ist, wird er nicht ausgegeben. ・ (Überprüfung) Das Lernen wird durchgeführt, indem das Gewicht so geändert wird, dass der Unterschied zwischen der Ausgabe und den Lehrerdaten gering wird.

Modellbewertung

Verwenden Sie das trainierte (+ bewertete) Modell

・ Führen Sie ein Klassifizierungsproblem mit dem trainierten (+ bewerteten) Modell durch. ・ __Model.predict (Selbst, Eingabedaten, batch_size = Ganzzahl, ausführlich = 0 oder 1, Schritte = Anzahl der Schritte) __ ・ Über jedes Argument

In Bezug auf den Rückgabewert gibt die Predict () -Methode ein NumPy-Array zurück, in dem der vorhergesagte Wert gespeichert ist. Da die handschriftliche Zeichenklasse jedoch 10-dimensional ist, wird der größte Wert extrahiert. Die Methode verwendet __np.argmax (Daten mit Predict (), Achse = 1) __, um die Indexnummer des Maximalwerts zu erhalten. Da der Index für jede Zeile durch Setzen der Achse = 1 erhalten werden kann, wird nur das Vorhersageergebnis angezeigt.

Zusammenfassung

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

Recommended Posts

Deep Learning 1 Übung des Deep Learning
Deep Running 2 Tuning von Deep Learning
Tiefes Lernen
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
Deep Learning Memorandum
Starten Sie Deep Learning
Python Deep Learning
Deep Learning × Python
Othello-Aus der dritten Zeile von "Implementation Deep Learning" (3)
Bedeutung von Deep-Learning-Modellen und -Parametern
Versuchen Sie mit Kipoi tiefes Erlernen der Genomik
Visualisieren Sie die Auswirkungen von Deep Learning / Regularisierung
Emotionale Analyse von Tweets mit Deep Learning
Lernbericht über das Lesen von "Deep Learning von Grund auf neu"
Othello-Aus der dritten Zeile von "Implementation Deep Learning" (2)
Erstes tiefes Lernen ~ Kampf ~
Die Geschichte des tiefen Lernens mit TPU
Python: Deep Learning-Praxis
Deep Learning / Aktivierungsfunktionen
Deep Learning von Grund auf neu
Ein Amateur versuchte Deep Learning mit Caffe (Übung)
Deep Learning / Fehler-Backpropagation der Sigmoid-Funktion
Ein Memorandum zum Studieren und Implementieren von Deep Learning
[Lernnotiz] Deep Learning von Grund auf ~ Implementierung von Dropout ~
Deep Learning / Cross Entropy
Erstes tiefes Lernen ~ Vorbereitung ~
Grundlegendes Verständnis der Stereo-Tiefenschätzung (Deep Learning)
Erstes tiefes Lernen ~ Lösung ~
[AI] Deep Metric Learning
Ich habe versucht, tief zu lernen
Paralleles Lernen von Deep Learning durch Keras und Kubernetes
Python: Deep Learning Tuning
Deep Learning Großtechnologie
Implementierung eines Deep Learning-Modells zur Bilderkennung
Tiefes Lernen durch Implementierung (Segmentierung) ~ Implementierung von SegNet ~
Deep Learning / Softmax-Funktion
Anwendung von Deep Learning 2 von Grund auf neu Spam-Filter
Techniken zum Verständnis der Grundlagen von Deep-Learning-Entscheidungen
Othello ~ Aus der dritten Zeile von "Implementation Deep Learning" (4) [Ende]
DNN (Deep Learning) Library: Vergleich von Chainer und TensorFlow (1)
Katzen haben es schon satt, locker und locker zu lernen
Sammlung und Automatisierung erotischer Bilder durch Deep Learning
DEEP PROBABILISTIC PROGRAMMING --- Bibliothek "Deep Learning + Bayes" --- Einführung von Edward
Deep Learning von Grund auf 1-3 Kapitel
Versuchen Sie es mit TensorFlow
Maschinelles Lernen in Delemas (Praxis)
Deep Learning Gaiden ~ GPU-Programmierung ~
<Kurs> Tiefes Lernen: Day2 CNN
Grundlagen des maschinellen Lernens (Denkmal)
Stärkung des Lernens 2 Installation von Chainerrl
Deep Learning Bilderkennung 1 Theorie
Andere Anwendungen des Wörterbuchlernens
Deep Learning / LSTM Scratch Code
<Kurs> Tiefes Lernen: Tag 1 NN
Deep Kernel Learning mit Pyro
Versuchen Sie Deep Learning mit FPGA
Deep Learning für die Bildung von Verbindungen?
Einführung in Udacity Deep Learning Nanodegree
Lernen mit dem Lehrer 1 Grundlagen des Lernens mit dem Lehrer (Klassifizierung)
Themen> Deep Learning: Tag 3 RNN