[PYTHON] Implementieren Sie ein dreischichtiges neuronales Netzwerk

Dieser Artikel ist ein Lernmemo von Deep Learning von Grund auf neu.

Der Punkt

--Aktivierungsfunktion: Es spielt eine Rolle bei der Bestimmung, wie die Summe der Eingangssignale aktiviert wird (zündet). In Perceptron wird eine "Schrittfunktion" verwendet, die den Ausgang an der Schwelle umschaltet, in einem neuronalen Netzwerk wird jedoch eine "Sigmoidfunktion" oder "ReLU-Funktion" verwendet, die eine glatte Kurve zeichnet. Die Aktivierungsfunktion der verborgenen Schicht wird durch h () dargestellt, und die Aktivierungsfunktion der Ausgangsschicht wird durch σ () dargestellt.

3-Schicht-Neuronennetzwerkdiagramm

Untitled_ニューロンネットワーク_-_Cacoo.png

Sigmaid-Funktion

  h(x) = \frac{1}{1+ \mathrm{e}^{-x}}

Umrechnungsformel jedes Neurons

  a = w_1x_1+w_2x_2+b  
  z = h(a) 

Implementieren Sie ein dreischichtiges Neuronennetzwerk

py3:3layered_neuralnetwork.py.py


import numpy as np
import matplotlib.pyplot as plt

#Initialisierung von Gewicht und Bias
def init_network():
    network = {}
    #1. Schicht
    network['W1'] = np.array([[0.1, 0.3, 0.5], [0.2, 0.4, 0.6]])
    network['b1'] = np.array([0.1, 0.2, 0.3])
    #2. Schicht
    network['W2'] = np.array([[0.1, 0.4], [0.2, 0.5], [0.3, 0.6]])
    network['b2'] = np.array([0.1, 0.2])
    #3. Schicht
    network['W3'] = np.array([[0.1, 0.3], [0.2, 0.4]])
    network['b3'] = np.array([0.1, 0.2])

    return network

#Eingabe → Ausgabe
def forward(network, x):
    W1, W2, W3 = network['W1'], network['W2'], network['W3']
    b1, b2, b3 = network['b1'], network['b2'], network['b3']

    #1. Schicht
    a1 = np.dot(x, W1) +b1  # A = XW +B
    z1 = sigmoid(a1)        # Z = h(A)
    #2. Schicht
    a2 = np.dot(z1, W2) +b2
    z2 = sigmoid(a2)
    #3. Schicht
    a3 = np.dot(z2, W3) +b3
    y = identity_function(a3)   #Nur die letzte Schicht hat eine andere Aktivierungsfunktion

    return y

#Sigmaid-Funktion(Aktivierungsfunktion)
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

#Gleiche Funktion(Aktivierungsfunktion)
def identity_function(x):
    return x

#Überprüfen Sie den Vorgang unten
network = init_network()
x = np.array([1.0, 0.5])
y = forward(network, x)
print(y) # [0.31682708  0.69627909]

Recommended Posts

Implementieren Sie ein dreischichtiges neuronales Netzwerk
Implementieren Sie das Convolutional Neural Network
Implementieren Sie das neuronale Netzwerk von Grund auf neu
Visualisieren Sie die innere Schicht des neuronalen Netzwerks
Implementierung eines zweischichtigen neuronalen Netzwerks 2
Was ist das Convolutional Neural Network?
Ich habe versucht, ein zweischichtiges neuronales Netzwerk zu implementieren
Komponieren Sie mit einem neuronalen Netzwerk! Führen Sie Magenta aus
Implementierung eines 3-Schicht-Neuronalen Netzwerks (kein Lernen)
Parametrisches neuronales Netzwerk
Experimentieren Sie mit verschiedenen Optimierungsalgorithmen im neuronalen Netz
Verstärkungslernen 10 Versuchen Sie es mit einem trainierten neuronalen Netz.
Erfahrung mit faltbaren neuronalen Netzen
Trainieren Sie MNIST-Daten mit PyTorch mithilfe eines neuronalen Netzwerks
Die Geschichte eines neuronalen Netzwerks der Musikgeneration
Implementieren Sie ein vorwärts gerichtetes neuronales Netzwerk in Chainer, um Dokumente zu klassifizieren
Grundlagen von PyTorch (2) - Wie erstelle ich ein neuronales Netzwerk?
Implementierung eines Faltungs-Neuronalen Netzwerks mit nur Numpy
Erstellen Sie eine Web-App, die Zahlen mit einem neuronalen Netzwerk erkennt
Versuchen Sie, ein Deep Learning / Neuronales Netzwerk mit Scratch aufzubauen
Neuronales Netzwerk mit Python (Scikit-Learn)
3. Normalverteilung mit neuronalem Netz!
Neuronales Netzwerk zum Verstehen und Implementieren in der Mathematik der High School
Neuronales Netz beginnend mit Chainer
Versuchen Sie, ein neuronales Netzwerk in Python aufzubauen, ohne eine Bibliothek zu verwenden
Implementierung eines neuronalen Netzwerks in Python
Tutorial zum neuronalen Netz von Pytorch (CNN) 1.3.1.
4. Kreisparameter mit einem neuronalen Netzwerk!
Aufbau eines neuronalen Netzwerks, das XOR durch Z3 reproduziert
[Kausale Suche / kausale Folgerung] Implementieren Sie ein basianisches Netzwerk mit Titanic-Daten
Implementierung eines neuronalen Netzwerks (nur NumPy)
TensorFlow Tutorial-Convolution Neuronales Netz (Übersetzung)
Ich habe einen neuronalen Netzwerkgenerator erstellt, der auf FPGA läuft
[Deep Learning von Grund auf neu] Informationen zu den Ebenen, die für die Implementierung der Backpropagation-Verarbeitung in einem neuronalen Netzwerk erforderlich sind
Verstehen Sie die Anzahl der Eingabe- / Ausgabeparameter des Faltungs-Neuronalen Netzes
Einfache Implementierung eines neuronalen Netzwerks mit Chainer
Neuronales Netzwerk mit OpenCV 3 und Python 3
Implementieren Sie einen Datumssetzer in Tkinter
PRML Kapitel 5 Python-Implementierung für neuronale Netze
Einfaches Klassifizierungsmodell mit neuronalem Netz
Schreiben Sie ein Restnetzwerk mit TFLearn
Implementieren Sie die Django-App auf Hy
[TensorFlow] [Keras] Aufbau eines neuronalen Netzwerks mit Keras
Einfache Theorie und Implementierung des neuronalen Netzes
Berühren Sie das Objekt des neuronalen Netzes
[Sprachverarbeitung 100 Schläge 2020] Kapitel 8: Neuronales Netz
Erstellen Sie mithilfe des TensorFlow-Faltungsnetzwerks einen Klassifikator mit einer Handschrifterkennungsrate von 99,2%
Erstellt ein Bildunterscheidungsmodell (cifar10) unter Verwendung eines Faltungs-Neuronalen Netzwerks