Comprendre le désapprentissage machine : anatomie du poisson rouge

Rédigé par Alexis Léautier

 - 

26 mai 2023


Alors que les risques que font porter les modèles d’IA sur les données d’entraînement font encore l’objet d’études, et qu’il semble difficile de déterminer si les paramètres d’un modèle constituent des données à caractère personnel, certains chercheurs prennent le pari d’un renforcement de la législation sur ces objets et développent des solutions innovantes pour répondre à des obligations encore à venir.

Le désapprentissage machine fait partie de ces solutions. Cette technique pouvant être mise en œuvre par une diversité de protocoles fait l’objet d’un nombre important de publications qui ont attiré l’attention du LINC.

A l’aune du succès obtenu par des équipes académiques dans leur tentative de déduire des informations à propos de personnes présentes dans une base de données ayant servi à entrainer un modèle d’IA, une problématique nouvelle, le machine unlearning, littéralement « désapprentissage machine », est apparue. Comme décrit dans l’article Petite taxonomie des attaques des systèmes d’IA, ces équipes académiques ont réussi à prouver d’une part qu’il était possible de déduire que les données d’une personne ont été utilisées pour l’entraînement d’un algorithme (comme Homer et al., 2008 qui ont démontré qu’un génome particulier était présent dans une base), mais également qu’il était possible de reconstruire certaines données de l’ensemble d’entraînement (à l’instar de Fredrikson et al., 2015 qui sont parvenus à reconstituer une version dégradée du visage d’une personne depuis un algorithme entraîné sur une base beaucoup plus large).

En réponse à ces nouveaux risques, le désapprentissage machine permettrait de modifier l’algorithme entraîné de telle sorte à lui faire « oublier » les informations apprises concernant les individus présents dans la base d’entraînement. Toutefois, cette nouvelle problématique doit tenir compte de certains enjeux comme ceux de la performance de l’algorithme ou des coûts relatifs à sa mise en œuvre. Plus largement, nous verrons que l’efficacité de cette approche reste questionnable en raison de la difficulté à prouver son efficacité et des risques supplémentaires qu’elle fait peser sur la protection des données.

Comment désapprendre ?

En 2015, Cao et al. soulèvent le risque sur la vie privée que font peser les modèles d’IA et propose une approche novatrice pour y répondre, le terme de désapprentissage machine est né. Suite à cette première, de nombreuses études ont suivi, proposant une grande diversité de réponses à la question de comment désapprendre, alors que la définition du désapprentissage lui-même manque encore de clarté.

 

Désapprentissage : une définition floue

Par désapprentissage, sont visées les techniques permettant à un algorithme d’oublier certaines informations. Si les algorithmes concernés sont relativement bien identifiés – il s’agit principalement des algorithmes ayant recours à l’apprentissage machine, et dont la complexité rend la tâche de désapprentissage trop difficile pour qu’elle soit effectuée manuellement – les informations concernées, elles, sont encore mal définies.

En effet, à l’origine de cette initiative, l’objectif identifié dans Cao et al. était de prémunir un système contre un empoisonnement d’une partie des données d’entraînement. La réponse apportée visait ainsi à faire oublier à l’algorithme la contribution d’un sous-ensemble des données d’entraînement. Cet objectif a par la suite été complété par l’idée introduite par Gupta et al., que lorsque les données empoisonnées sont mal identifiées, on peut souhaiter en oublier la contribution petit à petit, c’est la technique de désapprentissage par flux.

Après cette première initiative, d’autres ont suivi, dont les objectifs varient. En soulevant que l’exercice des droits d’opposition et du droit à l’effacement des données, introduits par le RGPD, pourrait nécessiter le réentraînement d’un modèle, certains chercheurs ont introduit l’idée qu’il pouvait suffire de faire oublier au système la contribution de quelques points bien identifiés correspondant à une personne particulière. 

