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.
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.
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