Eh bien, la question dit tout.
Qu'entend-on par «pré-formation d'un réseau neuronal»? Quelqu'un peut-il expliquer en anglais simple et pur?
Je n'arrive pas à trouver de ressources liées à cela. Ce serait formidable si quelqu'un pouvait me diriger vers eux.
neural-networks
pre-training
Machina333
la source
la source
Réponses:
La manière habituelle de former un réseau:
Vous souhaitez former un réseau de neurones pour effectuer une tâche (par exemple la classification) sur un ensemble de données (par exemple un ensemble d'images). Vous commencez la formation en initialisant les poids au hasard. Dès que vous commencez la formation, les poids sont modifiés afin d'effectuer la tâche avec moins d'erreurs (c'est-à-dire l'optimisation). Une fois que vous êtes satisfait des résultats de la formation, vous enregistrez le poids de votre réseau quelque part.
Vous êtes maintenant intéressé à former un réseau pour effectuer une nouvelle tâche (par exemple, la détection d'objets) sur un ensemble de données différent (par exemple, des images aussi mais pas les mêmes que celles que vous avez utilisées auparavant). Au lieu de répéter ce que vous avez fait pour le premier réseau et de commencer la formation avec des poids initialisés au hasard, vous pouvez utiliser les poids que vous avez enregistrés du réseau précédent comme valeurs de poids initiales pour votre nouvelle expérience. L'initialisation des pondérations de cette manière est appelée utilisation d'un réseau pré-formé. Le premier réseau est votre réseau pré-formé. Le second est le réseau que vous affinez.
L'idée derrière la pré-formation est que l'initialisation aléatoire est ... eh bien ... aléatoire, les valeurs des poids n'ont rien à voir avec la tâche que vous essayez de résoudre. Pourquoi un ensemble de valeurs devrait-il être meilleur qu'un autre ensemble? Mais sinon, comment initialiseriez-vous les poids? Si vous saviez comment les initialiser correctement pour la tâche, vous pourriez aussi bien les régler sur les valeurs optimales (légèrement exagérées). Pas besoin de former quoi que ce soit. Vous avez la solution optimale à votre problème. La pré-formation donne au réseau une longueur d'avance. Comme s'il avait déjà vu les données.
À quoi faire attention lors de la pré-formation:
La première tâche utilisée lors de la pré-formation du réseau peut être la même que l'étape de réglage fin. Les jeux de données utilisés pour la pré-formation et le réglage fin peuvent également être identiques, mais peuvent également être différents. Il est vraiment intéressant de voir comment la pré-formation sur une tâche et un ensemble de données différents peut toujours être transférée vers un nouvel ensemble de données et une nouvelle tâche qui sont légèrement différents. L'utilisation d'un réseau pré-formé a généralement du sens si les deux tâches ou les deux ensembles de données ont quelque chose en commun. Plus l'écart est grand, moins la formation préalable sera efficace. Il est peu logique de pré-former un réseau pour la classification d'images en le formant d'abord sur les données financières. Dans ce cas, il y a trop de déconnexion entre les étapes de pré-formation et de réglage fin.
la source
La pré-formation / le réglage fin fonctionne comme suit:
la source
Les deux réponses ci-dessus expliquent bien. Je veux juste ajouter une chose subtile concernant la pré-formation pour Deep Belief Nets (DBN). La pré-formation pour le DBN est un apprentissage non supervisé (c'est-à-dire sans données étiquetées) et la formation par la suite est un apprentissage supervisé (c'est-à-dire sans données étiquetées).
la source