[PYTHON] Einfache Implementierung eines neuronalen Netzwerks mit Chainer

Bis zum letzten Mal schrieb ich über die grundlegenden Objekte, aus denen Chainer besteht. Ab diesem Zeitpunkt möchte ich mit diesen Objekten tatsächlich ein neuronales Netzwerk implementieren.

Gesamtansicht des neuronalen Netzes

Wenn Sie ein Programm schreiben, das ein neuronales Netzwerk zusammensetzt, besteht die Gesamtansicht ungefähr aus den folgenden fünf.

  1. Datenaufbereitung

Es ist ein Programm, das Daten für das Training des Modells aufbereitet. Es gibt verschiedene Arten von Daten wie Sätze, Bilder und Töne, aber wir verarbeiten sie zu einer Datenform, die für das zu erstellende neuronale Netzwerk geeignet ist.

  1. Modellbeschreibung

Beschreiben Sie eine Klasse, die die Chain-Klasse erbt. Weitere Informationen finden Sie unter hier.

class MyChain(Chain):
    def __init__(self):
        super(MyChain, self).__init__(
Funktionserklärung mit Parametern
        )
    def __call__(self, x, y):
Verlust (Fehler) -Funktion
  1. Einstellungen des Optimierungsalgorithmus (SDG, Adam usw.)

Beschreibt den Prozess der Optimierung des Modells (Minimierung des Fehlers). Weitere Informationen finden Sie unter hier.

model = MyChain()
optimizer = optimizer.Adam()
optimizer.setup(model)
  1. Lernen

Lernt die angegebene Anzahl von Malen. Je nach Gegenstand kann eine vorzeitige Beendigung durchgeführt werden, diesmal geben wir jedoch einfach die Epoche (Anzahl der Lernvorgänge) an. Es scheint, dass der Code von der Gradienteninitialisierung bis zur Parameteraktualisierung fast versprochen ist.

for epoch in range(Anzahl der Wiederholungen):
    model.zerograds()           #Gradienteninitialisierung
    loss = model(train, target) #Fehlerberechnung
    loss.backward()             #Gradientenberechnung
    optimizer.update()          #Parameteraktualisierung
  1. Ergebnisausgabe

Speichern Sie das Modell des Trainingsergebnisses und führen Sie den Test durch.

Richtung vom nächsten Mal

Ich möchte diese Informationen nicht in einen Artikel einfügen, also ab dem nächsten Mal

  1. Datenaufbereitung
  2. Modellbeschreibung
  3. Optimieren der Algorithmuseinstellungen
  4. Lernen
  5. Ergebnisausgabe

Ich werde in kleinen Teilen darüber schreiben. Bis hierher für diese Zeit

Referenz

Takayoshi Yamashita Deep Learning Kodansha, das in der Abbildung zu sehen ist Hiroyuki Shinno Praktisches Deep Learning mit Chainer-How zur Implementierung komplexer NN-Ohm

Recommended Posts

Einfache Implementierung eines neuronalen Netzwerks mit Chainer
Implementierung von "verschwommenen" neuronalen Netzen mit Chainer
Einfache Implementierung eines neuronalen Netzwerks mithilfe der Chainer-Datenaufbereitung
Einfache Implementierung eines neuronalen Netzwerks mithilfe der Beschreibung des Chainer-Modells
Einfache Theorie und Implementierung des neuronalen Netzes
Rank Learning über ein neuronales Netzwerk (RankNet-Implementierung von Chainer)
Neuronales Netz beginnend mit Chainer
Implementierung eines neuronalen Netzwerks in Python
Implementierung eines neuronalen Netzwerks (nur NumPy)
Bayesianische Optimierungsimplementierung von Hyperparametern des neuronalen Netzwerks (Chainer + GPyOpt)
Implementierung eines Faltungs-Neuronalen Netzwerks mit nur Numpy
Implementierung eines zweischichtigen neuronalen Netzwerks 2
PRML Kapitel 5 Python-Implementierung für neuronale Netze
Einfaches Klassifizierungsmodell mit neuronalem Netz
Überlebensvorhersage unter Verwendung des titanischen neuronalen Netzes von Kaggle [80,8%]
Implementierung eines 3-Schicht-Neuronalen Netzwerks (kein Lernen)
Implementierung eines Dialogsystems mit Chainer [seq2seq]
Versuchen Sie es mit TensorFlow-Part 2-Convolution Neural Network (MNIST).
[Chainer] Dokumentklassifizierung nach Faltungsnetzwerk
Parametrisches neuronales Netzwerk
Verstärkungslernen 10 Versuchen Sie es mit einem trainierten neuronalen Netz.
Eine andere Stilkonvertierungsmethode unter Verwendung des Convolutional Neural Network
Autorenschätzung unter Verwendung von neuronalen Netzen und Doc2Vec (Aozora Bunko)
Übersicht über DNC (Differentiable Neural Computers) + Implementierung durch Chainer
Implementieren Sie das Convolutional Neural Network
Modell unter Verwendung eines Faltungsnetzwerks in der Verarbeitung natürlicher Sprache
Implementieren Sie das neuronale Netzwerk von Grund auf neu
Implementieren Sie ein vorwärts gerichtetes neuronales Netzwerk in Chainer, um Dokumente zu klassifizieren
Erfahrung mit faltbaren neuronalen Netzen
Implementierung des Chainer-Serienlernens mit Mini-Batch variabler Länge
Vorsichtsmaßnahmen bei der Verwendung von Chainer
Versuchen Sie, ein neuronales Netzwerk in Python aufzubauen, ohne eine Bibliothek zu verwenden
Implementieren Sie ein dreischichtiges neuronales Netzwerk
Implementierung von TF-IDF mit Gensim
Neuronales Netzwerk mit Python (Scikit-Learn)
3. Normalverteilung mit neuronalem Netz!
# 1 [python3] Einfache Berechnung mit Variablen
Tutorial zum neuronalen Netz von Pytorch (CNN) 1.3.1.
4. Kreisparameter mit einem neuronalen Netzwerk!
TensorFlow Tutorial-Convolution Neuronales Netz (Übersetzung)