Data augmentation

Avec l’évolution du e-commerce, l’intelligence artificielle prend une place de plus en plus importante pour le secteur de la mode.

SAIMPLE: Robustesse et data augmentation pour la mode

La vente de produits en ligne au 3ème trimestre 2022 a connu une augmentation de 16,8% comparée au 3ème trimestre 2021 selon un bilan sur le e-commerce. Cette nouvelle façon de consommer a permis de voir émerger de nouvelles stratégies, dont certaines sollicitent l'intelligence artificielle. Ces algorithmes de machine learning peuvent permettre d’augmenter le volume de ventes, d’améliorer l'organisation des produits, leur étiquetage, de prédire un parcours client, ou encore de certifier l'authenticité des articles de grandes marques vendus en ligne. Les applications de l’IA pour la mode sont nombreuses et répondent à des besoins concrètement exprimés, mais ces développements comprennent également leurs défis technologiques : apprenez-en plus.

Objectif

Un des enjeux principaux du e-commerce est d'améliorer le balisage lors de la recherche d'articles par le consommateur. Pour ce faire, il faut être capable d'extraire automatiquement les informations contenues dans chaque image en classant correctement les articles, par exemple selon leur couleur ou leur marque.

Certaines plateformes donnent la possibilité aux consommateurs de vendre en ligne. C'est alors le vendeur qui doit prendre en photo son article et la publier sur la plateforme. Or, la photo publiée n'est pas forcément de bonne qualité ou ne contient que rarement un fond blanc, ce qui peut "troubler" l’IA et plus précisément le modèle de classification et donc introduire des problèmes de robustesse.

Dans ce cas d'étude, nous allons entraîner plusieurs modèles de réseaux de neurones sur des images qui pourraient se retrouver sur des sites internet, c'est-à-dire des photos sur fond blanc et orientées de la même manière. Ensuite, à l’aide de Saimple, nous allons évaluer la robustesse de ces modèles en perturbant progressivement les images à travers une augmentation du bruit sur celles-ci. L’outil nous permettra également d’apporter des éléments d’explicabilité en identifiant les zones d’importance de l'image pour la prise de décision du modèle.

Description du jeu de données

Pour ce cas d'étude, le jeu de données nommé UT Zappos50K a été choisi. Il s'agit d'un grand ensemble de données comportant 50 091 images de chaussures issues de catalogues et recueillies sur Zappos.com.

Les images sont divisées en 4 catégories principales :

-Classe 0 : Sandals,

-Classe 1 : Slippers,

-Classe 2 : Shoes,

-Classe 3 : Boots.

Cependant, les catégories de ce jeu de données sont déséquilibrées, la classe ‘Shoes’ contenant 30 217 images, elle représente à elle seule 60% du jeu de données. Le modèle aura alors tendance à classer les images dans la classe ‘Shoes’ et cela pourrait donc poser un problème au modèle dans la reconnaissance des images des autres classes. Il faudrait donc équilibrer le jeu de données pour éviter des biais.

Visualisation du jeu de données

Sur l'ensemble du jeu de données choisi, les chaussures sont centrées sur un fond blanc et photographiées dans la même orientation. Ceci peut représenter un biais dans l'entraînement du modèle. Afin de réduire l'impact de ce biais, la data augmentation est une solution envisageable, elle permet de rééquilibrer les classes. C’est celle que nous avons choisie et utilisée sur les données d'entraînement.

La data augmentation est une technique d’amélioration du jeu de données qui consiste à utiliser un échantillon d’images des classes sous représentées pour générer de nouvelles images et ainsi équilibrer le jeu de données.

Pour effectuer une data augmentation, il est possible d’utiliser de nombreuses méthodes de transformation des entrées comme :
- Redimensionner l’image : agrandir ou rétrécir l’image ;
- Remplir des pixels (c’est-à-dire compléter les espaces manquants dans l’image redimensionnée) ;
- Changer la perspective de l’image.

Exemple de data augmentation
 

Dans ce cas d'étude, trois approches d'entraînement de modèles sont abordées :

- no-DA : un modèle sans data augmentation sur les données,

- DA-slippers : un modèle entraîné où uniquement la classe sous-représentée, "Slippers", a été augmentée,

- all-DA : un modèle entraîné où toutes les classes ont été augmentées.

 

