[PYTHON] Deep Learning Memorandum

Im Grunde ist es ein Memorandum mit Inhalten von Deep Learning, das von Grund auf von O'Reilly erstellt wurde Ich habe ein Python-Tag, aber ich sehe nicht viel Python-Code.

Perzeptron

Einfach ausgedrückt, Logikschaltung

UND Tor

Ein Tor, das wie folgt funktioniert

x_1 x_2 y
0 0 0
0 1 0
1 0 0
1 1 1

Erreichen Sie das obige Tor, indem Sie das Gewicht (w_1, w_2) $ von $ b + w_1x_1 + w_2x_2 ändern Gleiches gilt für andere Tore

Mehrschichtiges Perceptron

Das XOR-Gatter kann mit 1-Schicht-Perceptron nicht reproduziert werden

XOR-Gatter

x_1 x_2 y
0 0 0
0 1 1
1 0 1
1 1 0

Ich werde nicht ins Detail gehen, aber dies kann nicht mit einem einzigen Perceptron erreicht werden. Dies kann durch Stapeln von Schichten (mehrschichtiges Perzeptron) erreicht werden. Dies ist die Basis des neuronalen Netzwerks

neurales Netzwerk

Die Grundidee ist mit Perceptron

Was ist dann der Unterschied?

Perceptron-Ausgabe 1, wenn die Ausgabe der zuvor genannten Funktion 0 überschreitet, andernfalls 0. Mit anderen Worten wird die Ausgabe einer Schicht unter Verwendung der Schrittfunktion an die nächste Schicht ausgegeben. Die Schrittfunktion wird hier als ** Aktivierungsfunktion ** bezeichnet.

Diese Aktivierungsfunktion wird im neuronalen Netzwerk ersetzt

Sigmaid-Funktion

h(x)=\frac{1}{1+exp(-x)}

Eine Funktion ist eine Funktion, die eine Ausgabe zurückgibt, wenn eine bestimmte Eingabe gegeben wird. Die Sigmoidfunktion ist auch nur eine Funktion

Was ist im Gegensatz zur Schrittfunktion gut?

Ganz einfach, die Form der Funktion ist glatt

ReLU-Funktion

Ich habe es noch nicht getan

Einfaches neuronales Netzwerk

Wenn die Eingabe $ X $ ist, ist das Gewicht der ersten Schicht $ W $ und die Vorspannung der ersten Schicht ist $ B $, Die gewichtete Summe der ersten Schicht kann ausgedrückt werden als $ A = XW + B $ Geben Sie diesen $ A $ -Vektor als Eingabe der Sigmoid-Funktion und geben Sie seine Ausgabe als nächste Eingabe an Die Ausgabe der letzten Ebene verwendet eine andere Funktion anstelle der Sigmoidfunktion

def sigmoid(x):
  return 1/(1+np.exp(-x))

def init_network():
  network = {}
  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])
  # ...Initialisieren Sie auch die anderen Ebenen
  return network

def forward(network, x):
  W1 = network['W1']
  B1 = network['B1']
  a1 = np.dot(x, W1)
  z1 = sigmoid(a1) 
  # ...Fortsetzen
  y = identity_function(a3)
  return y

#Ich denke, dass es in Zukunft objektorientiert sein wird
network = init_network()
x = np.array([1.0, 2.0])
y = forward(network, x)

Ausgabeschicht

Verwenden Sie die Gleichheitsfunktion oder die Softmax-Funktion Die Gleichheitsfunktion ist eine Funktion, die die Eingabe so ausgibt, wie sie ist Die Softmax-Funktion wird durch die folgende Formel ausgedrückt

y_k = \frac{exp(a_k)}{\sum_{i=1}^{n}exp(a_i)}

Wenn Sie die Softmax-Funktion programmgesteuert implementieren, müssen Sie jedoch auf Überlauf achten Subtrahieren Sie den Maximalwert des Vektors vom Wert von a.

Was ist eine Softmax-Funktion?

Es wandelt die Ausgabe des neuronalen Netzwerks in die Wahrscheinlichkeit um, es in eine bestimmte Klasse zu klassifizieren. Da sich die Größenbeziehung des Ausgangs jedoch nicht ändert, wird sie in der Inferenzphase im Allgemeinen weggelassen. Die Softmax-Funktion wird in der Lernphase verwendet

Recommended Posts

Deep Learning Memorandum
Tiefes Lernen
Starten Sie Deep Learning
Python Deep Learning
Deep Learning × Python
Erstes tiefes Lernen ~ Kampf ~
Python: Deep Learning-Praxis
Deep Learning / Aktivierungsfunktionen
Deep Learning 1 Übung des Deep Learning
Deep Learning / Cross Entropy
Erstes tiefes Lernen ~ Vorbereitung ~
Erstes tiefes Lernen ~ Lösung ~
[AI] Deep Metric Learning
Ich habe versucht, tief zu lernen
Python: Deep Learning Tuning
Deep Learning Großtechnologie
Deep Learning / Softmax-Funktion
Ein Memorandum zum Studieren und Implementieren von Deep Learning
[Lernmemorandum] Einführung in vim
Deep Learning von Grund auf 1-3 Kapitel
Versuchen Sie es mit TensorFlow
Deep Learning Gaiden ~ GPU-Programmierung ~
<Kurs> Tiefes Lernen: Day2 CNN
Deep Learning Bilderkennung 1 Theorie
Deep Learning / LSTM Scratch Code
<Kurs> Tiefes Lernen: Tag 1 NN
Deep Kernel Learning mit Pyro
Memorandum für mich lernen w
Versuchen Sie Deep Learning mit FPGA
Deep Learning für die Bildung von Verbindungen?
Einführung in Udacity Deep Learning Nanodegree
Themen> Deep Learning: Tag 3 RNN
Einführung in Deep Learning ~ Lernregeln ~
Tiefe Stärkung des Lernens 1 Einführung in die Stärkung des Lernens
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
Generiere Pokemon mit Deep Learning
Einführung in Deep Learning ~ Backpropagation ~
Deep Learning Model Lightening Library Distiller
Deep Learning / Deep Learning von Grund auf neu 2 Kapitel 4 Memo
Probieren Sie Deep Learning mit FPGA-Select-Gurken aus
Deep Learning / Deep Learning von Grund auf neu Kapitel 3 Memo
Machen Sie ASCII-Kunst mit tiefem Lernen
Deep Learning / Deep Learning von Null 2 Kapitel 5 Memo
Implementieren Sie Deep Learning / VAE (Variational Autoencoder)
Einführung in das tiefe Lernen ~ Funktionsnäherung ~
Versuchen Sie es mit TensorFlow Part 2
Tiefes Lernen von Grund auf neu (Kostenberechnung)