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.
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.
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.
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.
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.
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.
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.
Pour ce premier niveau de bruit, les résultats de dominance sont similaires aux résultats précédents. La relevance se situe sur la chaussure pour les trois modèles mais il existe une petite différence avec le modèle DA-slippers. En effet, la relevance pour ce dernier se concentre légèrement sur l'arrière-plan de l'image.
Il est supposé que plus l'intensité du bruit augmente et plus les modèles vont se concentrer sur l'arrière-plan de l'image, ce qui pourrait ainsi faire changer sa classification.
La dominance indique que les trois modèles, comme précédemment, classifient correctement l'image. Une différence est cependant toujours observée, avec cette fois-ci le modèle sans data augmentation qui a une relevance bien moins précise que les autres. La dominance de ce dernier est également moins distincte comparée aux autres modèles.
Pour ce niveau d'intensité de bruit, la relevance produite par Saimple indique que les modèles commencent à prendre en compte l'arrière-plan de la chaussure ; sauf pour le modèle all-DA qui parait donc être plus robuste que les autres.
A ce niveau de bruit, le premier élément à noter est le changement de classification de la chaussure dans le cas du modèle sans data augmentation (représenté par le cercle orange). La dominance indique en effet que le modèle no-Da classifie mal l'image en la considérant comme "slippers". Pour le modèle DA-slippers, les scores d'appartenance sont aussi très proches, ce qui est un signe de risque important d'erreur de classification. Pour le modèle all-DA, les scores restent encore assez distincts.
A ce niveau de bruit, la relevance du modèle no-DA est totalement éparpillée et ne distingue plus la chaussure, ce qui explique que le modèle ne classifie plus l'image correctement. Pour les deux autres modèles, la relevance se situe sur la chaussure et légèrement sur l'arrière-plan, mais le modèle all-DA rest moins impacté par l’application du bruit. Ainsi, ce niveau d'intensité de bruit confirme bien l'hypothèse, émise lors de l’évaluation au niveau d’intensité 0.005, selon laquelle le modèle all-DA est plus robuste que les autres modèles.
Pour résumer, il est possible de remarquer que l'algorithme ayant été entraîné sur le jeu de données avec la data augmentation sur toutes les classes (all-DA) semble toujours relativement bien se concentrer sur l'ensemble de la chaussure. Il ne parait pas y avoir non plus de filigrane ou de biais quelconque. Cependant, plus l'image est bruitée et plus le modèle a du mal à repérer les éléments de la chaussure qui lui permettent de correctement classifier l'image, ce qui reste cohérent. Cette difficulté est confirmée par l'évaluation de la dominance, qui démontre que plus le modèle est bruité et plus il y a de risque de chevauchement des classes (trait vert de plus en plus éloigné de 1) et donc plus il y aura d'erreurs de classification possibles.
Il est à noter que l'évaluation de la dominance offerte par Saimple permet également d'obtenir le seuil exact de bruit à partir duquel le modèle ne serait plus considéré comme étant suffisamment robuste. Elle offre aussi la possibilité de savoir précisément quelles classes ont le plus de chance d'être confondues. Ainsi, avec les métriques obtenues et suivant les niveaux de satisfaction définis, il est possible de décider de changer les paramètres du modèle ou de le réentraîner en enrichissant le jeu de données. De nouvelles évaluations pourraient alors être réalisées avec Saimple afin de suivre l'évolution des performances.
Dans cette section, nous allons nous intéresser aux résultats des matrices de confusions pour l'ensemble des données de test de chaque modèle.
Dans un premier temps, ce sont les diagonales des matrices de confusion qui sont analysées et représentées sous forme de courbe. Il sera ainsi possible d'observer le taux de classification par rapport à l'évolution de l'intensité du bruit gaussien.
Dans un second temps, l'ensemble de la matrice de confusion est analysé pour visualiser quelle classe subit des changements de classification.
Le graphique, ci-dessus, montre que sur l'ensemble des données de test, le pourcentage d'images bien classées reste stationnaire jusqu'à l'intensité 0.001. Or, après 0.001, les courbes des différentes classes ont tendance à légèrement décroitre, sauf pour la classe "Sandals". Au passage de l'intensité 0.005 et à l'intensité 0.025, le pourcentage de classifications correctes pour la classe "Boots" diminue significativement contrairement aux pourcentages des autres classes, la proportion passe de 85% à moins de 50%. Seule la courbe de la classe "Sandals" reste constante, ce qui indique que le modèle est robuste uniquement pour cette classe.
Maintenant, analysons les matrices de confusion :
Les valeurs des courbes correspondent aux diagonales de ces matrices. Ces dernières indiquent que plus l'intensité du bruit augmente, plus la proportion des images bien classées diminue. Une importante diminution de la classe Boots est à noter, avec près de la moitié des images de cette classe qui se voit être classifiées comme Slippers. Une question peut alors se poser : pourquoi le modèle a tendance à confondre des images de la classe "Boots" avec des images de la classe "Slippers" ?
Répondre à cette question n'est pas aisé, mais la relevance peut permettre d'apporter des éléments d'explicabilité pour permettre de comprendre. Cependant, ce cas d'usage se concentre principalement sur la robustesse. Ainsi, seulement des hypothèses seront avancées mais leur vérification ne sera pas traitée dans ce use case.
L'hypothèse la plus probable est que plus le modèle est bruité et moins les éléments qui aident à la classification sont reconnaissables. Ainsi les caractéristiques permettant de reconnaître les bottes doivent être principalement affectées ce qui diminue grandement le score de classification. La feature qui doit être la plus résistante au bruit doit certainement être la feature de forme de chaussure. Or, les chaussures de type "slippers" sont celles qui présentent la forme la plus classique et peut être considérée comme une base de toute autre chaussure. Ainsi, des éléments permettant la classification étant perdues, l'algorithme ne doit plus correctement reconnaître les boots et donc les classifier comme étant de type "classique" de chaussures, c'est-à-dire les slippers.
Comme précédemment, une diminution significative est observée à partir de l'intensité 0.005 mais contrairement au modèle no-DA, les proportions de toutes les classes sauf pour la classe "Slippers" diminuent jusqu'à atteindre moins de 50%. En analysant ce graphique, il est clair qu'entraîner le modèle en effectuant une data augmentation sur une seule classe n'est pas recommandé.
Les matrices de confusion confirment bien que réaliser une data augmentation uniquement sur une classe ne rend pas le modèle généralement plus robuste face aux bruits, mais a tendance à orienter la classification vers la classe ayant été augmentée. En effet, la matrice de confusion de l'intensité de 0.025 indique que le modèle a tendance à classifier les images de toutes les classes en "Slippers".
Cette classification tend à confirmer l'hypothèse considérant la classe "slippers" comme une classe de base, qui présente une forme qui peut se retrouver dans toutes les chaussures. Le fait de réaliser la data augmentation uniquement sur cette classe implique en plus que les slippers vont se retrouver dans de nombreuses positions et que globalement, plus il y a de bruit et plus la chaussure deviendra une "tâche" qui se rapprochera de la forme la plus simple : les images de la classe « Slippers ». Or même si la tâche est verticale comme dans le cas des boots, il y aura également eu des images de la classe « Slippers » qui auront subi une rotation et pour lesquelles les "tâches" de boots pourront donc se rapprocher.
Le graphique, ci-dessus, montre que les pourcentages des images bien classées restent stationnaires jusqu’à 0.005. Après cela, la courbe de la classe « Slippers » augmente ce qui peut paraître très curieux comme résultats, tandis que pour les courbes des autres classes diminuent légèrement.
Les matrices de confusion, ci-dessus, indiquent une légère augmentation des images de classe « Slippers ». Mais globalement, avec le modèle entraîné avec de la data augmentation sur toutes les classes, les résultats sont nettement meilleurs d’un point de vue de l’accuracy.
Encore une fois, l’augmentation de la classe « Slippers » peut être liée à l'hypothèse de détérioration de la reconnaissance des features, pour cause de niveaux de bruits élevés.
Maintenant, étudions l'espace stable correspondant à l'étude du delta max sur l'image exemple pour visualiser la robustesse des différents modèles.
Le delta max fait référence à une valeur particulière de delta correspondant à l'amplitude de bruit pour laquelle on arrive à prouver la dominance d'un réseau classifieur.
Ce graphique montre l'évolution des valeurs de delta max en fonction de l'intensité et pour chaque modèle : no-DA, DA-Slippers et DA-all.
Pour l'image exemple, la valeur du delta max est plus élevée pour le modèle DA-all ce qui suppose que le modèle DA-all semble plus robuste que les deux autres modèles.
Il serait intéressant de poursuivre cette étude en effectuant une recherche de delta max sur l'ensemble des données de test.
Pour conclure, ce cas d'usage a permis de montrer que la data augmentation est bénéfique pour améliorer la robustesse d'un modèle.
Il ne faut pas se baser uniquement sur l'accuracy d'un modèle. Effectivement, la data augmentation a fait diminuer légèrement les scores de précision. Cependant la dominance et la relevance du modèle ont permis d'identifier que les modèles augmentés sont plus robustes et sont plus précis dans l'identification des caractéristiques importantes pour la classification. Pour améliorer les scores de précision de l'algorithme, il serait ensuite envisageable d'enrichir encore plus le jeu de données.
Cependant même si la data augmentation a été bénéfique pour le modèle, elle l'a été lorsque toutes les classes ont été augmentées. Effectivement, réaliser une data augmentation sur une seule classe a introduit un biais qui a poussé à classifier les images des autres classes comme faisant partie de la classe augmentée, puisque la forme et la position des chaussures sont certainement des features d'importance. Il faut donc chercher à réaliser la data augmentation sur toutes les classes et à avoir un nombre de données équivalent pour chaque classe.
Les résultats de l'outil Saimple ont permis de suivre la performance d'une data augmentation et son évolution au fil de différents entraînements. Elle a permis d'apporter des éléments d'explicabilité et de robustesse, en évaluant les niveaux de bruit auquel l’algorithme peut résister et en démontrant visuellement les éléments qui sont importants pour la classification d’une image. L’ajout de la fonctionnalité d’évaluation du delta max apporte de plus une information importante sur l'espace stable du modèle. En effet, cette dernière permet de déterminer l'amplitude de bruit pour laquelle il est possible de prouver la dominance d'un réseau classifieur.
Mais Saimple permet aussi d'apporter d'autres informations, telles que : des éléments concernant les classes qui peuvent être confondues, le seuil de bruit exact à partir duquel il y a des risques d’erreurs de classification, ou encore si l’algorithme a été soumis à des biais.
Globalement, ce use case permet de comprendre comment améliorer la robustesse des algorithmes de classification dans la mode. C'est notamment important pour les sites de e-commerce qui peuvent ainsi avoir des algorithmes de classification plus efficaces pour classifier les articles, et ce même si les photos des articles ne sont pas parfaites.
Si vous êtes intéressés par Saimple et que voulez en savoir plus sur le use case ou encore si vous voulez avoir accès à un environnement démo de Saimple:
contactez nous : support@numalis.com
Ecrit par Noemie Rodriguez & Baptiste Aelbrecht & Camille Jullian & Arazi Issouffou
Crédit image : Edgar Chaparro