Maison > Article > Périphériques technologiques > Comprendre les stratégies, les étapes, les différences et les concepts de l'apprentissage par transfert
L'apprentissage par transfert est une méthode qui utilise des modèles formés dans des tâches d'apprentissage automatique existantes pour résoudre de nouvelles tâches. Il peut réduire la quantité de données de formation requises pour les nouvelles tâches en transférant les connaissances des modèles existants vers de nouvelles tâches. Ces dernières années, l’apprentissage par transfert a été largement utilisé dans des domaines tels que le traitement du langage naturel et la reconnaissance d’images. Cet article présentera en détail les concepts et principes de l’apprentissage par transfert.
Appliquez différentes stratégies et techniques d'apprentissage par transfert en fonction du domaine de la tâche et de la disponibilité des données.
1. Apprentissage par transfert inductif
L'apprentissage par transfert inductif nécessite que le domaine source et le domaine cible soient les mêmes, bien que les tâches spécifiques gérées par le modèle soient différentes. Ces algorithmes tentent d'exploiter la connaissance du modèle source et de l'appliquer pour améliorer la tâche cible. Les modèles pré-entraînés possèdent déjà une expertise dans les fonctionnalités du domaine, ce qui leur donne un meilleur point de départ que de les entraîner à partir de zéro.
L'apprentissage par transfert inductif est divisé en deux sous-catégories selon que le domaine source contient ou non des données étiquetées. Il s’agit respectivement de l’apprentissage multitâche et de l’apprentissage à votre rythme.
2. Apprentissage par transfert transductif
Scénarios où les champs de la tâche source et de la tâche cible ne sont pas exactement les mêmes mais sont liés les uns aux autres, la stratégie d'apprentissage par transfert transductif peut être utilisée. On peut établir des similitudes entre les tâches source et cible. Ces scénarios comportent généralement une grande quantité de données étiquetées dans le domaine source et uniquement des données non étiquetées dans le domaine cible.
3. Apprentissage par transfert non supervisé
L'apprentissage par transfert non supervisé est similaire à l'apprentissage par transfert inductif. La seule différence est que l'algorithme se concentre sur les tâches non supervisées et implique des ensembles de données non étiquetés dans les tâches source et cible.
4. Une stratégie basée sur la similarité de domaines et indépendante du type d'échantillons de données d'entraînement
Une méthode d'apprentissage par transfert isomorphe est développée et proposée pour gérer des domaines présentant les mêmes caractéristiques. situation spatiale. Dans l'apprentissage par transfert isomorphe, les domaines ne diffèrent que légèrement par leurs distributions marginales. Ces méthodes ajustent le domaine en corrigeant le biais de sélection de l'échantillon ou le décalage de covariable.
Les méthodes d'apprentissage par transfert hétérogène sont conçues pour résoudre le problème des domaines source et cible avec différents espaces de fonctionnalités ainsi que d'autres problèmes tels que différentes distributions de données et espaces d'étiquettes. L'apprentissage par transfert hétérogène est appliqué à des tâches interdomaines telles que la classification de textes multilingues, la classification texte-image, etc.
1. Obtenir le modèle pré-entraîné
La première étape consiste à sélectionner le modèle pré-entraîné que nous souhaitons conserver comme base de notre formation en fonction de la tâche. . L'apprentissage par transfert nécessite une forte corrélation entre la connaissance du modèle source pré-entraîné et le domaine de tâches cible pour être compatible.
2. Créer un modèle de base
Le modèle de base consiste à sélectionner une architecture étroitement liée à la tâche dans la première étape. Il peut y avoir une situation où le modèle de base a plus de neurones dans la couche de sortie finale. dans le cas d'utilisation, quantité requise. Dans ce cas, la couche de sortie finale doit être supprimée et modifiée en conséquence.
3. Geler la couche de départ
Geler la couche de départ du modèle pré-entraîné est crucial pour éviter que le modèle apprenne des fonctionnalités de base. Si vous ne gèlez pas la couche initiale, tous les apprentissages effectués seront perdus. Ce n'est pas différent de former un modèle à partir de zéro, ce qui entraîne une perte de temps, de ressources, etc.
4. Ajouter une nouvelle couche entraînable
La seule connaissance réutilisée du modèle de base est la couche d'extraction de fonctionnalités. Des couches supplémentaires doivent être ajoutées au-dessus de la couche d'extraction de fonctionnalités pour prédire les tâches spéciales du modèle. Ce sont généralement les couches de sortie finales.
5. Entraîner une nouvelle couche
Il est très probable que la sortie finale du modèle pré-entraîné sera différente de la sortie du modèle souhaitée, auquel cas le modèle doit être entraîné avec une nouvelle sortie couche.
6. Affiner le modèle
afin d'améliorer les performances du modèle. Le réglage fin implique de débloquer des parties du modèle de base et de réentraîner l'intégralité du modèle sur l'ensemble de données à un taux d'apprentissage très faible. Un faible taux d'apprentissage améliorera les performances du modèle sur de nouveaux ensembles de données tout en empêchant le surajustement.
1. Les modèles d'apprentissage automatique traditionnels doivent être formés à partir de zéro, ce qui nécessite une grande quantité de calculs et une grande quantité de données pour atteindre des performances élevées. L’apprentissage par transfert, en revanche, est efficace sur le plan informatique et permet d’obtenir de meilleurs résultats en utilisant de petits ensembles de données.
2. L'apprentissage automatique traditionnel utilise une méthode de formation isolée, et chaque modèle est formé indépendamment dans un but spécifique et ne s'appuie pas sur des connaissances antérieures. En revanche, l’apprentissage par transfert utilise les connaissances acquises à partir d’un modèle pré-entraîné pour gérer la tâche.
3. Les modèles d'apprentissage par transfert atteignent des performances optimales plus rapidement que les modèles ML traditionnels. En effet, le modèle exploitant les connaissances (caractéristiques, poids, etc.) des modèles précédemment formés comprend déjà ces fonctionnalités. C’est plus rapide que de former un réseau neuronal à partir de zéro.
De nombreux réseaux neuronaux et modèles pré-entraînés constituent la base de l'apprentissage par transfert dans le contexte de l'apprentissage profond, appelé apprentissage par transfert profond.
Pour comprendre le processus des modèles d'apprentissage profond, il est nécessaire de comprendre leurs composants. Les systèmes d'apprentissage profond sont des architectures en couches qui peuvent apprendre différentes fonctionnalités à différentes couches. Les couches initiales compilent des fonctionnalités de niveau supérieur, qui sont réduites à des fonctionnalités plus fines à mesure que nous approfondissons le réseau.
Ces couches sont enfin connectées à la dernière couche pour obtenir le résultat final. Cela ouvre la possibilité d'utiliser des réseaux pré-entraînés populaires sans avoir à utiliser leur dernière couche comme extracteur de fonctionnalités fixes pour d'autres tâches. L'idée clé est d'utiliser les couches pondérées d'un modèle pré-entraîné pour extraire des fonctionnalités, mais pas de mettre à jour les pondérations du modèle pendant l'entraînement avec de nouvelles données pour de nouvelles tâches.
Les réseaux de neurones profonds sont des structures en couches avec de nombreux hyperparamètres réglables. Le rôle des couches initiales est de capturer les fonctionnalités génériques, tandis que les couches ultérieures sont davantage axées sur la tâche explicite à accomplir. Il est logique d'affiner les représentations des fonctionnalités d'ordre supérieur dans le modèle de base pour les rendre plus pertinentes pour des tâches spécifiques. Nous pouvons recycler certaines couches du modèle tout en gardant quelques gels lors de l'entraînement.
Un moyen d'améliorer encore les performances du modèle consiste à recycler ou à affiner les poids sur la couche supérieure du modèle pré-entraîné tout en entraînant le classificateur. Cela force la mise à jour des pondérations à partir d'une carte de caractéristiques commune tirée de la tâche source du modèle. Un réglage fin permettra au modèle d'appliquer les connaissances passées et de réapprendre quelque chose dans le domaine cible.
De plus, il faut essayer d'affiner quelques couches supérieures plutôt que l'ensemble du modèle. Les premières couches apprennent les fonctionnalités générales de base qui peuvent être généralisées à presque tous les types de données. Le but du réglage fin est d’adapter ces fonctionnalités spécialisées à de nouveaux ensembles de données, plutôt que de remplacer l’apprentissage général.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!