Question

J'écris mon propre algorithme de formation, mais je ne sais pas comment régler le poids de polarisation.

Ai-je à un biais de jeu dans une couche?

Il faut le poids de biais, être mis à jour dans chaque couche?

Était-ce utile?

La solution

Il devrait y avoir un poids de polarisation pour chaque neurone virtuel comme il contrôle le seuil à partir duquel les répond neurone à l'entrée combiné. Donc, si votre couche cachée a 100 neurones, qui est de 100 poids de biais pour cette couche. Même pour chaque couche.

Il y a généralement deux approches différentes prises lors de la mise en œuvre biais. Vous pouvez faire un ou l'autre:

  1. En tant que vecteur séparé des poids de polarisation pour chaque couche, avec une logique différente (une légère baisse de coupe) pour le calcul des gradients.

  2. En tant que colonne supplémentaire dans la matrice de poids, avec une colonne correspondante de 1 est ajouté aux données d'entrée (ou les sorties précédentes des couches), de sorte que le code exact mêmes calcule les gradients de poids de polarisation et mises à jour que pour des poids de connexion.

Dans les deux cas, vous ne faites le calcul de rétropropagation de deltas d'activation des neurones aux deltas de poids de biais, vous n'avez pas besoin de calculer le delta « d'activation » de biais, car il n'est pas quelque chose qui peut changer, il est toujours 1.0 . De plus, le biais ne contribue pas deltas dos plus à rien d'autre.

Autres conseils

En fait, vous n'avez pas besoin un parti pris si vous avez rétropropagation avec au moins 1 couche cachée. Par exemple, si votre entrée est égale à zéro, votre propagation vers l'avant se traduira par 0,5 (pour sigmoïde) mais votre propagation arrière ajustera son poids où vous obtenez finalement la bonne réponse.

Licencié sous: CC-BY-SA avec attribution
scroll top