[PYTHON] Einfache Implementierung eines neuronalen Netzwerks mithilfe der Beschreibung des Chainer-Modells

Von Letztes Mal schreibe ich einen Artikel zum Aufbau eines neuronalen Netzwerks mit Chainer, einem Framework für tiefes Lernen. Diesmal

  1. Datenaufbereitung

  2. Modellbeschreibung

  3. Optimieren der Algorithmuseinstellungen

  4. Lernen

  5. Ergebnisausgabe Von

  6. Modellbeschreibung

Ich werde darüber schreiben.

Neuronales Netz zu bauen

Letztes Mal Wie ich schrieb, werden die diesmal verwendeten Iris-Daten eingegeben. Es ist 4 Dimensionen und seine Ausgabe ist 3 Dimensionen. Wenn Sie sehr einfach denken, kann das Netzwerk wie in der folgenden Abbildung dargestellt aufgebaut werden.

Irisのネットワーク_1.png

Was jedoch aufgebaut werden sollte, ist ein neuronales Netzwerk mit einer Zwischenschicht. Zwischen Eingabe und Ausgabe ist eine Ebene erforderlich. Vereinfachen Sie den Fall und fügen Sie eine mittlere Schicht hinzu. Die Anzahl der Knoten beträgt sechs.

Das Netzwerk ist dann wie in der folgenden Abbildung dargestellt. Irisニューラルネットワーク_2.png

Wie ich jedoch in Über Chainers grundlegende Objekte ~ links ~ geschrieben habe, ist die Zuordnung von Schicht l zu Schicht l + 1

y = wx + b

Es wird durch die lineare ausgedrückt. Mit anderen Worten ist eine Vorspannung b für jede der Eingangsschicht und der Zwischenschicht erforderlich. Die Abbildung, die dies berücksichtigt, ist wie folgt.

Irisニューラルネットワーク_3.png

Iris Modell

Lassen Sie uns nun das neuronale Netzwerkmodell von Iris mithilfe eines Kettenobjekts ausdrücken.

class IrisChain(Chain):
    def __init__():
        super(IrisChain, self).__init__(
             l1 = L.Linear(4, 6),
             l2 = L.Linear(6, 3),
    )

    def __call__(self, x, y):
        return F.mean_squared_error(self.fwd(x), y)

    def fwd(self, x):
        h1 = F.sigmoid(self.l1(x))
        h2 = self.l2(h1)
        return h2

Eine ausführliche Erklärung finden Sie im Artikel hier. Eingabeebene: 4 Mittlere Schicht: 6 Ausgabeschicht: 3 Damit 4 → 6

l1 = L.Linear(4, 6)

6 → 3

l2 = L.Linear(6, 4)

Es wird ausgedrückt als.

Das ist alles für diese Zeit. Das nächste Mal werde ich über die Optimierung schreiben, um den Mindestwert des von diesem Modell erhaltenen Fehlers zu ermitteln.

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 mithilfe der Beschreibung des Chainer-Modells
Einfache Implementierung eines neuronalen Netzwerks mit Chainer
Einfache Implementierung eines neuronalen Netzwerks mithilfe der Chainer-Datenaufbereitung
Einfache Implementierung eines neuronalen Netzwerks mit Chainer ~ Optimierungsalgorithmus einstellen ~
Einfache Theorie und Implementierung des neuronalen Netzes
Implementierung von "verschwommenen" neuronalen Netzen mit Chainer
Implementierung eines neuronalen Netzwerks in Python
Implementierung eines Faltungs-Neuronalen Netzwerks mit nur Numpy
Implementierung eines neuronalen Netzwerks (nur NumPy)
Rank Learning über ein neuronales Netzwerk (RankNet-Implementierung von Chainer)
Implementierung eines zweischichtigen neuronalen Netzwerks 2
PRML Kapitel 5 Python-Implementierung für neuronale Netze
Einfaches Klassifizierungsmodell mit neuronalem Netz
Versuchen Sie es mit TensorFlow-Part 2-Convolution Neural Network (MNIST).
Verstärkungslernen 10 Versuchen Sie es mit einem trainierten neuronalen Netz.
Eine andere Stilkonvertierungsmethode unter Verwendung des Convolutional Neural Network
Parametrisches neuronales Netzwerk
Autorenschätzung unter Verwendung von neuronalen Netzen und Doc2Vec (Aozora Bunko)
Modell unter Verwendung eines Faltungsnetzwerks in der Verarbeitung natürlicher Sprache
Bayesianische Optimierungsimplementierung von Hyperparametern des neuronalen Netzwerks (Chainer + GPyOpt)
Implementieren Sie das Convolutional Neural Network
Implementieren Sie das neuronale Netzwerk von Grund auf neu
Erfahrung mit faltbaren neuronalen Netzen
Versuchen Sie, ein neuronales Netzwerk in Python aufzubauen, ohne eine Bibliothek zu verwenden