Small Data et Machine Learning

Small data - data augmentation - synthetic data - IA frugale.

Small data - data augmentation - synthetic data - IA frugale.

Les techniques de Machine Learning peuvent s’accommoder d’une base d’apprentissage avec peu de données initiales alors même qu’elles sont réputées nécessiter d’énormes quantités de données. On appelle cela le Small Data par opposition au Big Data. En effet, pour pallier un faible nombre de données, on peut utiliser des techniques d’augmentation de données, la méthode SMOTE, créer des données synthétiques ou encore mettre en œuvre du Transfer Learning.

Le verrou des données

Entrainer un modèle avec peu de données - data augmentation transfer learning SMOTE.
Entrainer un modèle avec peu de données – data augmentation transfer learning SMOTE.

Aujourd’hui, beaucoup d’entreprises ne sont pas en mesure de collecter des données en très grand nombre (Big Data). En revanche, de très nombreuses PME ou ETI disposent la plupart du temps de nombreuses données en plus faible nombre (Small Data). On estime d’ailleurs que le Small data représenterait 85 % de l’ensemble des données agrégées par les entreprises. Ces données concernent des domaines très variées (commerce, pièces, machines, capteurs IoT, rapports de mesures, procédures, images, …).

Lorsque la base d’apprentissage est trop réduite, les modèles développés risquent de manquer de généralisation. Le modèle aura en effet de bonnes performances sur le jeu d’apprentissage utilisé. En revanche sur un lot de données inconnues, il aura souvent de médiocres performances. Si le data-set est trop limité, le modèle risque également d’être complexe à optimiser et peut limiter le choix à des modèles possédant un nombre d’hyperparamètres réduits (modèles linéaires, …).

Entrainer des modèles avec un petit data-set (Small Data) constitue un besoin récurrent dans nombre de secteurs industriels qui travaillent sur des données confidentielles, difficiles à extraire ou en volume réduit. Différentes techniques algorithmiques permettent de contourner le verrou des données, le Transfer Learning, la data augmentation, le SMOTE, …, et les données synthétiques.

Le Transfer Learning

Transfert Learning avec le modèle VGG19 - source ZEISS Zen Intellesis.
Transfer Learning avec le modèle VGG19 – source ZEISS Zen Intellesis.

Le Transfer Learning consiste à utiliser un modèle déjà entrainé (avec un data set différent) et à le ré-entrainer sur le data-set d’intérêt. De nombreux modèles déjà entrainés -et en particulier des réseaux de neurones convolutifs pour la reconnaissance d’images- sont disponibles en open-source. Le réentrainement présente l’avantage de nécessiter un nombre de données bien inférieur à celui nécessaire à l’entrainement initial d’un modèle « from scratch » non encore entraîné. Il existe ainsi plus d’une quinzaine de réseaux de neurones déjà pré-entrainés dans la bibliothèque keras qui permettent de traiter des images (via TensorFlow).

Les fournisseurs de microscope commencent à intégrer le Deep Learning dans les logiciels d’analyse d’images. C’est le cas de ZEISS avec le système Zen Intellesis qui demande à l’utilisateur de taguer les particules à repérer puis apprend en automatique à faire de la segmentation d’images par Deep Learning (en Python) sur les prochaines images de la même famille qu’il n’aura pas encore vues. Zen Intellesis utilise pour cela des modèles pré-entraînés (Transfer Learning). L’environnement utilisé est Anaconda, la librairie de Machine Learning Scikit-Learn, Karas et TensorFlow (librairie de Deep Learning) et Dash (un FrameWork Python pour construire des apps). Les algorithmes de classification utilisent les méthodes Random Forest Classification (Forêt d’arbres de décision) et les réseaux de neurones convolutifs. Le réseau retenu par Zen Intellesis pour faire du Transfer Learning – et donc limiter le nombre de particules à taguer manuellement par l’utilisateur – est un VGG19, réseau de neurones convolutifs CNN pré-entraîné à 19 couches de neurones. Le principe du Transfer Learning est détaillé dans la figure ci-dessous avec un VGG16.

