Question

J'ai un ensemble de formation, je fournir (considérer une donnée de jeu de formation) à la couche visible. Ensuite, le processus normal est suivi, à savoir positif Phase-> négatif Phase-> Reconstruction des poids, des unités de polarisation lieu. Est-ce ici fin ou devrais-je itérer avec la valeur actuelle de l'unité visible à nouveau (le processus suit pour quelques itérations fixes)? Parce qu'il est mal dit nulle part que ce soit avec chaque donnée de jeu de formation, il doit itérée encore et encore ou chaque donnée de jeu de formation.

Était-ce utile?

La solution

Lorsque vous n'êtes pas sûr de quelque chose (par exemple RBMs) devrait vraiment être mis en œuvre, il est souvent utile de regarder le code des autres. G. Hinton lui-même a publié un script Matlab ( ) qui démontre la formation d'une GAR. Là, vous pouvez voir que pour chaque mini-lot, il fait la phase positive, la phase négative, et enfin met à jour les poids - et voilà. Il a donc ne peut itérer entre les états visibles et cachés.

Cependant, ce n'est pas la vérité: le poids à jour nous avons besoin de connaître la probabilité $ p (v, h) $. Ceci est très compliqué à calculer, car il contiendrait une somme sur tous les états possibles du GAR. Il y a un « truc mathématique » appelé échantillonnage de Gibbs: il nous permet de parcourir les deux sens entre les unités visibles et cachées pour calculer cette probabilité $ p (v, h) $

.

Mais: pour que le résultat soit correct, il faut itérer toujours , ce qui est pas vraiment pratique. Alors, que Hinton est proposé à itérer pour seulement 1 étape à la place (ce qui est $ CD_1 $), donc il ne va que de va-et-vient une fois.

Mais, vous pouvez aussi itérer un nombre de fois k $ $, qui est notée $ CD_k $. Alors que pour $ CD_1 $ de Hinton, vous feriez

visible --> hidden --> visible

Pour $ CD_3 $, vous itérer du visible à l'invisible et en arrière, trois fois:

visible --> hidden --> visible --> hidden --> visible --> hidden --> visible

Et juste pour être clair: vous exécutez cette itération pour tous point de données dans l'ensemble de la formation. En fait, vous faites habituellement soi-disant mini-lots de peut-être 10 points de données, que vous exécutez en même temps. Ensuite, vous calculez la mise à jour de poids moyen de ce lot. Mais alors, vous faites cette itération encore, et encore, et encore, jusqu'à ce que vous avez terminé votre formation.

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