[PYTHON] [Deep Learning from scratch] J'ai implémenté la couche Affine

introduction

Cet article est une sortie facile à comprendre de ** Deep Learning from scratch Chapter 6 Error back propagation 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 si vous pouviez vous y référer lors de l'étude de ce livre.

Implémentation de la couche affine

La couche Affine est une couche dans laquelle le signal d'entrée du neurone est multiplié par le poids, additionné et biaisé.

class Affine:#Implémentation de couche de traitement qui pondère le signal d'entrée et ajoute sa somme et sa polarisation
    def __init__(self, W, b):
        self.W = W
        self.b = b
        self.x = None
        self.dW = None #Créez une variable d'instance pour enregistrer chaque différentiel obtenu par le traitement de rétropropagation
        self.db = None #Créez une variable d'instance pour enregistrer chaque différentiel obtenu par le traitement de rétropropagation
    
    def forward(self, x):
        self.x = x
        out = np.dot(x, self.W) + self.b
        
        return out
    
    def backward(self, dout):
        dx = np.dot(dout, self.W.T)
        self.dW = np.dot(self.x.T, dout)
        self.db = np.sum(dout, axis=0)#Pour prendre en charge plusieurs données (par lots)
        #Trouvez le différentiel de biais par la somme des différentiels précédents
        
        return dx

Étant donné que le processus de rétro-propagation utilise la multiplication et l'addition dans le processus de propagation vers l'avant de la couche Affine, la différenciation de biais hérite de la différenciation précédente, et la différenciation de poids et de valeur d'entrée est transposée et remplacée par la différenciation précédente. Il est calculé en multipliant par. Le biais n'est pas seulement hérité, mais le traitement par lots est effectué comme ci-dessus.

Recommended Posts

[Deep Learning from scratch] J'ai implémenté la couche Affine
Apprentissage profond à partir de zéro
Apprentissage profond à partir de zéro 1 à 3 chapitres
[Deep Learning from scratch] J'ai essayé d'implémenter la couche sigmoïde et la couche Relu
[Deep Learning from scratch] J'ai essayé d'expliquer le décrochage
Apprentissage profond à partir de zéro (calcul des coûts)
Mémo d'apprentissage profond créé à partir de zéro
J'ai essayé d'implémenter Perceptron Part 1 [Deep Learning from scratch]
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 7]
Apprentissage profond à partir de zéro (propagation vers l'avant)
Apprentissage profond / Apprentissage profond à partir de zéro 2-Essayez de déplacer GRU
Deep learning / Deep learning made from scratch Chapitre 6 Mémo
[Mémo d'apprentissage] Deep Learning fait de zéro [Chapitre 5]
[Deep Learning from scratch] J'ai essayé d'expliquer la confirmation du gradient d'une manière facile à comprendre.
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 6]
"Deep Learning from scratch" avec Haskell (inachevé)
Deep learning / Deep learning made from scratch Chapitre 7 Mémo
[Windows 10] Construction de l'environnement "Deep Learning from scratch"
Enregistrement d'apprentissage de la lecture "Deep Learning from scratch"
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 8) J'ai dessiné le graphique du chapitre 6 avec matplotlib
[Deep Learning from scratch] À propos de l'optimisation des hyper paramètres
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 12) Deep learning
[Mémo d'apprentissage] Deep Learning fait de zéro [~ Chapitre 4]
[Deep Learning from scratch] Implémentation de couche de la fonction softmax à l'erreur d'entropie croisée
Mémo d'auto-apprentissage "Deep Learning from scratch" (glossaire illisible)
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 9) Classe MultiLayerNet
Deep Learning from scratch ① Chapitre 6 "Techniques liées à l'apprentissage"
GitHub du bon livre "Deep Learning from scratch"
Deep Learning from scratch Chapter 2 Perceptron (lecture du mémo)
[Mémo d'apprentissage] Apprentissage profond à partir de zéro ~ Mise en œuvre de l'abandon ~
Résumé Python vs Ruby "Deep Learning from scratch"
Mémo d'auto-apprentissage «Deep Learning from scratch» (10) Classe MultiLayerNet
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 11) CNN
J'ai essayé le deep learning
Python vs Ruby "Deep Learning from scratch" Chapitre 3 Implémentation d'un réseau neuronal à 3 couches
Préparez l'environnement pour le livre O'Reilly "Deep Learning from scratch" avec apt-get (Debian 8)
[Python] [Traitement du langage naturel] J'ai essayé le Deep Learning ❷ fait de toutes pièces en japonais ①
Deep Learning from scratch La théorie et la mise en œuvre de l'apprentissage profond appris avec Python Chapitre 3
[Deep Learning from scratch] Accélération du réseau de neurones J'ai expliqué le traitement de la propagation arrière
J'ai installé et utilisé la bibliothèque Deep Learning Chainer
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 19) Augmentation des données
Application de Deep Learning 2 à partir de zéro Filtre anti-spam
Apprendre en profondeur à partir des bases mathématiques Partie 2 (pendant la fréquentation)
Othello ~ De la troisième ligne de "Implementation Deep Learning" (4) [Fin]
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 16) J'ai essayé de créer SimpleConvNet avec Keras
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 17) J'ai essayé de créer DeepConvNet avec Keras
Apprentissage profond / code de travail LSTM
J'ai tweeté depuis le terminal!
J'ai essayé d'implémenter Extreme Learning Machine
[Deep Learning from scratch] Implémentation de la méthode Momentum et de la méthode AdaGrad
[Partie 4] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 1
[Partie 1] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
[Partie 3] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
Un amateur a trébuché dans le Deep Learning ❷ fait à partir de zéro Note: Chapitre 5
Un amateur a trébuché dans le Deep Learning ❷ fait à partir de zéro Note: Chapitre 2
Créez un environnement pour "Deep Learning from scratch" avec Docker
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 3
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 7