Cet article est une sortie facile à comprendre de ** Deep Learning from scratch Chapter 6 Error Backpropagation Method **. J'ai pu le comprendre moi-même, j'espère donc que vous pourrez le lire confortablement. De plus, je serais plus qu'heureux que vous puissiez vous y référer lorsque vous étudiez ce livre.
Comme je l'ai mentionné une dernière fois, le traitement de rétropropagation est le traitement de la résolution du graphe de calcul de droite à gauche, et la différenciation de chaque variable peut être obtenue.
La formule de gradient du réseau de neurones implémentée dans le chapitre précédent utilisait une méthode pour trouver la différenciation en ajoutant une valeur minute à une variable appelée différenciation numérique. La différenciation numérique est simple et facile à comprendre, mais elle présente l'inconvénient d'un temps de traitement long. C'est là que le ** traitement de rétropropagation ** est utilisé. En mettant en œuvre un traitement de rétro-propagation dans le traitement du réseau neuronal, le gradient peut être obtenu plus rapidement et plus efficacement qu'auparavant.
Comme point de départ, je voudrais implémenter le traitement de propagation avant et le traitement de propagation arrière d'un simple graphe de calcul en python.
a = 100
as = 3
o = 50
os = 4
t = 1.1
#Traitement de propagation avant
az = a * as #Quantité totale de pommes
oz = o * os #Quantité totale de mikan
z = az + oz #Quantité totale de mikan de pomme
y = z * t #montant total
#Traitement de rétro-propagation
dy = 1 #Différenciation de la réponse y du traitement de propagation directe
# z *Puisque t est une multiplication, les valeurs de chaque variable sont échangées et la différenciation précédente est appliquée.
dz = t * dy = 1.1 #Différenciation de z
dt = z * dy = 500 #Différenciation de t
# az +Puisque oz est un ajout, il hérite du différentiel précédent tel quel
daz = dz = 1.1 #Différenciation de az
doz = dz = 1.1 #Différenciation de l'oz
# o *Puisque os est une multiplication, les valeurs de chaque variable sont échangées et la différenciation précédente est appliquée.
do = os * doz = 4.4 #Différenciation de o
dos = o * doz = 55 #Différenciation du système d'exploitation
# a *Puisqu'il s'agit d'une multiplication, les valeurs de chaque variable sont échangées et la différenciation précédente est appliquée.
da = as * daz = 3.3 #Différenciation d'un
das = a * adz = 330 #Différenciation de as
Puisque le traitement de rétro-propagation de multiplication et d'addition peut être facilement exécuté comme décrit ci-dessus, le traitement de rétro-propagation est mis en œuvre dans le réseau neuronal en l'utilisant.
Recommended Posts