Pour pouvoir comparer les trois modèles, plusieurs analyses seront prises en compte :
- La matrice de confusion,
- La relevance et la dominance obtenues à l'aide de Saimple,
- Les perturbations des images à l'aide d'un bruit gaussien,
- Le delta max obtenu à l'aide de Saimple.

 

Pour rappel :

La relevance : identifie les pixels importants qui ont permis au modèle de classifier l'image. Un pixel est dit important lorsqu'une valeur appelée « relevance » est plus élevée que la moyenne. Plus cette valeur tend vers le rouge ou le bleu, plus le pixel est considéré comme important, soit comme élément positif dans l'identification de cette classe, soit comme élément négatif par rapport aux autres classes.

La dominance : indique sous forme d’intervalles des scores d’appartenance à une classe possible du modèle sur l'espace des entrées considérées. Le graphe de dominance permet de déterminer si une classe est dominante, c'est-à-dire que la valeur prédite de cette classe sera toujours supérieure aux scores des autres classes. Une classe dominante permet d'assurer que la décision du modèle (bonne ou mauvaise) restera stable. De ce fait le réseau prédira toujours la même classe, pour toutes les images qu'il est possible de générer à partir de l’image d’origine et du bruit donné. Il est important de noter que les valeurs d’intervalles des classes peuvent se chevaucher sans que la propriété de dominance ne soit perdue. La représentation sous forme d’intervalles étant une projection des valeurs possibles, elle ne tient pas compte des contraintes qui définissent les valeurs comparées.

Comparaison des 3 modèles

Dans un premier temps, les matrices de confusion de chaque modèle sur l'ensemble des données de test sont analysées.

Pour les trois modèles, les matrices de confusion sont approximativement équivalentes sur toutes les classes sauf sur la classe Slippers, pour laquelle il y a une diminution des images correctement classées au fil des data augmentation.

Ce résultat est surprenant car il est habituellement attendu que la data augmentation permette d'améliorer le nombre d'images bien classées (aussi appelé accuracy). Or les pourcentages de la classe slippers diminuent. Cependant, ce résultat se comprendra par la suite à l'aide des éléments apportés par les différentes analyses réalisées. L'élément à garder en tête est que l'accuracy n'est pas la seule métrique qui doit être prise en compte pour déterminer la performance d'un algorithme.

Pour poursuivre l'analyse, une image de la classe "Shoes" est sélectionnée afin de visualiser les résultats de Saimple pour chaque modèle concernant la relevance et la dominance.

Saimple : relevance et dominance

Ci-dessous les résultats de Saimple sur la relevance et la dominance pour les trois modèles comparés :

Les résultats indiquent que pour le modèle all-DA la relevance semble bien plus précise que pour les autres modèles, comme le démontre la différence dans les concentrations de pixels. Il en est de même concernant la dominance du modèle all-DA qui semble plus stable, le trait vert tant plus éloigné des traits bleus des autres classes.

La relevance permet de montrer que le modèle all-DA est plus précis par rapport aux autres modèles. Le modèle all-DA semble se concentrer davantage sur le contour de la chaussure, qui est l'élément jugé principal pour la différenciation des classes. Concernant la dominance, les graphes de dominance indiquent que tous les modèles ont correctement classifié l'image. Mais la dominance de la classe "Shoes" est plus distincte pour les modèles ayant été entraînés avec de la data augmentation. En effet pour les modèles all-DA et DA-slippers, le score de dominance pour la classe 2 ("shoes") est plus éloigné des scores de dominance des autres classes que pour le modèle no-DA.

Cette première analyse a permis d'identifier, à l’aide de la relevance et de la dominance, que les modèles ayant été entraînés avec de la data augmentation sont en réalité meilleurs dans la classification de cette image, et ce même si l'accuracy peut paraître globalement plus faible. Par la suite, un bruit gaussien avec différentes intensités est ajouté à l'image exemple pour observer les comportements des modèles face à des perturbations.

Ajout du bruit : gaussien

Le bruit gaussien a été sélectionné car il matérialise un environnement à faible luminosité au sein d’une prise de photo, ce qui peut être le cas pour des photos d'articles de mode en ligne.

Trois niveaux d'intensité de bruit vont être appliqués sur l'image d'exemple. Ces niveaux d'intensité correspondent aux différentes variances servant à l'application de bruit sur les images. Le niveau d'intensité 0 correspond à l'image originale.

Les trois modèles vont être comparés pour chaque intensité de bruit et les résultats de Saimple vont être étudiés pour permettre de comprendre la différenciation des trois modèles.

Niveau d'intensité 0.001