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

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 à:

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.