Saimple nous permet de mesurer la robustesse d'un réseau de neurones grâce à un critère nommé delta max. Le delta max correspond au delta à partir duquel on ne peut plus garantir la dominance. Ce delta, dans le cas d’un classifieur par exemple, agit sur le niveau de perturbations ajouté à l'image d'entrée. Plus la valeur du delta est élevée plus il y a de perturbations.
Dans ce use case nous utilisons un classifieur (cf. architecture en annexes) entraîné sur le dataset SignLanguageDigits.
On considère le modèle nommé "Original" étant le réseau de neurones entraîné sur le dataset non augmenté. Le modèle nommé "Augmented" est le réseau de neurones entraîné sur le dataset augmenté, dont la luminosité des images a été modifiée.
Le dataset est composé de 10 classes. Chacune de ces classes représente la valeur d'un chiffre (allant de 0 à 9) dans le langage des signes. Ainsi, le signe 0 sera représenté par la classe de sortie 0 et ainsi de suite.
Pour faire intervenir la data augmentation, nous avons multiplié par 3 la taille du dataset en faisant varier la luminosité des images d’entraînements. Cependant, les images de validation et de test n'ont pas été modifiées.
Exemple d'images original et après augmentation
Le but de cette étude est de vérifier si un modèle, dont les valeurs d'accuracy et de loss sont meilleures, est plus robuste. Les deux modèles ci-dessous ayant une accuracy proche, il est difficile de distinguer quel est le meilleur en se basant uniquement sur cette donnée.
Modèles |
Loss |
Accuracy |
Original |
0.1200 |
0.9878 |
Augmented |
0.0704 |
0.999 |
On observe moins de pertes sur le modèle ayant un data set augmenté. L'accuracy du modèle augmenté est meilleure mais elle reste proche du modèle original.
Pour réaliser nos expériences nous avons pris un échantillon de 10 images (chacune représentant une classe).
Illustration des 10 classes de référence
Pour illustrer le comportement des modèles, nous utilisons un radar dont les données sont issues des résultats de dominance des évaluations réalisées par Saimple.
Une courbe est composée de 10 points (10 points, car 10 classes de sorties). Un point correspond au score de classification d'une classe. La classe dont le score est le plus élevé, sera la classe sélectionnée par le modèle.
Dans un souci de visualisation simplifiée, le score de classification affiché sur le radar correspond à la valeur maximale que peut répondre le réseau de neurones dans l'espace des entrées considérées. Les couleurs des courbes sont choisies aléatoirement d'un radar à un autre.
Le centre du radar correspond à la valeur 0 et sa périphérie la valeur 1.
Deux exemples d'évaluations avec une image représentant un signe 3
Dans le pire des cas, aucune classe n’est dominante, elles sont toutes en conflits. Dans le meilleur des cas, la classe 3 est dominante avec un score de 1 et les 9 autres ont un score de 0.
La première expérience réalisée à l’aide de Saimple compare les scores de nos 2 modèles avec un delta égal à 0 (un delta 0 correspond à faire évaluation concrète, i.e. sans bruit).
À gauche le radar de dominance avec le modèle "Original". A droite le radar de dominance avec le modèle "Augmented". Ces 2 radars de dominance contiennent 10 évaluations. Chacune effectuée sur une des 10 images de référence.
Original Augmented
Note : Chaque courbe est issue d'un résultat de dominance d'une évaluation avec un modèle et de l'une des 10 images présentées précédemment.
Le modèle de gauche est moins précis. Les courbes sont moins proche de la périphérie et plus proches du centre. Alors que le modèle de droite illustre des dominances qui sont bien démarquées pour chacun des chiffres. On peut donc comprendre grâce à l’analyse effectuée avec Saimple que ce dernier modèle est bien plus performant.
La seconde expérience consistait à chercher le delta max pour chacune des 10 images de référence sur les 2 modèles.
Ci-dessous, les scores de nos 2 modèles avec leur delta max respectif sur les 10 images de référence.
Original Augmented
Note : Chaque courbe est issue d'un résultat de dominance d'une évaluation avec un modèle et de l'une des 10 images présentées plus tôt.
Graphe des deltas max par classes et par modèles :
Rappel : Plus la valeur du delta max est élevée plus le modèle est robuste
On remarque grâce à l’évaluation que les valeurs des deltas max du modèle "Augmented" sont toujours supérieures à celles du modèle "Original". Ainsi le modèle a été rendu plus robuste par la data augmentation.
En faisant la moyenne des ratios des deltas max sur 10 évaluations entre les deux modèles, on remarque que le delta max du modèle "Augmented" est 2 fois plus grand que celui du modèle "Original".
Avec Saimple, le delta max est obtenu par recherche dichotomique. Pour cet échantillon de 10 images, la recherche a été orientée dans l'intervalle [0.00001: 0.001]. Chaque radar de dominance ci-dessous correspond à une évaluation individuelle pour un chiffre au delta max pour un modèle et une image.
Ci-dessus, un exemple pour lequel la data augmentation n’a pas beaucoup changé les scores de classification
Dans cet exemple, la data augmentation a beaucoup amélioré le delta max. La classe 2 est bien plus dominante.
Enfin, dans cet exemple la data augmentation a diminué le score de la classe 3 mais celui du 4 a augmenté.
Grâce à Saimple nous pouvons donc clairement identifier les impacts de la data augmentation sur les datasets et visualiser en quoi cette dernière influe sur les performances du modèle. Même si les performances générales sont améliorées, il peut y avoir des éléments pour lesquels rien n’a changé, ou au contraire certains pour lesquels les performances peuvent se détériorer, comme démontré ci-dessus.
Cependant, dans la plupart des radars avec le modèle "Augmented", les courbes sont plus tendues vers la classe de référence. Ce qui implique donc que la robustesse globale a été améliorée.
Le ratio de delta max nous donne une bonne idée de la différence de robustesse entre les 2 modèles. Le delta max du modèle "Augmented" est en moyenne 2 fois plus grand que le modèle "Original". Les radars de dominance nous permettent aussi de mieux visualiser le comportement du modèle face à leur delta max. Saimple nous permet donc de vérifier sur un échantillon d'images que le modèle "Augmented" est plus robuste, tout en montrant l’impact de la data augmentation sur le modèle.
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
Si vous voulez mener les expérimentations par vous même, trouvez toutes les informations nécessaires dans notre Github : https://github.com/Numalis/data_augmentation
Crédit image : Pietro Jeng