Résumé du cours Cyber de l'IA

Comportement du modèle sur les données d'entrainement

Le sur-apprentissage - de l'importance d'un ensemble de validation

Lors de l'apprentissage le modèle apprend à bien classifier les données qu'on lui présente, les données dites d'apprentissage. Plus celles-ci sont de bonnes qualités, c'est à dire diverses et représentatives des données qu'on souhaite ensuite labelliser, plus le modèle sera performant sur ces données cibles. Savoir quand arrêter un entrainement reste un véritable enjeu:

  • un apprentissage arrêté trop tôt abouti à un modèle pas assez performant.
  • un apprentissage arrêté trop tard, va être trop spécialisé sur les données d'entrainement et performera moins bien sur les données cibles. On parle alors d'overfitting/sur-apprentissage

Pour éviter le sur-apprentissage, il est primordial d'utiliser des données de validation, elles ne sont pas utilisées pour apprendre le modèle, mais pour arrêter l'apprentissage.

L'autre problème du sur-apprentissage, c'est que le modèle se comporte alors différemment sur les données d'apprentissage pour lesquelles il est très performant que sur les données qu'il n'a jamais vu. Il devient alors facile de réaliser une attaque d'inférence d'appartenance sur un modèle sur-appris.

Les attaques d'inférence d'appartenance

L'objectif de ces attaques est de déterminer si une donnée a été utilisée à l'entrainement d'un modèle. Si elles sont souvent difficiles à réaliser par un attaquant (il faut avoir accès à la donnée), ces attaques permettent néanmoins d'évaluer une différence de comportement, une forme de mémorisation des données d'apprentissage.

Prédictions d'un modèle

Sur les données d'apprentissage un modèle va non seulement avoir de meilleurs performances (accuracy etc.). Mais il va aussi faire des prédictions avec plus de 'confiance' (façon de parler). Cela se voit avec ce que l'on appelle les 'logits'. Les logits sont le vecteur de sortie du modèle, sa taille correspond au nombre de classes analysées.

En effet à chaque image un classifieur n'associe pas directement une prédiction mais un vecteur de prédictions avec un score de 'ressemblance' par classe. Ce sont ces scores que l'on appelle les 'logits', la classe qui obtient le score le plus élevé est la classe prédite.

Fonctionnement des attaques d'inférence d'appartenance

Sur les données d'entrainement un modèle va avoir de plus grand logits, cela est particulièrement vrai pour les modèle sur-appris. De nombreuses attaques d'inférence d'appartenance analysent les valeurs des logits (en particulier les valeurs maximales) pour déduire si la données a été utilisée à l'apprentissage. L'une des plus célèbres de ces attaques est LIRA https://ieeexplore.ieee.org/document/9833649

Model shadow datasets
Fig 1 : Division des données d'intéret pour apprendre les modèles shadow

Comment mettre au point une attaque d'inférence d'appartenance

Dans un premier temps les valeurs les plus élevées des logits nous donnent beaucoup d'informations. Mais une combinaison de ces valeurs peut nous donner bien plus d'informations, c'est ce que nous appelons la hingeloss. Elle est égale à:

  • La valeur du logit de la vérité moins la valeur du plus grand logit, si la prédiction n'est pas correcte (sa valeur est alors négative ou nulle)
  • La valeur du logit de la vérité moins la valeur du 2ème plus grand logit, si la prédiction est correcte (sa valeur est alors positive ou nulle)
Cette valeur contient à elle seule, le fait que la prédiction soit correcte ou non, une façon de mesure la confiance du modèle dans cette prédiction. Aussi, les instances avec une hingeloss très élevée, sont souvent des instances vues à l'apprentissage.

Remarque

Il est néanmoins difficle de comparer les hingeloss entre des instances de classes différentes. Certaines classes sont en effet plus facile à classifier que d'autres. Il faudra donc mener l'analyse classe par classe. Les classes difficiles à classifier présentent des hingeloss très dispersées, il sera alors plus facile de distinguer les instances pour lesquelles le modèle se comporte particulièrement bien.

L'attaque LIRA de Carlini et al.: utilisation des modèles "shadow"

Pour avoir une idée de la signification de la hingeloss par instance, l'idée est d'apprendre de nombreux modèles que l'on maitrise, appelés "modèles shadow".
  • Ces modèles effectuent la même tâche que le modèle attaqué/évalué et en est aussi similaire que possible (on utilise toutes les connaissances que l'on a sur le modèle attaqué/évalué et sur ce qu'on ne sait pas on va tester différentes possibilités).
  • Ces modèles sont appris sur un dataset proche de celui d'intéret, de sortes que pour chaque données d'intéret la moitié des modèles shadow l'ont vu à l'apprentissage et l'autre moitié ne l'a pas vu. (voir Fig1)

Ainsi pour chaque données d'intéret on obtient deux distributions de hingeloss, une pour les modèles shadow qui l'ont vu à l'apprentissage et l'autre pour ceux qui ne l'ont pas vu.
Pour mener à bien l'attaque il s'agit d'estimer la probabilité que la hingeloss obtenue avec le modèle attaqué appartienne à l'une ou l'autre des distributions. (voir Fig2)

Pour faire ce calcul on estime les distrubtions à des gaussiennes, pour chaque donnée on a ainsi la moyenne et l'écart type de la gaussienne 'in' correspondant aux modèles l'ayant vu à l'apprentissage, et la moyenne et l'écart type de la gaussienne "out" correpsondant aux modèles shadow ne l'ayant pas vu à l'apprentissage. La figure 3 fournit un exemple d'utilisation de l'attaque

Model shadow datasets
Fig 2: Mise aux points de paramètres de l'attaque à partir du comportement models shadows pour chaque instance
Model shadow datasets
Fig 3: Exemple de l'attaque, si elle se révèle très efficace pour certaines données, pour d'autres elle est proche de l'aléatoire car les deux distributions sont trop proches