VGG16 et Transfert Learning pour le Small Data.
VGG16 et Transfer Learning pour le Small Data.

En pratique, le Transfer Learning récupère -sans les modifier- les poids des couches de convolution du modèle déjà entrainé et n’entraine que les couches denses (réseau de neurones) de sortie dites « Fully Connected » avec les nouvelles données. On utilise souvent conjointement Transfer Learning (VGG16, VGG19, …) et Data Augmentation. On entraine ainsi le modèle à partir de données augmentées, donc avec des données originales en faible nombre (Small Data) qui auront été multipliés artificiellement.

La croissance du besoin en synthetic data pour le ML

Croissance de la synthetic data aux USA - 31 % par an - Small Data - source Grand View Research.
Croissance de la synthetic data aux USA – 31 % par an – Small Data – source Grand View Research.

Les données synthétiques (synthetic data) sont des données artificielles générées par simulation (réalité virtuelle, CAO, simulation) qui viennent compléter et enrichir des données réelles. Les données synthétiques présentent deux intérêts : créer un clone de données réelles (qui peuvent être confidentielles et donc non diffusables) et enrichir des données en trop faible nombre. Selon le cabinet Grand View Research, le marché des données synthétiques devrait voir une très forte croissance (> 30 % par an) jusqu’en 2030 avec comme principale utilisation les images et vidéos puis les données tabulées (tableaux de valeurs) et enfin les données textuelles. Notons cependant que le secteur manufacturier ne compte que pour environ 10 % des utilisations potentielles loin derrière la médecine/science de la vie, les télécommunications, le transport ou le commerce.

Les différents types de données synthétiques

Environnement de développement synthetic data - source ANYVERSE.
Environnement de développement synthetic data – source ANYVERSE.

On distingue en général, pour les images, trois types de données synthétiques ; les « Fully Synthetic » sans utilisation de données réelles, les « partially synthetic » qui permettent de combler les trous des données réelles et s’appuient partiellement sur ces dernières et enfin les « hydrid » qui combinent de façon systématique images réelles et images de synthèse avec l’inconvénient d’un temps de calcul plus important.

Syntho, quant-à-lui, pour des données de synthèse tabulaires distingue 3 familles : les données fictives qui ne s’appuient pas sur les données réelles, les données générées à base de règles (valeurs mini, maxi, moyenne) lorsque l’utilisateur n’a pas encore de données et enfin les données générées par intelligence artificielle qui reproduisent les relations existantes entre données réelles et constituent un jumeau des données réelles en permettant de les augmenter.

Les acteurs de la Synthetic data

Plusieurs acteurs (liste non exhaustive) sont déjà positionnés sur ce marché. MOSTLY AI est ainsi une société autrichienne spécialisée dans la génération de données de synthèse. DATAGEN (Israël) est plus pointue dans la génération d’images d’individus pour l’apprentissage des véhicules autonomes ou la reconnaissance d’attitudes en milieu professionnel (smart office). Cvedia (USA) produit, quant-à-elle, des simulations photo-réalistes. Hazy fournit des données de synthèse pour la finance (FinTech) et AI.Reverie (USA), rachetée par Facebook en 2021, facilite la labélisation par des images synthétiques. ANYVERSE est une start-up espagnole qui génère des données de capteurs pour l’industrie automobile plus spécifiquement. Syntho, basée aux Pays-Bas, est une société qui produit des données synthétiques garantissant la confidentialité. Enfin, Octopize est une entreprise française, créée en 2018 et basée à Nantes qui produit des données synthétiques dans le domaine médical et travaille par exemple pour SOS Médecins, l’APHP ou des centres universitaires médicaux.

Cvedia a développé une application avec un pipeline de données synthétiques pour FLIR, le constructeur de caméras de thermographie infra-rouge afin d’entraîner des réseaux de neurones dans une multitude de cas (automobile, défense, …).

Données synthétiques tabulaires en open-source

