@hbaderts a parfaitement décrit l'ensemble du flux de travail. Cependant, cela peut ne pas avoir de sens si vous êtes complètement nouveau à cette idée. Par conséquent, je vais l'expliquer à la manière du profane (par conséquent, je vais omettre les détails):
Considérez les réseaux profonds comme une fonction pour transformer vos données. Exemple de transformations: normalisation, enregistrement de données, etc. Les réseaux profonds que vous formez comportent plusieurs couches. Chacune de ces couches est entraînée à l'aide d'une sorte d'algorithme d'apprentissage. Pour la première couche, vous passez les données d'origine comme entrée et essayez d'obtenir une fonction qui vous rendra ces "mêmes données d'origine" comme sortie. Cependant, vous n'obtenez pas la sortie parfaite. Par conséquent, vous obtenez une version transformée de votre entrée en tant que sortie de la première couche.
Maintenant, pour la deuxième couche, vous prenez ces "données transformées" et les passez en entrée et répétez tout le processus d'apprentissage. Vous continuez à le faire pour toutes les couches de votre réseau profond.
À la dernière couche, vous obtenez une "version transformée" de vos données d'entrée d'origine. Cela peut être considéré comme une abstraction de niveau supérieur de vos données d'entrée d'origine. Notez que vous n'avez pas encore utilisé les étiquettes / sorties dans votre réseau profond. Par conséquent, tout jusqu'à ce point est un apprentissage non supervisé. C'est ce qu'on appelle une pré-formation par couche.
Maintenant, vous voulez former un modèle de classifieur / régression et c'est un problème d'apprentissage supervisé. La façon dont vous atteignez cet objectif est de prendre la "version finale transformée" de votre entrée d'origine de la dernière couche de votre réseau profond et de les utiliser comme entrée pour n'importe quel classificateur (par exemple, classificateur knn / classificateur softmax / régression logistique, etc.). C'est ce qu'on appelle l'empilement.
Lorsque vous formez ce classificateur / apprenant de dernière étape, vous propagez tout votre apprentissage dans le réseau complet. Cela garantit que vous êtes en mesure d'apprendre des étiquettes / sorties et de modifier les paramètres par couche appris en conséquence.
Donc, une fois que vous avez formé votre modèle génératif, prenez la sortie de votre modèle génératif et utilisez-la comme entrée pour un classificateur / apprenant. Laissez l'erreur circuler à travers le réseau tout au long de l'apprentissage afin de pouvoir modifier le paramètre par couche appris lors des étapes précédentes.