Publications

Saimple : Robustesse de la Data Augmentation

21 octobre 2021

Un réseau de neurones est-il plus robuste grâce à la data augmentation ?

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.

1. Définitions

  • La robustesse définit le degré d'un système à maintenir un comportement correct malgré la présence de perturbations.
  • Une preuve de dominance d'une classe correspond au fait que sur l'espace considéré la réponse du réseau de neurones sur cette classe est strictement supérieure aux réponses de toutes les autres classes.
  • Le delta max correspond au plus grand rayon de l'hyper-boule de norme N sur laquelle il est possible de prouver la dominance. Dans le cas exact, le delta max correspond à la distance à la norme N de l'exemple adversaire le plus proche.
  • Une hyper-boule de rayon d à la norme N, correspond à un volume de dimension d, comprenant l'ensemble des points se situant à une distance inférieure ou égale à d de la norme N du centre de l'hyper-boule.
  • Plus l'hyper-boule est "grande", plus elle contient de points. Si un des points compris dans cette hyper-boule est un exemple adversaire, alors il n'est plus possible de prouver de dominance. Donc, le delta max correspond à la plus grande hyper-boule qui englobe seulement les points d'une même classe.
  • Plus le delta max est grand, plus le réseau est robuste dans la région considérée.
  • Loss : fonction de perte qui représente l’écart entre les prédictions réalisées par le réseau de neurones et les valeurs réelles des observations. Plus elle est proche de 0 mieux c’est.
  • Accuracy : pourcentage de réussite des prédictions, c’est-à-dire que la prédiction correspond bien à la valeur réelle.

2. Présentation du Use case

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.

3. Expérimentations :

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.

3.1 Radar de dominance à delta 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.

3.2 Radar de dominance au delta max

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".

3.3 Radar de dominance au delta max pour des évaluations en particulier

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.

4. Conclusion

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

Annexes

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