Je comprends que la formation préalable est utilisée pour éviter certains des problèmes liés à la formation conventionnelle. Si j'utilise la rétropropagation avec, par exemple un encodeur automatique, je sais que je vais rencontrer des problèmes de temps car la rétropropagation est lente, et aussi que je peux rester coincé dans les optima locaux et ne pas apprendre certaines fonctionnalités.
Ce que je ne comprends pas, c'est comment pré-former un réseau et ce que nous faisons spécifiquement pour pré-former. Par exemple, si on nous donne une pile de machines Boltzmann restreintes, comment pourrions-nous pré-former ce réseau?
machine-learning
neural-networks
backpropagation
rbm
pre-training
Michael Yousef
la source
la source
Réponses:
Vous commencez par entraîner chaque RBM dans la pile séparément, puis vous combinez en un nouveau modèle qui peut être affiné davantage.
Supposons que vous ayez 3 RBM, vous entraînez RBM1 avec vos données (par exemple un tas d'images). RBM2 est formé avec la sortie de RBM1. RBM3 est formé avec la sortie de RBM2. L'idée est que chaque modèle RBM présente des caractéristiques représentatives des images et les poids qu'ils apprennent en le faisant sont utiles dans d'autres tâches discriminantes comme la classification.
la source
La pré-formation d'un RBM empilé consiste à minimiser goulûment par couche l'énergie définie, c'est-à-dire à maximiser la probabilité. G. Hinton a proposé l'algorithme CD-k, qui peut être considéré comme une seule itération de l'échantillonnage de Gibbs.
la source