L'apprentissage actif est une approche spécialisée de l'apprentissage automatique dans laquelle un algorithme interroge interactivement une source de données afin d'obtenir les résultats souhaités pour de nouveaux points de données. Cette méthode est particulièrement utile lorsqu'il s'agit de grands ensembles de données non étiquetées où l'étiquetage manuel n'est pas pratique ou coûteux. En sélectionnant stratégiquement les points de données à étiqueter, l'apprentissage actif vise à obtenir une grande précision du modèle avec moins d'exemples étiquetés que les méthodes traditionnelles d'apprentissage supervisé. Il permet de réduire les coûts d'étiquetage et d'améliorer la précision en se concentrant sur les points de données clés.
Concepts fondamentaux et méthodologie
Dans l'apprentissage actif, le modèle commence avec un petit ensemble de données étiquetées et sélectionne itérativement les points de données les plus informatifs à étiqueter par un oracle (par exemple, un annotateur humain). Le modèle se réapprend ensuite sur les données nouvellement étiquetées, en améliorant ses performances à chaque itération. Ce processus se poursuit jusqu'à ce qu'un niveau de précision souhaité soit atteint ou qu'un budget d'étiquetage soit épuisé.
La clé d'un apprentissage actif efficace réside dans la stratégie utilisée pour sélectionner les points de données à étiqueter. Les stratégies les plus courantes sont les suivantes :
- Échantillonnage d'incertitude : Le modèle sélectionne les points de données où il est le moins confiant dans ses prédictions. Par exemple, dans une tâche de classification, le modèle peut choisir des points de données dont les probabilités sont proches de la limite de décision.
- Requête par comité : Un comité de modèles divers est formé sur les données étiquetées, et les points de données sur lesquels les membres du comité sont le plus en désaccord sont sélectionnés pour l'étiquetage. Cette approche vise à réduire la variance du modèle en se concentrant sur les zones de grande incertitude.
- Changement attendu du modèle : Le modèle sélectionne les points de données qui devraient provoquer le plus grand changement dans les paramètres du modèle si leurs étiquettes étaient connues. Cette stratégie vise à maximiser le gain d'informations de chaque exemple étiqueté.
- Réduction de l'erreur attendue : Le modèle sélectionne les points de données qui devraient réduire le plus l'erreur de prédiction globale. Cette approche vise directement à améliorer les performances du modèle sur des données inédites.
- Réduction de la variance : Cette méthode se concentre sur la réduction de la variance des prédictions du modèle en sélectionnant des points de données qui sont représentatifs de la distribution des données sous-jacentes.
Apprentissage actif et autres paradigmes d'apprentissage
L'apprentissage actif diffère considérablement des autres approches d'apprentissage automatique telles que l'apprentissage supervisé, l'apprentissage non supervisé et l'apprentissage semi-supervisé. Dans l'apprentissage supervisé, le modèle est formé sur un ensemble fixe de données étiquetées, tandis que dans l'apprentissage non supervisé, le modèle apprend à partir de données non étiquetées. L'apprentissage semi-supervisé utilise une combinaison de données étiquetées et non étiquetées, mais contrairement à l'apprentissage actif, il n'interroge pas activement les étiquettes.
L'apprentissage actif est particulièrement avantageux lorsque les données étiquetées sont rares ou coûteuses à obtenir, car il permet au modèle d'atteindre une grande précision avec moins d'exemples étiquetés. Cela en fait une technique précieuse dans les scénarios où l'étiquetage des données est un goulot d'étranglement.
Applications dans le monde réel
L'apprentissage actif a trouvé des applications dans divers domaines, notamment :
- Classification d'images et de vidéos : L'apprentissage actif peut être utilisé pour former efficacement des modèles pour les tâches de classification d'images et de vidéos. Par exemple, dans un scénario d'imagerie médicale, un système d'apprentissage actif peut sélectionner les images médicales les plus informatives pour qu'un radiologue les étiquette, réduisant ainsi la charge d'étiquetage tout en améliorant la précision du diagnostic. Pour en savoir plus sur l'IA de la vision dans le domaine de la santé, consulte le site Web Ultralytics .
- Traitement du langage naturel : L'apprentissage actif peut être appliqué à des tâches telles que la classification des textes, la reconnaissance des entités nommées et l'analyse des sentiments. En étiquetant de manière sélective les échantillons de texte les plus informatifs, l'apprentissage actif peut améliorer les performances des modèles NLP avec moins de données étiquetées. Pour plus de détails, explore le traitement du langage naturel (NLP).
- Reconnaissance de la parole : L'apprentissage actif peut être utilisé pour former des modèles de reconnaissance vocale en sélectionnant les échantillons audio les plus difficiles à transcrire. Cette approche peut améliorer la robustesse du modèle face aux variations d'accents, de bruits et de styles d'expression.
Exemples de cas d'utilisation
- Conduite autonome : Dans le cadre du développement des voitures autonomes, l'apprentissage actif peut être utilisé pour former des modèles de détection d'objets qui identifient les piétons, les véhicules et d'autres objets dans les flux vidéo en temps réel. Le système d'apprentissage actif peut sélectionner les images les plus ambiguës ou les plus difficiles à annoter manuellement, ce qui garantit que le modèle fonctionne bien dans des situations diverses et critiques pour la sécurité.
- Contrôle de la qualité de la fabrication : L'apprentissage actif peut être utilisé pour former des modèles qui détectent les défauts dans les produits manufacturés. En étiquetant de manière sélective les images de produits présentant des défauts potentiels, le système d'apprentissage actif peut aider à construire un modèle de détection des défauts très précis avec un effort d'étiquetage minimal, ce qui permet de réduire les coûts d'inspection et d'améliorer la qualité des produits. En savoir plus sur l'IA dans la fabrication.
Outils et cadres de travail
Plusieurs outils et cadres sont disponibles pour mettre en œuvre l'apprentissage actif, notamment :
- modAL : un cadre d'apprentissage actif pour Python3, conçu pour être modulaire et extensible. Il prend en charge diverses stratégies d'apprentissage actif et peut être facilement intégré aux modèles scikit-learn.
- libact : Une bibliothèque Python pour l'apprentissage actif qui prend en charge les scénarios d'apprentissage actif basés sur les bassins. Elle fournit diverses stratégies d'interrogation et permet aux utilisateurs de définir des stratégies personnalisées.
- ALiPy : Une boîte à outils Python pour l'apprentissage actif qui offre un large éventail de stratégies et prend en charge l'apprentissage actif basé sur les bassins et les cours d'eau.
Conclusion
L'apprentissage actif est une technique puissante pour former des modèles d'apprentissage automatique avec des données étiquetées limitées. En sélectionnant stratégiquement les points de données les plus informatifs pour l'étiquetage, l'apprentissage actif peut atteindre une grande précision tout en réduisant le coût et les efforts associés à l'étiquetage des données. Cette approche a trouvé des applications dans divers domaines, notamment la vision artificielle (CV), le traitement du langage naturel et la reconnaissance vocale. Alors que le volume de données non étiquetées continue d'augmenter, l'apprentissage actif jouera un rôle de plus en plus important pour permettre un apprentissage automatique efficace et efficient. Explore le blogUltralytics pour en savoir plus sur les solutions d'IA de pointe. Tu peux commencer à former des modèles en utilisant le Ultralytics HUB, une plateforme sans code pour former des modèles personnalisés Ultralytics YOLO .