L'apprentissage actif pour une IA centrée sur les données

Une grande question dans le domaine de l'apprentissage automatique (ML), qui se pose souvent lorsqu'il s'agit d'améliorer les performances, est le coût de préparation de l'acquisition des données. Générer des données de haute qualité pour augmenter la précision des prédictions est généralement difficile, coûteux ou tout simplement impossible. De plus, contrairement au modèle d'IA lui-même, les données sont généralement considérées comme moins importantes. Cela s'explique par le fait que les ingénieurs ML sont plus enclins à modifier le code d'un modèle qu'à nettoyer l'ensemble des données. Mais c'est justement dans les applications d'IA qu'il est important d'examiner les données, car le système est construit à la fois sur du code et sur des données, contrairement aux logiciels traditionnels qui ne sont basés que sur du code. Bien que l'on considère généralement que 80 % des activités d'apprentissage automatique sont consacrées au nettoyage des données, la garantie de la qualité des données (centrée sur les données) n'est pas considérée comme aussi importante que le travail sur le modèle (centré sur le modèle). [1] 

Mais pourquoi personne n'utilise une approche centrée sur les données ?

Plusieurs facteurs jouent ici un rôle. D'une part, une approche centrée sur les données est considérée comme une tâche longue et ennuyeuse, d'autre part, il est également difficile de définir ce qui constitue exactement un bon ensemble de données. Cependant, la nécessité de travailler avec un bon ensemble de données deviendra encore plus importante à l'avenir, étant donné que la quantité de données non labellisées augmente généralement en raison des possibilités moins coûteuses de collecte et de stockage des données. Pour créer de bons modèles, il faut de bonnes données, ce qui a un prix. "(...) les données annotées sont difficiles et coûteuses à obtenir, en particulier dans les domaines spécialisés où seuls des experts, dont le temps est rare et précieux, peuvent fournir des étiquettes fiables." [2] En réaction à cette situation, les chercheurs ont commencé à prendre conscience de la nécessité de combler l'écart entre la collecte de données et la création de modèles. C'est précisément là qu'intervient la discipline de l'apprentissage actif. 

Comment l'apprentissage actif contribue-t-il à l'obtention de meilleures données ?

L'apprentissage actif intègre les connaissances humaines dans l'apprentissage automatique, réduisant ainsi considérablement les besoins en données et augmentant les prédictions de l'IA. "Il vise à sélectionner les exemples les plus utiles dans l'ensemble des données non marquées et à les transmettre à l'oracle (par exemple l'annotateur humain) pour qu'il les marque, afin de réduire autant que possible le coût du marquage sans nuire à la performance". [3] L'apprentissage actif est particulièrement utile lorsque la quantité de données est trop importante pour être étiquetée ou lorsque des priorités doivent être fixées pour un type d'étiquetage intelligent. Le traitement du langage naturel (NLP) est l'un des domaines les plus populaires dans lesquels l'apprentissage actif est utilisé. Principalement parce que les applications NLP nécessitent une grande quantité de données étiquetées, le coût de leur étiquetage est très élevé. L'utilisation de l'apprentissage actif en PNL réduit la quantité de données qui doivent être étiquetées avec précision par un expert dans le processus de formation d'un modèle. Au lieu de cela, le modèle étiquette déjà les données de lui-même et demande un feedback lorsqu'il n'est pas tout à fait sûr que l'étiquette est la bonne. 

Il existe trois types d'apprentissage actif mentionnés dans différents travaux de recherche. La méthode la plus utilisée, Pool-Based Learning, prend les instances les plus informatives, auxquelles un score est attribué, dans l'ensemble du pool de données et demande à l'homme des étiquettes. Le Stream-Based Selective Sampling évalue individuellement l'informativité de chaque point de données non labellisé et décide lui-même s'il interroge l'être humain ou s'il attribue lui-même un label. La Membership Query Synthesis est une méthode dans laquelle le modèle génère sa propre instance à partir d'une distribution naturelle sous-jacente. Mais chaque type de hiérarchisation des points de données nécessite quelques étapes générales pour réaliser l'apprentissage actif sur un ensemble de données non étiquetées. Tout d'abord, un très petit sous-ensemble de données doit être étiqueté manuellement, sur lequel le modèle est ensuite entraîné. Ensuite, le modèle prédit la classe des points de données non étiquetés, choisit un score basé sur la prédiction du modèle et attribue les points de données à étiqueter à l'humain. L'approche du processus d'apprentissage est appelée apprentissage semi-supervisé, ce qui signifie qu'il n'y a qu'une petite quantité de données étiquetées, mais une grande quantité de données non étiquetées. Après avoir reçu le feedback humain, le modèle peut être entraîné sur l'ensemble de données étiquetées étendues, ce qui permet d'améliorer les performances du modèle à chaque fois qu'il parcourt le cycle. 

Le cycle de l'apprentissage actif
Circuit d'apprentissage actif

Comment nous avons intégré l'apprentissage actif pour obtenir de meilleures performances prédictives

Dans la partie suivante, nous expliquons comment nous avons implémenté l'approche de l'apprentissage actif dans la plateforme d'IA Konfuzio. Nous utilisons l'approche Stream-Based Selective Sampling, mais nous l'étendons à notre application, pour laquelle nous avons plutôt besoin d'une approche centrée sur les données, adaptée à un comportement d'apprentissage continu. Cela est nécessaire car notre objectif n'est pas d'entraîner une fois un grand ensemble de données et de l'utiliser par la suite, mais d'entraîner le modèle avec un petit ensemble de données et d'augmenter continuellement la performance de prédiction en l'entraînant à nouveau. Une méthode à laquelle on peut se référer est ce que l'on appelle l'incremental learning, qui vise à étendre les connaissances du modèle au fil du temps, dès que de nouvelles données d'entraînement sont disponibles [4]. L'approche de l'apprentissage actif s'étend donc sur une période plus longue et a lieu régulièrement. Quelles sont maintenant les étapes pour améliorer nos résultats dans un nouveau projet avec l'apprentissage actif ? Vous trouverez ci-dessous une représentation visuelle du processus et une description des différentes étapes.

Cercle d'apprentissage actif
Processus d'apprentissage actif chez Konfuzio

L'apprentissage actif a lieu à l'étape du "feedback", où l'interaction avec l'utilisateur est nécessaire pour améliorer les prédictions du modèle. C'est là que nous pouvons parler de l'implémentation "Human-in-the-Loop", qui combine notre modèle d'apprentissage automatique avec l'interaction humaine. Cela permet de réentraîner notre modèle fréquemment et rapidement, car nous bénéficions d'un feedback continu, l'IA s'adressant à l'homme. Cette approche permet d'améliorer régulièrement et continuellement les performances de prédiction en tenant compte d'une vision centrée sur les données.

Comment fonctionne l'apprentissage actif dans la pratique ?

Extraire les données de la facture

