[PYTHON] Deep Learning from scratch ① Chapitre 6 "Techniques liées à l'apprentissage"

J'ai fait une bonne implémentation dans le chapitre 6 de Deep Learning ① fait à partir de zéro, donc un mémorandum. Jupyter sera également publié, je vous serais donc reconnaissant si vous pouviez signaler des erreurs. Dans le livre, le jeu de données a été téléchargé localement, mais comme sklearn a un jeu de données pour l'apprentissage tel que mnist, j'ai ajusté le code afin que je n'ai besoin que d'importer depuis sklearn. [cahier jupyter pour publication @github](https://github.com/fumitrial8/DeepLearning/blob/master/%E3%82%BB%E3%82%99%E3%83%AD%E3%81%8B% E3% 82% 89% E4% BD% 9C% E3% 82% 8BDeepLearning% 20% E7% AC% AC6% E7% AB% A0.ipynb)

SGD (descente de gradient stochastique)

Méthode d'ajustement du poids de chaque réseau en soustrayant la valeur obtenue en multipliant le gradient de la fonction de perte par un certain coefficient d'apprentissage du poids. Exprimé comme une expression

W (poids après ajustement) = W (poids avant ajustement) --η * dL / dW (coefficient d'apprentissage * gradient de la fonction de perte)

Méthode AdaGrad

Une méthode d'ajustement du poids de chaque réseau en réduisant le coefficient d'apprentissage en fonction de la progression de l'apprentissage. Exprimé comme une expression

h (Historique de la pente après ajustement) = h (Historique de la pente avant ajustement) --dL / dW * dL / dW (Carré de la fonction de pente de perte)

W (poids après ajustement) = W (poids avant ajustement) --η * h *** (-1 / 2) * dL / dW (coefficient d'apprentissage * historique du gradient * gradient de la fonction de perte)

Méthode Momentum

Comment ajuster le poids de chaque réseau en apprenant plus car le gradient est plus grand et en apprenant moins quand le gradient est plus petit (je n'ai pas trouvé une bonne expression ...). Exprimé comme une expression

v (Historique des poids après ajustement) = αv (Historique des poids avant ajustement) --η * dL / dW (Coefficient d'apprentissage * Gradient de la fonction de perte) Il semble que α soit généralement fixé à 0,9.

W (poids après ajustement) = W (poids avant ajustement) + v

Recommended Posts

Deep Learning from scratch ① Chapitre 6 "Techniques liées à l'apprentissage"
Apprentissage profond à partir de zéro
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 7]
Deep learning / Deep learning made from scratch Chapitre 6 Mémo
[Mémo d'apprentissage] Deep Learning fait de zéro [Chapitre 5]
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 6]
Deep learning / Deep learning made from scratch Chapitre 7 Mémo
[Mémo d'apprentissage] Deep Learning fait de zéro [~ Chapitre 4]
Deep Learning from scratch Chapter 2 Perceptron (lecture du mémo)
Apprentissage profond à partir de zéro 1 à 3 chapitres
[Deep Learning from scratch] J'ai essayé d'expliquer le décrochage
Deep learning / Deep learning from scratch 2 Chapitre 4 Mémo
Deep learning / Deep learning made from scratch Chapitre 3 Mémo
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 5 Mémo
Apprentissage profond à partir de zéro (calcul des coûts)
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 7 Mémo
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 8 Mémo
Deep learning / Deep learning made from scratch Chapitre 5 Mémo
Deep learning / Deep learning made from scratch Chapitre 4 Mémo
Deep learning / Deep learning from scratch 2 Chapitre 3 Mémo
Mémo d'apprentissage profond créé à partir de zéro
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 6 Mémo
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 1
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
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
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 5
Un amateur a trébuché dans le Deep Learning ❷ fait de zéro Note: Chapitre 1
Un amateur a trébuché dans le Deep Learning ❷ fait à partir de zéro Note: Chapitre 4
Un amateur a trébuché dans le Deep Learning à partir de zéro.
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 2
J'ai essayé d'implémenter Perceptron Part 1 [Deep Learning from scratch]
Apprentissage amélioré pour apprendre de zéro à profond
Apprentissage profond à partir de zéro (propagation vers l'avant)
Apprentissage profond / Apprentissage profond à partir de zéro 2-Essayez de déplacer GRU
Alignement d'image: du SIFT au deep learning
"Deep Learning from scratch" avec Haskell (inachevé)
[Windows 10] Construction de l'environnement "Deep Learning from scratch"
Enregistrement d'apprentissage de la lecture "Deep Learning from scratch"
[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'auto-apprentissage "Deep Learning from scratch" (glossaire illisible)
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 9) Classe MultiLayerNet
GitHub du bon livre "Deep Learning from scratch"
[Mémo d'apprentissage] Apprentissage profond à partir de zéro ~ Mise en œuvre de l'abandon ~
[Deep Learning from scratch] J'ai essayé d'implémenter la couche sigmoïde et la couche Relu
Python vs Ruby «Deep Learning from scratch» Chapitre 2 Circuit logique par Perceptron
Chapitre 1 Introduction à Python Découpez uniquement les bons points de Deeplearning à partir de zéro
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
[Deep Learning from scratch] Implémentation de couche de la fonction softmax à l'erreur d'entropie croisée
Python vs Ruby "Deep Learning from scratch" Chapitre 4 Implémentation de la fonction de perte
Python vs Ruby "Deep Learning from scratch" Chapitre 3 Implémentation d'un réseau neuronal à 3 couches
Deep Learning from scratch La théorie et la mise en œuvre de l'apprentissage profond appris avec Python Chapitre 3
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