[PYTHON] [Deep Learning from scratch] Poids initial du réseau neuronal lors de l'utilisation de la fonction Relu

introduction

Cet article est une sortie facile à comprendre du ** Deep Learning from scratch Chapter 7 Learning Techniques **. 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.

À propos de la valeur initiale du poids du réseau de neurones

Jusqu'à présent, la valeur initiale du poids du réseau de neurones utilisait la méthode aléatoire pour générer un nombre aléatoire, mais cela élargirait le succès de l'apprentissage.

La valeur initiale du poids et l'entraînement du réseau neuronal sont très étroitement liés, et si la valeur initiale est appropriée, le résultat d'apprentissage sera bon, et si la valeur initiale est inappropriée, le résultat d'apprentissage sera mauvais.

Par conséquent, cette fois, je voudrais mettre en œuvre une méthode de définition d'une valeur initiale appropriée de poids dans un réseau neuronal à l'aide de la fonction Relu.

Valeur initiale de He

La valeur initiale du poids la plus appropriée pour le réseau de neurones utilisant la fonction Relu est la valeur initiale de He.

scale = np.sqrt(2.0 / all_size_list[idx - 1])
self.params['W' + str(idx)] = scale * np.random.randn(all_size_list[idx-1], all_size_list[idx])

La valeur initiale de He peut être créée en calculant la racine du nombre de nœuds dans la couche précédente par 2 ÷ et en la multipliant par le nombre aléatoire obtenu par hasard.

Recommended Posts

[Deep Learning from scratch] Poids initial du réseau neuronal lors de l'utilisation de la fonction Relu
[Deep Learning from scratch] Valeur initiale du poids du réseau neuronal utilisant la fonction sigmoïde
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 10-2) Valeur initiale du poids
Python vs Ruby "Deep Learning from scratch" Chapitre 3 Graphique de la fonction step, fonction sigmoid, fonction ReLU
Chapitre 3 Réseau de neurones Ne découpez que les bons points de Deeplearning à partir de zéro
Version Lua Apprentissage profond à partir de zéro Partie 6 [Traitement d'inférence de réseau neuronal]
Python vs Ruby "Deep Learning from scratch" Chapitre 4 Implémentation de la fonction de perte
[Mémo d'apprentissage] Apprentissage profond à partir de zéro ~ Mise en œuvre de l'abandon ~
Apprentissage profond à partir de zéro
Application de Deep Learning 2 à partir de zéro Filtre anti-spam
[Deep Learning] Exécuter la console de réseau neuronal SONY à partir de CUI
Contre-mesures pour l'erreur "Impossible d'obtenir le répertoire supérieur" lors de l'utilisation du Deep Learning ② fait à partir de zéro avec le spyder d'ANACONDA
Apprentissage profond à partir de zéro 1 à 3 chapitres
[Deep Learning from scratch] Implémentation de la méthode Momentum et de la méthode AdaGrad
Apprentissage des classements à l'aide d'un réseau neuronal (implémentation RankNet par Chainer)
Essayez de créer un réseau de neurones / d'apprentissage en profondeur avec scratch
[Apprentissage en profondeur] Découvrez comment utiliser chaque fonction du réseau neuronal convolutif [DW jour 3]
[Deep Learning from scratch] Principales méthodes de mise à jour des paramètres pour les réseaux neuronaux
Apprentissage profond à partir de zéro (calcul des coûts)
[Deep Learning from scratch] À propos des couches requises pour implémenter le traitement de rétropropagation dans un réseau neuronal
Deep Learning from scratch 4.4.2 Gradient pour les réseaux de neurones La question sur la fonction numerical_gradient a été résolue.
Écrivez vos impressions sur l'édition du framework Deep Learning 3 créée à partir de zéro
Mémo d'apprentissage profond créé à partir de zéro
Mémo d'auto-apprentissage "Deep Learning from scratch" (n ° 13) Essayez d'utiliser Google Colaboratory
[Deep Learning from scratch] J'ai essayé d'implémenter la couche sigmoïde et la couche Relu
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 7]
Apprentissage profond à partir de zéro (propagation vers l'avant)
Implémentation d'un réseau neuronal à 3 couches (pas d'apprentissage)
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]
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 6]
"Deep Learning from scratch" avec Haskell (inachevé)
Implémentation de réseaux neuronaux "flous" avec Chainer
Deep learning / Deep learning made from scratch Chapitre 7 Mémo
[Windows 10] Construction de l'environnement "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'apprentissage] Deep Learning fait de zéro [~ Chapitre 4]
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
Mémo d'auto-apprentissage "Deep Learning from scratch" (glossaire illisible)
[Python / Machine Learning] Pourquoi le Deep Learning # 1 Perceptron Neural Network
"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"
Apprentissage profond / rétropropagation d'erreur de la fonction sigmoïde
Deep Learning from scratch Chapter 2 Perceptron (lecture du mémo)
Résumé Python vs Ruby "Deep Learning from scratch"
Deep Learning from scratch 4.3.3 Dessinez un vecteur de gradient de votre propre fonction en vous basant sur l'exemple de code de différenciation partielle.
Mémo d'auto-apprentissage «Deep Learning from scratch» (10) Classe MultiLayerNet
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 11) CNN
Python vs Ruby "Deep Learning from scratch" Chapitre 1 Graphique de la fonction sin et de la fonction cos
[Deep Learning from scratch] J'ai implémenté la couche Affine
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 19) Augmentation des données
Othello ~ De la troisième ligne de "Implementation Deep Learning" (4) [Fin]
Implémentation d'un réseau de neurones convolutifs utilisant uniquement Numpy
[Deep Learning from scratch] J'ai essayé d'expliquer le décrochage
Collecte et automatisation d'images érotiques à l'aide du deep learning