[PYTHON] Dossier d'apprentissage n ° 23 (27e jour)

Dossier d'apprentissage (27e jour)

Début des études: samedi 7 décembre

Matériel pédagogique, etc.: ・ Miyuki Oshige "Détails! Note d'introduction à Python3 »(Sotech, 2017): 12/7 (sam) -12/19 (jeu) lu ・ Progate Python course (5 cours au total): 12/19 (jeudi) -12/21 (samedi) fin ・ Andreas C. Müller, Sarah Guido "(titre japonais) Apprentissage automatique à partir de Python" (O'Reilly Japon, 2017): 21/12 (sam) -23 décembre (sam) ・ Kaggle: Real or Not? NLP with Disaster Tweets: Publié du samedi 28 décembre au vendredi 3 janvier Ajustement ・ Wes Mckinney "(titre japonais) Introduction à l'analyse de données par Python" (O'Reilly Japon, 2018): 1/4 (mercredi) à 1/13 (lundi) lire ・ ** Yasuki Saito "Deep Learning from Zero" (O'Reilly Japan, 2016): 1/15 (mercredi) ~ **

«Apprentissage profond à partir de zéro»

p.164 Chapitre 5 Lecture terminée jusqu'à la méthode de propagation de retour d'erreur.

Chapitre 5 Méthode de propagation de retour d'erreur

・ La méthode de propagation de l'erreur en retour est une méthode pour calculer efficacement le gradient du paramètre de poids, qui est l'importance de l'élément. Le calcul du gradient par différenciation numérique effectué au chapitre 4 est simple mais prend du temps, mais il peut être calculé à grande vitesse. (Cependant, il y a des parties compliquées.) Dans ce livre, des explications sont données à l'aide de "graphes de calcul".

-Propagation avant: Procède au calcul de gauche à droite. Propagation vers l'arrière: avance le calcul de droite à gauche.

-Dans le graphique de calcul, vous pouvez sortir le résultat suivant en ne considérant que le calcul local, c'est-à-dire la petite plage qui vous concerne. Les calculs locaux sont simples, mais la propagation des résultats donne les résultats de calculs complexes qui composent le tout.

-En propagation vers l'avant, le résultat du calcul local se propage de gauche à droite comme le montre le diagramme fléché, tandis qu'en propagation arrière, le résultat de la "différenciation locale" se propage de droite à gauche. Le résultat de ce calcul est finalement propagé au premier élément (prix ou quantité), et ** indique l'ampleur de l'influence de la valeur numérique apparaissant ici sur le prix final **.

-Règle de chaîne: propriétés des fonctions synthétiques pour la différenciation ** "Si une fonction est représentée par une fonction composite, le différentiel de cette fonction composite peut être représenté par le produit des différentiels de chacune des fonctions qui composent la fonction composite." "**"

\frac{\partial_z}{\partial_x} = \frac{\partial_z}{\partial_t}\frac{\partial_t}{\partial_x}

Nous allons procéder à la rétro-propagation de la différenciation en utilisant ce principe de rapport de chaîne. Tout ce que vous avez à faire est de l'attacher à l'arrière du signal d'entrée du nœud de la même manière. Si le signal d'entrée continue de droite à gauche avec h et y, ce sera comme suit.

\frac{\partial_z}{\partial_t}\frac{\partial_t}{\partial_x}\frac{\partial_x}{\partial_h}\frac{\partial_h}{\partial_y}

-Nœud d'addition: considérez la formule z = x + y. Puisque les deux différentiels partiels sont des constantes, la rétropropagation au nœud d'addition envoie la même valeur numérique au nœud suivant (nœud précédent).

· Multiplier le nœud: considérez la formule z = x * y. La solution différentielle partielle pour x est y, et la solution différentielle partielle pour y est x Par conséquent, dans la rétro-propagation du nœud de multiplication, le signal d'entrée est multiplié par ** la valeur inversée ** et envoyé au nœud suivant (nœud précédent). Autrement dit, celui où x flux est multiplié par y, et celui où y flux est multiplié par x et renvoyé.

-En appliquant la fonction d'activation (ReLU, Sigmoid) à l'idée ci-dessus, cela devient le mécanisme du réseau neuronal réel.

-ReLU agit comme un "interrupteur" dans le circuit. Si la valeur ne répond pas aux critères, envoyez "0" comme valeur lors du passage dans le nœud. (Autrement dit, la propagation du système s'arrête là.)

・ Transformation d'affine: Calcul du produit de matrices réalisé par propagation avant d'un réseau de neurones La somme pondérée des neurones peut être exprimée par ** Y = np.dot (X, W) + B **. Lors de la propagation de cette somme pondérée, une transformation affine est effectuée.

-Utilisez la fonction softmax ou la fonction d'égalité dans le traitement final, le traitement dans la couche de sortie. Comme nous l'avons appris la dernière fois, ** la classification utilise la fonction softmax (+ erreur d'entropie croisée) et la régression utilise la fonction d'équivalence (+ erreur de somme carrée) **.

-Vérification du gradient: pour vérifier le résultat de la différenciation numérique et le résultat du gradient obtenu par la méthode de propagation des erreurs. ** Soustrayez la valeur différentielle numérique de la valeur de rétropropagation d'erreur **. Avec l'implémentation correcte, l'erreur sera aussi petite que possible, proche de zéro.

Recommended Posts

Dossier d'apprentissage n ° 10 (14e jour)
Dossier d'apprentissage n ° 24 (28e jour)
Dossier d'apprentissage n ° 23 (27e jour)
Dossier d'apprentissage n ° 25 (29e jour)
Dossier d'apprentissage n ° 26 (30e jour)
Dossier d'apprentissage n ° 20 (24e jour)
Dossier d'apprentissage n ° 14 (18e jour) Kaggle4
Dossier d'apprentissage n ° 15 (19e jour) Kaggle5
Fiche d'apprentissage 4 (8e jour)
Fiche d'apprentissage 9 (13e jour)
Fiche d'apprentissage 3 (7e jour)
Fiche d'apprentissage 5 (9e jour)
Fiche d'apprentissage 6 (10e jour)
Fiche d'apprentissage 1 (4e jour)
Fiche d'apprentissage 7 (11e jour)
Fiche d'apprentissage 2 (6e jour)
Fiche d'apprentissage 16 (20e jour)
Dossier d'apprentissage 22 (26e jour)
Fiche d'apprentissage 13 (17e jour) Kaggle3
Dossier d'apprentissage n ° 17 (21e jour)
Fiche d'apprentissage 12 (16e jour) Kaggle2
Dossier d'apprentissage n ° 18 (22e jour)
Dossier d'apprentissage n ° 19 (23e jour)
Dossier d'apprentissage n ° 28 (32e jour)
Dossier d'apprentissage n ° 27 (31e jour)
Fiche d'apprentissage 11 (15e jour) Participation de Kaggle
Enregistrement d'apprentissage de la programmation 2ème jour
Dossier d'apprentissage
Dossier d'apprentissage n ° 3
Dossier d'apprentissage n ° 1
Fiche d'apprentissage (2ème jour) Scraping par #BeautifulSoup
Fiche d'apprentissage (4e jour) #Comment obtenir le chemin absolu à partir du chemin relatif
Dossier d'apprentissage jusqu'à présent
Fiche d'apprentissage Linux ① Planifier
<Cours> Apprentissage en profondeur: Day2 CNN
Fiche d'apprentissage (3e jour) Méthode de description du sélecteur #CSS #Scraping avec BeautifulSoup
<Cours> Apprentissage en profondeur: Jour 1 NN
Enregistrement d'apprentissage (6ème jour) #Set type #Dictionary type #Conversion automatique de l'ensemble de taples de liste #ndarray type #Pandas (type DataFrame)
Sujets> Deep Learning: Day3 RNN
Étudiez en profondeur le Deep Learning [DW Day 0]