Enfin, d’autres approches ont été proposées afin de répondre à des situations bien spécifiques, tel que recensé par Nguyen et al., 2022 :

  • Le désapprentissage de certaines caractéristiques, tel que l’âge ou un diagnostic médical comme proposé par Warnecke et al., lorsque le modèle a été entraîné sur ces données mais que l’on souhaite que le modèle les oublie afin d’éviter de révéler ces informations à propos des personnes concernées.
  • Le désapprentissage de certaines classes pour les algorithmes de classification, illustré par les travaux de Tarun et al. sur des algorithmes de classification d’images et notamment de reconnaissance faciale, où chaque classe correspond à une personne : lorsqu’une personne doit être retirée du système, désapprendre son visage peut-être une solution.
  • Le désapprentissage de certaines tâches, dans des situations spécifiques tel que celle décrite par Liu et al. d’un robot médical ayant appris à effectuer certains soins propres à un patient, et qu’il devrait en partie désapprendre lors de la guérison du patient.

La grande diversité de ces objectifs montre l’ampleur de la tâche que constitue le désapprentissage, et donne un aperçu de l’éventail des solutions proposées dans la littérature.

representation_pixels_decisifs_pour_la_reconnaissance_dune_chaise.png

Figure 1 : Représentation des pixels ayant été décisifs pour reconnaître une chaise, une table, et une lampe dans une image. Dans un réseau de neurones, les neurones activés par ces pixels sont ceux à considérer pour désapprendre la reconnaissance de ces objets. (source)

 

L’approche « naïve » : le désapprentissage exact

En formulant le problème selon l’énoncé suivant : « comment obtenir un modèle d’IA réalisant la même tâche que le système existant mais à l’entraînement duquel certaines données n’auraient pas contribué ? », la solution triviale semble être de ré-entraîner le modèle d’IA sur un ensemble de données privé des données concernées.

Si cette approche offre une réponse indéniable au problème – et ainsi, un exemple de l’objectif à atteindre pouvant être utilisé pour comparer d’autres approches – ses coûts temporel, logistique et financier représentent un inconvénient majeur. En effet, l’entraînement de modèles d’apprentissage profond en particulier nécessite de nombreuses itérations d’apprentissage requérant entre quelques minutes et quelques heures pour les modèles les plus légers, mais pouvant atteindre un nombre d’heures de calcul faramineux, comme dans le cas du modèle de langage de grande taille BLOOM, résultat du projet BigScience, dont l’équipe s’était entretenue avec le LINC dans une publication de novembre 2022, pour lequel 5 millions d’heures de calcul ont été nécessaires comme précisé dans cet article du Monde. Ces nombreuses heures de calcul impliquent bien sûr un coût financier, dû notamment au fonctionnement des centres de données gourmands en énergie. Elles peuvent avoir un impact sur les activités d’une entreprise ou d’une administration en raison des retards causés par l’apprentissage lui-même, mais également en raison de l’attente nécessaire pour accéder aux serveurs de calcul. Dans le cas de BigScience, le supercalculateur Jean-Zay utilisé n’est mis à disposition que pour certains projets triés sur le volet. Enfin, le coût écologique de ces calculs n’est pas à négliger : bien que l’énergie d’approvisionnement du supercalculateur français soit principalement issue de la production nucléaire, l’impact environnemental de l’entraînement est comparable à celui d’un vol transatlantique.

Pour toutes ces raisons, de nouvelles approches ont vu le jour dans la recherche académique.

Le désapprentissage approximatif

Afin de faire désapprendre une information à un modèle entraîné, plusieurs approches peuvent être distinguées : par modification des données, du protocole d’apprentissage, ou encore du modèle lui-même. Ces approches regroupent chacune une grande variété de méthodes, chacune possédant ses avantages et inconvénients. Plutôt qu’une cartographie fastidieuse de ces critères, cette section donne à voir une sélection de quelques méthodes proposées dans la littérature scientifique afin d’en dessiner les traits principaux.

Par modification des données d’entraînement

Plutôt que de retirer les données ayant à être oubliées de l’ensemble, certaines approches cherchent à oublier (ou à prévenir) la contribution des données en jouant sur leur rôle lors de l’apprentissage.

Un premier exemple est celui de Huang et al., 2021, qui introduit une perturbation (un « bruit ») savamment conçue et imperceptible pour un observateur, afin de rendre inexploitables les données dont on veut empêcher toute contribution lors de l’entraînement de réseaux de neurones. Le bruit est choisi de telle sorte à minimiser l’erreur de prédiction lors de l’apprentissage, ce qui conduit le modèle à ne rien apprendre des données en question : leur contribution est donc absente du modèle entraîné. Un projet similaire est celui de Shan et al., 2023, qui introduit une perturbation imperceptible sur des images d’œuvres d’art afin de rendre impossible l’apprentissage du style de l’artiste. Grâce à cette solution appelée Glaze, les auteurs entendent rendre plus difficile la reproduction du style d’un artiste par une IA générative, ce qui peut constituer une violation du droit d’auteur.