Open source synthetic data tabular - small data - source SDV.
Open source synthetic data tabular – small data – source SDV.

DataCebo (issu du MIT/USA) a développé SDV (Synthetic Data Vault), un écosystème open-source pour générer des données synthétiques tabulaires (bibliothèques Copulas, CTGAN, DeepEcho, RDT , Synthetic Data Vault), utiliser des benchmark (SDGym, Synthetic Data Vault) et créer des métriques (SDMetrics, Synthetic Data Vault) de mesure de la qualité des données.

Data augmentation pour les images

Small data - data augmentation d'images par symétrie rotation addition de bruits.
Small data – data augmentation d’images par symétrie rotation addition de bruits.

L’augmentation de données consiste à créer de nouvelles données à partir des données existantes en les modifiant et en les transformant. On peut ainsi appliquer à un data-set d’images initiales des transformations de type symétrie, rotation, homothétie, torsion, déformation, flou, recadrage (crop ou zoom), modification de couleurs, ajout de bruit Gaussien, perte d’information (technique du GridMask) ou modification du contraste ou de la luminosité pour ne citer que les principales.

La librairie keras/tensorflow propose ainsi l’outil ImageDataGenerator qui permet d’augmenter les données de type image avec le réglage des différents paramètres d’augmentation cités plus haut.

L’entrainement de réseaux de neurones convolutifs (CNN) et l’augmentation de données sur des images de taille moyenne ou importante nécessite cependant de la puissance de calcul (GPU/TPU) souvent non disponible sur un simple PC de bureau.

Sur des données tabulaires (en tableau), le nombre de modifications possibles est moins riche qu’avec des images. On peut par contre assez simplement générer des données augmentées par ajout de bruit gaussien aléatoire ou par perte d’informations. Dans tous les cas, l’augmentation de données doit être réalisée sur le train-set et non sur le test-set qui lui doit rester inchangé car il permet de valider la qualité du modèle.

La méthode SMOTE pour doper les données minoritaires

Small Data - méthode SMOTE et data augmentation sur données tabulaires.
Small Data – méthode SMOTE et data augmentation sur données tabulaires.

Assez souvent, les données tabulaires comprennent des points dit normaux et des points anormaux (patients malades, pièces rebutées, données atypiques) que l’on souhaite pouvoir repérer et prédire. Lorsque ces données sont labellisées (tagués), elles constituent alors plusieurs classes : les points normaux et les points anormaux. Or, ces points anormaux sont souvent en nombre beaucoup plus réduit que les points normaux. Ils sont dits « sous-représentés », ce qui pose un problème aux algorithmes de Machine Learning.

On peut alors utiliser en amont du traitement et afin de rééquilibrer les données, des algorithmes comme le SMOTE (acronyme pour Synthetic Minority Oversampling TEchnique) qui est une méthode de suréchantillonnage des observations minoritaires. En pratique, on créé des données synthétiques uniquement pour les données minoritaires (à partir des données existantes) afin d’augmenter leur nombre avant traitement. On peut coupler la méthode SMOTE (sur les données minoritaires) avec des techniques plus conventionnelles de data-augmentation (sur l’ensemble des données).

Conclusions

Pour pallier un jeu de données trop réduit (images, données tabulaires) en Machine Learning, différentes algorithmes sont donc disponibles pour augmenter le nombre de données (data augmentation, SMOTE, synthetic data) ou s’en accommoder en utilisant un modèle déjà pré-entrainé (Transfer Learning) qui nécessite moins de données d’entrainement.

Il faut cependant rester réaliste :  le Machine Learning nécessite des données sur lesquelles on bâtira des modèles. Toutes les techniques d’augmentation de données, de données synthétiques ou de Transfer Learning ont leurs limites. Plus les données réelles seront nombreuses et variées (avec des paramètres les plus complets possibles et une labélisation correcte) et plus le modèle sera généralisable et aura de la valeur pour l’entreprise. Ces différents algorithmes ne peuvent pas remplacer un manque de données.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *