alphaspirit - Fotolia
IA Frugale : comment entraîner des modèles avec peu de données ?
Entraîner des modèles de machine learning avec peu de données, est-ce possible ? Oui, mais les spécialistes considèrent que les techniques d’enrichissement sont suffisamment performantes pour généraliser les apprentissages de leurs modèles.
De l’or, du pétrole, une matière brute rare et chère. C’est par ces appellations teintées de marketing que les éditeurs et certaines entreprises considèrent leurs réserves de données. De la BI à l’avènement de l’intelligence artificielle, il s’agit encore et toujours d’en tirer des indicateurs capables de faciliter la prise de décision et donc d’améliorer l’efficacité des activités en entreprise. Sauf que ces réserves s’avèrent de prime abord complexes à exploiter.
Pour déployer des algorithmes de machine learning, il est de notoriété publique qu’il faut réunir énormément de données. Ensuite, il faut les filtrer, les trier, optimiser pour répondre à des cas d’usage particuliers. Avant cela, certaines organisations se heurtent à l’accès aux informations, obligeant les équipes de data science à travailler avec des jeux de données de taille réduite.
Pas de data, pas de chocolat ?
Les silos de données ont longtemps empêché des cas d’usage plus avancés de la data science. Cette problématique tend à se résorber, selon Christian Farnier, Practice Manager Data Intelligence chez l’ESN Umanis, (précédemment chercheur en astrophysique).
« L’accès et la transformation de données prend toujours du temps, mais nous avons de plus en plus d’outils qui peuvent aider les data scientists. La préparation et la transformation de données peuvent être partiellement automatisées. Les plateformes de data science ont de plus en plus de connecteurs des fichiers différents », explique-t-il.
Une fois cette barrière franchie, il reste à passer « les étapes longues et fastidieuses de détection des mesures aberrantes, pertinentes suivant un cas d’usage particulier. Plus la compréhension du cas d’usage du client est élevée, plus les valeurs et les paramètres sélectionnés seront pertinents pour concevoir un modèle », précise Christian Farnier. On retrouve là les principes mêmes de l’ingénierie des caractéristiques (Feature Engineering) et du machine learning appliqué en entreprise.
En plus d’un processus à assimiler, cette étape de préparation de données a donc un coût à prendre en compte. Sans oublier que certaines données peuvent réclamer une anonymisation ou l’accord du département légal avant leur exploitation.
Ces difficultés ne sont pas insurmontables selon les spécialistes. « Souvent l’effort d’annotation est surestimé. Cela demande une préparation rigoureuse, mais une fois les processus et les outils maîtrisés ce n’est ni très coûteux, ni très compliqué. Le problème, c’est que souvent les gens n’ont pas ou ne maîtrisent pas les outils pour structurer leurs bases de données », analyse Renaud Allioux, cofondateur et CTO d’Earthcube, une startup spécialisée dans l’analyse d’images satellites appliquée au renseignement.
Dès lors, certaines équipes pourraient se contenter d’un faible volume de données pour l’entraînement de modèles d’apprentissage statistique. « Il est possible d’utiliser des algorithmes de machine learning plus traditionnels, sur des jeux de données avec une faible volumétrie. Nous n’avons pas attendu d’avoir l’avènement du Big Data et la capacité de stocker des quantités phénoménales de données, pour appliquer des algorithmes autoapprenants », déclare Christian Farnier.
Machine learning : qui dit faible volume de données, dit simplicité
De fait, la plupart des entreprises prévoient en premier lieu de traiter des données structurées. « Il est possible d’appliquer des arbres de décision ou des algorithmes d’apprentissage assez simples à des volumes de données relativement faibles. Des outils comme scikit-learn ou une plateforme comme Dataiku sont efficaces dans ces cas-là », déclare Renaud Allioux.
« L’origine du machine learning et de la data science se trouve dans l’analyse statistique » tient à rappeler Christian Farnier. « Quand on a un jeu de données avec une quantité limitée d’événements, il faut faire attention à s’imposer des limites », conseille-t-il. Ces limites concernent la complexité du cas d’usage. Une quantité faible de données implique de s’imposer un faible nombre de paramètres, c’est-à-dire que les informations à traiter ne sont pas variées.
Christian FarnierPratice Manager Data Intelligence, Umanis
C’est ce qu’explique Xavier Amatriain, cofondateur et CTO de Curai, une startup spécialisée dans l’analyse de symptômes par l’intelligence artificielle, dans une réponse sur le forum Quora. « Si vous avez un petit ensemble de données, vous avez besoin de modèles qui ont peu de paramètres (faible complexité) et/ou un fort a priori au sens bayésien. Vous pouvez également interpréter la “probabilité antérieure” comme toute hypothèse que vous pouvez faire sur la façon dont les données se comportent », écrit-il. Les modèles linéaires tels que la régression, les modèles bayésiens simples ou naïfs sont adaptés à cet exercice.
« Cela se fait, mais il faut une rigueur statistique suffisamment importante pour en tirer les bonnes conclusions », tempère Christian Farnier. Cela peut s’appliquer à un usage simple comme la prédiction du taux d’attrition dans les secteurs bancaires ou des télécommunications. Aussi, il faudra veiller attentivement aux possibles dérives une fois le modèle en production.
Deep learning : les méthodes pour enrichir les données
Passons au stade supérieur. Peut-on entraîner des réseaux de neurones, par exemple des algorithmes de computer vision, sur de petits jeux de données ? Encore une fois, cette question et ses variantes sont très populaires sur le forum Quora.
« Si vous avez un faible nombre de données en entrée et que vous souhaitez mettre un réseau de neurones avec des millions de paramètres possibles à pondérer pour obtenir un résultat, votre modèle aura de très bonnes performances sur votre jeu de données d’apprentissage. En revanche sur un lot de données inconnu, elles peuvent être tout à fait médiocres. C’est pour cela que les étapes de test et de validation sont très importantes », indique Christian Farnier.
« Obtenir des performances similaires à celles que l’on a aujourd’hui avec peu de données, c’est un des Graal de la recherche aujourd’hui ». Il y a beaucoup de choses intéressantes, de fantasmes et de faux problèmes qui gravitent autour de ce sujet », considère Renaud Allioux. « Si les gens s’embêtent à annoter des millions de données pour faire du deep learning, c’est que ça marche extrêmement bien. Quand on parle de computer vision ou de traitement de courbe ou de série temporelle, il y a besoin de beaucoup de données. […] Il n’y a pas de recettes magiques », ajoute-t-il.
Sur ce point, les deux spécialistes interrogés par LeMagIT s’entendent. Selon eux, il existe un panel de solutions pour compléter et enrichir les data sets disponibles afin d’entraîner des algorithmes de deep learning.
« Il y a de gros jeux de données mis à disposition par le monde universitaire », rappelle Christian Farnier. Les géants de la technologie comme Google, Amazon (AWS) ou Microsoft partagent régulièrement des jeux d’images annotés. Eux-mêmes exploitent de larges volumes pour développer des algorithmes dont certains sont mis en accès libre.
« Si l’on veut un système performant qui s’appuie sur des jeux de données originaux, il faut annoter un gros volume de données. Il n’y a pas débat », avance Renaud Allioux.
« Il y a tout de même beaucoup de technologies qui vont permettre de minimiser cela. Il y a déjà des modèles et des jeux de données annotés en circulation. Nous allons pouvoir faire du transfer learning ou du domain shift, par exemple », liste-t-il.
Pour rappel, le transfer learning ou apprentissage par transfert consiste à transférer les connaissances obtenues d’une tâche source, vers une autre tâche similaire. « Avec Le transfer learning, plus le cas source du transfert est proche, meilleurs sont les résultats. Dans le cas contraire, cela risque de fausser les performances d’un modèle », prévient Renaud Allioux. Le domain shift ou adaptation de domaine est une sous-catégorie du transfer learning. À la différence de ce dernier, le domaine source et celui en sortie partagent les mêmes caractéristiques.
Renaud AlliouxCTO, Earthcube
D’autres techniques sont accessibles aux data scientists. « Quand une entreprise a de petits jeux de données, il est recommandé de les agrémenter soit avec d’autres données, soit avec des données proxys », conseille Renaud Allioux. Pour cela, l’on peut s’appuyer sur de la simulation de données. « Il s’agit de générer des volumes de données de manière synthétique pour l’apprentissage de nos modèles », explique Renaud Allioux. Là non plus, rien de miraculeux, prévient-il. « Parfois c’est efficace, parfois cela ne marche pas ».
Selon le cofondateur d’Earthcube, il est très difficile de faire reproduire par un algorithme la complexité des images satellites depuis lesquelles la société reconnaît des objets, notamment des véhicules. L’approche simulatrice consiste dans ce cas à ajouter des modèles d’objets rares dans une image réelle.
« Nous avons besoin de faire de l’apprentissage frugal parce que nous travaillons beaucoup sur des données confidentielles, difficiles à extraire des systèmes, et en volume réduit », relate Renaud Allioux. « Nos algorithmes reconnaissent des véhicules à partir d’images satellites. Nous avons annoté de gros jeux de données publics ou payants. Dans les cas où nos algorithmes de vision par ordinateur sont moins performants, nous utilisons du transfer learning, de l’apprentissage actif, de l’apprentissage continu, et d’autres méthodologies ».
Constituer une boîte à outils pour les cas d’usage cibles
L’apprentissage continu consiste à nourrir continuellement un algorithme de nouvelles données via un flux. L’apprentissage actif est une technique semi-supervisée qui introduit un oracle (un humain ou une machine qui labélise les données). L’oracle est au service de l’apprenant (l’algorithme) qui choisit les données à étiqueter.
Cette approche frugale est là pour répondre à des problèmes très spécifiques, selon le CTO d’Earthcube. « C’est une fois que nos clients ont pu se rendre compte de l’efficacité de notre application sur des cas d’usage généraux, qu’ils nous demandent d’identifier des objets plus difficiles à détecter. Dans le secteur de la défense, il s’agit de classifier des modèles d’avion ou de navires dont peu d’exemplaires sont en circulation, par exemple ».
Par ailleurs, le volume de données nécessaire varie également suivant les types de réseaux de neurones utilisés. Si de manière générale, les RNN, CNN ou encore LTSM réclament un volume important de données, il est possible de les optimiser afin d’atteindre le stade de la généralisation. Mais là encore, le nombre de variables et de paramètres présents au sein du data set doivent être réduits. De plus, les résultats dépendent du domaine sur lesquels les modèles sont entraînés. Un phénomène expliqué par Zeeshan ZIA, PDG de la startup RetroCausal et ancien data scientist chez Microsoft, sur le forum Quora à propos du LTSM.
« Il n’y a pas d’opposition entre le fait de traiter de gros et de petits volumes de données. Chaque approche est complémentaire, vous allez utiliser certaines technologies qui composent une boîte à outils dans laquelle vous piochez suivant les cas d’usage », considère Renaud Allioux.
Renaud AlliouxCTO, Earthcube
Toutefois cette boîte à outils ne peut pas combler tous les « trous dans la raquette » de la recherche. Certains cas d’usage dans le deep learning ou dans la computer vision ne sont pas encore explorés, selon Renaud Allioux. « Nous voyons peu de cas d’usage de computer vision appliqués à l’imagerie radar, que ce soit dans le civil ou dans le secteur de la défense, parce que cela coûte cher et que les images sont complexes. Il faut des annotateurs experts qui ne sont pas nombreux. Il y a beaucoup plus de choses sur le traitement physique du signal », avance-t-il.
En parallèle, des éditeurs se lancent dans des exercices pour réduire le volume de données nécessaires à l’entraînement. Renaud Allioux évoque le cas de la startup UpStride dont la promesse technologie est d’entraîner des réseaux de neurones avec 10 fois moins de données.
« Il y a beaucoup de projets et de recherches prometteurs pour améliorer l’apprentissage avec moins de données. Mais actuellement, il n’y a rien de complètement mature en production pour tous les cas d’usage. La technologie d’UpStride est mature, mais les fondateurs sont clairs : elles fonctionnent pour les cas d’usage les plus répandus », conclut-il.