Dieser Artikel ist eine leicht verständliche Ausgabe von ** Deep Learning von Grund auf neu. Kapitel 6 Fehler-Back-Propagation-Methode **. Ich konnte es selbst verstehen, also hoffe ich, dass Sie es bequem lesen können. Ich würde mich auch sehr freuen, wenn Sie sich beim Studium dieses Buches darauf beziehen könnten.
Wie ich ein letztes Mal erwähnt habe, ist die Backpropagation-Verarbeitung die Verarbeitung des Lösens des Berechnungsgraphen von rechts nach links, und die Differenzierung jeder Variablen kann erhalten werden.
Die im vorherigen Kapitel implementierte Gradientenformel des neuronalen Netzwerks verwendete eine Methode zum Ermitteln der Differenzierung durch Hinzufügen eines Minutenwerts zu einer Variablen, die als numerische Differenzierung bezeichnet wird. Die numerische Unterscheidung ist einfach und leicht zu verstehen, hat jedoch den Nachteil einer langen Verarbeitungszeit. Hier wird die ** Backpropagation-Verarbeitung ** verwendet. Durch Implementieren der Rückausbreitungsverarbeitung in der Verarbeitung des neuronalen Netzwerks kann der Gradient schneller und effizienter als zuvor erhalten werden.
Beginnen wir mit der Implementierung einer einfachen Vorwärtsausbreitungsverarbeitung für Berechnungsgraphen und einer Rückwärtsausbreitungsverarbeitung in Python.
a = 100
as = 3
o = 50
os = 4
t = 1.1
#Weiterleitungsverarbeitung
az = a * as #Gesamtmenge der Äpfel
oz = o * os #Gesamtmenge an Mikan
z = az + oz #Gesamtmenge an Apfel-Mikan
y = z * t #Gesamtgebühr
#Back Propagation Processing
dy = 1 #Differenzierung der Antwort y der Vorwärtsausbreitungsverarbeitung
# z *Da t eine Multiplikation ist, werden die Werte jeder Variablen ausgetauscht und die vorherige Differenzierung angewendet.
dz = t * dy = 1.1 #Differenzierung von z
dt = z * dy = 500 #Differenzierung von t
# az +Da oz eine Addition ist, erbt es das vorherige Differential so wie es ist
daz = dz = 1.1 #Differenzierung von az
doz = dz = 1.1 #Differenzierung von oz
# o *Da os eine Multiplikation ist, werden die Werte jeder Variablen ausgetauscht und die vorherige Differenzierung angewendet.
do = os * doz = 4.4 #Differenzierung von o
dos = o * doz = 55 #Differenzierung von os
# a *Da es sich um eine Multiplikation handelt, werden die Werte jeder Variablen ausgetauscht und die vorherige Differenzierung angewendet.
da = as * daz = 3.3 #Differenzierung von a
das = a * adz = 330 #Differenzierung von as
Da die Rückausbreitungsverarbeitung der Multiplikation und Addition leicht wie oben beschrieben durchgeführt werden kann, wird die Rückausbreitungsverarbeitung in dem neuronalen Netzwerk unter Verwendung dieser implementiert.
Recommended Posts