2017-09-20 1 views
0

J'ai lu sur quelques sujets concernant l'apprentissage de la machine, les réseaux de neurones et l'apprentissage en profondeur, dont un est ce (à mon avis) excellent livre en ligne: http://neuralnetworksanddeeplearning.com/chap1.htmlréseau de neurones: les poids et les biais convergence

Pour La plupart du temps j'ai compris le fonctionnement d'un réseau de neurones mais il y a une question qui me dérange encore (qui est basée sur l'exemple sur le site web): Je considère un réseau de neurones à trois couches avec une couche d'entrée cachée couche et couche de sortie. Dites que ces couches ont 2, 3 et 1 neurones (bien que la quantité n'a pas vraiment d'importance).

Maintenant, une entrée est donnée: x1 et x2. Parce que le réseau est [2, 3, 1] les poids sont générés aléatoirement la première fois étant une liste contenant une matrice 2x3 et une matrice 3x1. Les biais sont une liste d'une matrice 3x1 et 1x1.

Maintenant, la partie que je ne pas obtenir: La formule calculée dans la couche cachée:

weights x input - biases = 0 

à chaque itération les poids et les biais sont légèrement modifiées, en fonction de la dérivée afin de trouver un optimum global. Si tel est le cas, pourquoi les biais et les poids de chaque neurone ne convergent-ils pas vers les mêmes poids et biais?

Répondre

0

Je pense J'ai trouvé la réponse en faisant quelques tests et en trouvant des informations sur Internet. La réponse réside dans le fait d'avoir des poids initiaux aléatoires et des biais. Si tous les «neurones» étaient égaux, ils aboutiraient tous au même résultat puisque les poids, les biais et les entrées sont égaux. Avoir des poids aléatoires permet des réponses différentes:

x1 = 1 
x2 = 2 
x3 = 3 

w1 = [0, 0, 1], giving w dot x = 3 
w2 = [3, 0, 0], giving w dot x = 3 

Si quelqu'un peut confirmer, s'il vous plaît le faire.