L'apprentissage actif dans la pratique à l'exemple des documents

  1. Sélectionner un problème

    L'utilisateur choisit un cas d'application pour le traitement des documents par l'IA. Une définition claire des labels à extraire est le point de départ du processus d'apprentissage actif de l'IA.Sections et étiquettes pour l'extraction de données

  2. Collecte de données

    L'utilisateur télécharge sur la plateforme Konfuzio des fichiers composés de documents pour la formation & la validation ainsi que de documents pour les tests (par exemple dans un rapport de 70/30). Les données de formation doivent alors être labellisées manuellement par l'utilisateur ou un modèle d'IA open source peut être utilisé pour pré-labelliser les données.Catégoriser et extraire des documents

  3. Vérifier les données

    La cohérence des données de formation labellisées est contrôlée et, si nécessaire, corrigée ou étendue. Dans un article technique séparé, nous montrons comment nous contrôlons la qualité de nos données d'entraînement en les regroupant de manière automatisée. Vers l'article.L'IA reconnaît les postes de facturation

  4. Train AI

    Ensuite, un entraînement automatisé est initié sur des données d'entraînement étiquetées. La meilleure architecture de modèle pour chaque cas d'application est sélectionnée.Démarrer la formation à l'IA

  5. Test AI

    Après l'entraînement, un test automatisé de l'IA entraînée est effectué sur l'ensemble des données de test téléchargées.Contrôle des données à extraire d'une facture

  6. Rapport

    Le rapport indique si le "nouveau" modèle d'IA est meilleur que le modèle précédent en tenant compte de l'ensemble des données de test. Si ce n'est pas le cas, le modèle précédent est utilisé pour l'étape suivante.Evaluation_of Document AI

  7. Déployé AI

    Si le "nouveau" modèle est meilleur que le modèle précédent, Konfuzio met à jour l'API avec la dernière IA entraînée.Catégoriser l'IA et l'IA d'extraction dans un seul projet

  8. Monde réel

    C'est maintenant que de nouvelles données/documents "du monde réel" entrent en jeu et sont traités par l'IA utilisée. Les prédictions des nouveaux labels sont calculées. Les documents peuvent accéder directement à l'IA déployée via l'API ou le SDK Python.JSON

  9. Réactions

    Toutes les données détectées dans un document sont présentées à l'utilisateur en marquant les étiquettes dans la Smartview. Cette interface utilisateur permet à l'utilisateur de donner un feedback sur les prédictions en les affichant visuellement sur le document concerné. Soit il peut confirmer l'exactitude en cliquant sur une coche verte, soit il peut rejeter un label erroné en cliquant sur un X rouge. En outre, l'utilisateur peut ajouter des étiquettes qui ont été omises par erreur. Le feedback humain devrait être donné de préférence aux documents qui n'auraient pas pu être reconnus avec les règles générées automatiquement, voir étape 3.
    Contrôle des données à extraire d'une facture

  10. Collecte de données

    Le feedback de l'utilisateur est ensuite réintégré dans l'ensemble de données lors de l'étape répétée "collect data". Une étiquette acceptée ne fait que confirmer l'exactitude, le retour du refus ou l'ajout d'une étiquette augmente la précision de la prédiction en entraînant à nouveau le modèle. Les données "real world" d'avant sont maintenant introduites dans la boucle à ce stade pour l'entraînement.Courbe d'apprentissage

Conclusion

L'apprentissage actif permet d'améliorer en permanence les prédictions des nouvelles IA et des modèles d'apprentissage automatique. Les avantages de l'intégration d'une approche d'apprentissage actif sont des coûts réduits, une faible quantité de données pour la première version de l'IA, une fiabilité accrue et une robustesse en constante augmentation grâce à des tests continus de la précision de l'IA. Le passage à un développement centré sur les données rend l'IA accessible à davantage d'équipes d'utilisateurs et à beaucoup plus de cas d'application. La qualité des données améliore considérablement les performances de l'IA, en particulier pour les modèles utilisant des ensembles de données plus petits.


Pour les data scientists, nous proposons également un SDK Python en plus de l'interface web.

Exemple simple d'OCR en Python

Human-in-the-Loop comme Colab Notebook


 

Sources : 

[1] Sagar, R. (2021). Big Data To Good Data : Andrew Ng Urges ML Community To Be More Data-Centric And Less Model-Centric, consulté par Analytics India Magazine PVT LTD.

[2] Konyushkova, K., Sznitman, R., & Fua, P. (2017). Learning active learning from data. arXiv preprint arXiv:1703.03365.

[3] Ren, P., Xiao, Y., Chang, X., Huang, P. Y., Li, Z., Chen, X., & Wang, X. (2020). A Survey of Deep Active Learning. arXiv preprint arXiv:2009.00236.

[4] Castro, F. M., Marín-Jiménez, M. J., Guil, N., Schmid, C., & Alahari, K. (2018). Apprentissage incrémental de bout en bout. In Proceedings of the European conference on computer vision (ECCV) (p. 233-248).

Photo de Andrea Piacquadio de Pexels

"
"
Avatar de Maximilian Schneider

Derniers articles