Un second exemple fournit par Tarun et al., 2022, utilise le raisonnement inverse : il cherche à maximiser l’erreur de prédiction sur les données à oublier lors d’une phase de spécialisation, ou fine-tuning[1], du modèle. Lors de cette phase, le modèle ayant appris les caractéristiques des données à oublier en vient à désapprendre ces caractéristiques car elles lui apparaissent comme du bruit inexploitable en raison de l’erreur introduite artificiellement. Toutefois, cette approche fonctionne davantage pour désapprendre une classe que pour une donnée en particulier car le modèle en vient à oublier une caractéristique statistique qu’il avait apprise.

Ces deux approches possèdent l’inconvénient de ne pas fournir de garanties formelles sur l’effectivité du désapprentissage, de plus, elles nécessitent de réaliser un traitement additionnel des données à oublier lors du désapprentissage comme détaillé dans la partie 3.

Par modification du protocole d’apprentissage

Certains procédés de désapprentissage reposent sur une modification apportée au procédé d’apprentissage venant faciliter le désapprentissage le moment venu. Cette approche par anticipation repose généralement sur l’utilisation de « points de sauvegarde » auxquels se référer pour éviter d’entraîner complètement le modèle à nouveau.

L’approche proposée par Bourtoule et al., 2021, par exemple, repose sur le partitionnement des données d’entraînement en plusieurs sous-ensembles sur lesquels le modèle est entraîné successivement. Des informations sont sauvegardées entre chacune de ces étapes afin de pouvoir reprendre l’entraînement uniquement sur les sous-ensembles de données dans lesquels les données à oublier figuraient. Le modèle est ainsi réentraîné sur ces sous-ensembles après avoir retiré les données en question.

Cao et al., 2015, proposent, quant à eux, d’ajouter une étape lors de l’apprentissage pour ne plus entraîner le modèle sur les données brutes, mais plutôt sur des agrégats statistiques. Dans ce cas, une première étape consiste ainsi à agréger les données sources par des calculs statistiques, puis d’entraîner l’algorithme sur les résultats de ces calculs. Puisqu’ils sont en faible nombre, l’entraînement du modèle sur les agrégats est suffisamment rapide pour autoriser un apprentissage complet. On procède ainsi à un ré-apprentissage complet sur des agrégats calculés à partir de l’ensemble de données privé des données à oublier. Cette approche présente l’avantage de garantir le désapprentissage, toutefois, elle n’est pas généralisable aux modèles les plus complexes (comme les réseaux de neurones) en raison du nombre très important d’agrégats statistiques nécessaires pour ceux-ci.

Par modification du modèle entraîné

Plutôt que de procéder à un réentraînement du modèle, certaines publications se concentrent sur l’information apprise par le modèle à propos des données à oublier. Plusieurs protocoles sont alors proposés pour effacer cette information.

Dans Chundawat et al., 2022, le modèle entraîné sur l’ensemble complet de données est utilisé comme « instructeur compétent » pour un autre modèle « étudiant » afin de lui transmettre les informations que l’on souhaite conserver, alors qu’un autre modèle, appelé « instructeur incompétent » assurera de la mauvaise performance de l’étudiant sur les données à oublier. Le protocole consiste ainsi à reproduire les prédictions de l’instructeur compétent sur toutes les données, exceptées celles à oublier sur lesquelles l’instructeur incompétent prendra la main.

Dans Golatkar et al., 2020, les paramètres du modèle entraîné sur l’ensemble de données complet sont modifiés de manière ciblée afin de réduire l’influence des données à oublier sur le modèle. La modification apportée est un filtre de bruit choisi de telle sorte à cibler les paramètres les plus influencés par les données à oublier, en impactant aussi peu que possible la performance globale du système. L’avantage de cette approche est qu’elle permet non seulement de rendre le modèle incompétent sur les données à oublier, mais également de prévenir tout risque d’attaque par inférence, puisque les informations apprises par le modèle sur les données à oublier auront été altérées lors du procédé.


Article rédigé par Alexis Léautier , Ingénieur Expert