Les fonctions d'influence sont une méthode issue de la statistique robuste, adaptée à l'apprentissage automatique pour quantifier l'effet de chaque exemple d'entraînement sur les prédictions d'un modèle. Étant donné un modèle entraîné et un point de test spécifique, une fonction d'influence calcule un score numérique indiquant à quel point la prédiction du modèle pour ce point de test changerait si un exemple d'entraînement particulier était supprimé ou surpondéré. Cela fournit un moyen fondé d'attribuer le comportement du modèle aux données d'entraînement, soutenant des tâches telles que l'identification de données mal étiquetées, la détection de biais dans les ensembles de données et l'explication des prédictions.
Le concept trouve son origine dans la statistique classique, où les fonctions d'influence ont été développées pour mesurer la sensibilité des estimateurs aux perturbations de la distribution des données. Dans le contexte du Machine learning moderne, les fonctions d'influence offrent une approximation efficace sur le plan computationnel du réentraînement par exclusion d'un point (leave-one-out), qui serait autrement prohibitif pour les grands modèles. En utilisant l'inverse de la hessienne de la perte d'entraînement, les fonctions d'influence peuvent estimer l'effet de changements infinitésimaux dans le poids d'un point d'entraînement sans réentraîner le modèle.
Formulation mathématique
Dans la formulation standard, considérons un modèle paramétré par θ, entraîné en minimisant une perte empirique sur n points d'entraînement : θ̂ = argmin_θ (1/n) Σ L(z_i, θ), où L est une fonction de perte et z_i est le i-ème exemple d'entraînement. L'influence de la surpondération d'un point d'entraînement z_i par une petite quantité ε est donnée par la dérivée des paramètres optimaux par rapport à ε : dθ̂/dε = -H^{-1} ∇_θ L(z_i, θ̂), où H est la hessienne de la perte moyenne à θ̂. L'influence de z_i sur la perte au point de test z_test est ensuite calculée comme ∇_θ L(z_test, θ̂)ᵀ dθ̂/dε.
Cette formule suppose que la perte est deux fois différentiable et que la hessienne est inversible, ce qui peut ne pas être le cas pour des modèles non lisses comme les Neural network avec des activations ReLU. En pratique, des approximations sont utilisées, comme une hessienne amortie ou des estimations stochastiques. La méthode a été popularisée dans la communauté de l'apprentissage automatique par un article de 2017 de Pang Wei Koh et Percy Liang, qui ont démontré son utilité pour le débogage des données et l'interprétation des modèles.
Applications au débogage des données
L'une des applications principales des fonctions d'influence est l'identification d'exemples d'entraînement ayant un impact disproportionné ou négatif sur la performance du modèle. Par exemple, si un modèle classifie mal un point de test, les fonctions d'influence peuvent classer les exemples d'entraînement selon leur contribution à cette mauvaise classification. Les exemples les mieux classés sont souvent des points mal étiquetés ou bruités. En supprimant ou en corrigeant ces points influents, les praticiens peuvent améliorer la précision du modèle avec une inspection manuelle minimale.
Les expériences de Koh et Liang ont montré que les fonctions d'influence pouvaient identifier des étiquettes corrompues dans des ensembles de données comme MNIST et CIFAR-10, atteignant une précision supérieure à celle de l'échantillonnage aléatoire ou des heuristiques basées sur les gradients. Cette approche a été étendue aux Large language model, où les données d'entraînement sont massives et souvent bruitées, rendant la revue manuelle infaisable. Les fonctions d'influence aident à prioriser les points de données à inspecter, réduisant le coût de la curation des données.
Interprétation des modèles et équité
Au-delà du débogage, les fonctions d'influence servent d'outil pour l'interprétation des modèles. Pour une prédiction donnée, elles fournissent une liste d'exemples d'entraînement ayant le plus fortement influencé la sortie. Cela peut aider les utilisateurs à comprendre pourquoi un modèle a pris une décision particulière, ce qui est précieux dans des domaines à enjeux élevés comme la santé ou la finance. Par exemple, dans un modèle de diagnostic médical, les fonctions d'influence peuvent mettre en évidence les dossiers de patients les plus pertinents ayant conduit à une prédiction, aidant les cliniciens à vérifier le raisonnement.
Dans le contexte de l'équité, les fonctions d'influence peuvent révéler si certains groupes d'exemples d'entraînement affectent de manière disproportionnée les prédictions pour des attributs protégés. En analysant l'influence de sous-groupes démographiques, les praticiens peuvent détecter des biais dans les données d'entraînement et ajuster le modèle en conséquence. Cela s'aligne avec les efforts plus larges en Artificial intelligence pour garantir la responsabilité et la transparence.
Défis computationnels
Le principal obstacle à l'utilisation des fonctions d'influence en pratique est le calcul de l'inverse de la hessienne, qui est O(d²) en mémoire et O(d³) en temps pour un modèle avec d paramètres. Pour les modèles d'apprentissage profond modernes avec des millions ou des milliards de paramètres, cela est intraitable. Les chercheurs ont développé des approximations, comme l'utilisation de la méthode du gradient conjugué pour résoudre H^{-1}v sans former explicitement l'inverse, ou des estimations stochastiques avec des mini-lots. De plus, la hessienne elle-même peut être mal conditionnée, nécessitant un amortissement ou une régularisation.
Un autre défi est que les fonctions d'influence supposent que le modèle est à un minimum local de la perte, ce qui est rarement vrai pour des modèles non convexes entraînés avec une descente de gradient stochastique. Des travaux récents ont exploré des formulations alternatives, comme l'utilisation de la matrice d'information de Fisher ou des fonctions d'influence basées uniquement sur la dernière couche, pour améliorer la stabilité. Malgré ces défis, les fonctions d'influence restent une approche théoriquement fondée qui a inspiré de nombreuses méthodes ultérieures.
Extensions et variantes
Plusieurs extensions ont été proposées pour adapter les fonctions d'influence à différents contextes. Par exemple, dans l'apprentissage par transfert, les fonctions d'influence peuvent estimer l'effet des données d'entraînement sur une tâche cible lorsque le modèle est affiné à partir d'un point de contrôle pré-entraîné. Cela est particulièrement pertinent pour les modèles de Deep learning souvent initialisés avec des poids pré-entraînés. Une autre variante, appelée « fonctions d'influence pour le clustering », applique le concept à l'apprentissage non supervisé.
Pour les modèles séquentiels comme les Transformer (architecture), les fonctions d'influence ont été adaptées pour gérer des entrées de longueur variable et des mécanismes d'attention. Certains travaux utilisent les fonctions d'influence pour expliquer les prédictions en traitement du langage naturel, attribuant les sorties à des phrases d'entraînement spécifiques. Cependant, le coût computationnel reste élevé, et de nombreux praticiens recourent à des heuristiques plus simples comme la similarité de gradient ou les points de représentation.
Relation avec d'autres méthodes d'attribution
Les fonctions d'influence sont l'une des plusieurs techniques d'attribution des données d'entraînement. D'autres incluent le réentraînement par exclusion d'un point, qui est exact mais infaisable pour de grands ensembles de données, et les valeurs de Shapley, qui fournissent un cadre théorique des jeux pour une attribution équitable. Les fonctions d'influence offrent un juste milieu : elles sont plus évolutives que le réentraînement par exclusion mais moins robustes théoriquement que les valeurs de Shapley. En pratique, les fonctions d'influence sont souvent utilisées comme une approximation rapide des valeurs de Shapley, surtout lorsque le nombre de points d'entraînement est grand.
Comparées aux méthodes basées sur les gradients qui mesurent la similarité entre les gradients d'entraînement et de test, les fonctions d'influence tiennent compte de la courbure du paysage de perte, les rendant plus précises dans de nombreux cas. Cependant, elles sont sensibles au choix de la fonction de perte et à la qualité de l'approximation de la hessienne. Des recherches récentes ont également exploré l'utilisation des fonctions d'influence en conjonction avec le Data Augmentation pour comprendre comment les points de données augmentés affectent le comportement du modèle.
Implémentations pratiques
Plusieurs bibliothèques open-source ont implémenté les fonctions d'influence, comme le paquet « influence » de Koh et Liang, qui prend en charge la régression logistique et les petits réseaux neuronaux. Pour les modèles plus grands, les chercheurs ont développé des versions évolutives utilisant le calcul distribué. Par exemple, un article de 2020 de Guo et al. a proposé une méthode pour calculer les fonctions d'influence pour les modèles d'apprentissage profond en utilisant des approximations de rang faible de la hessienne, permettant des applications à des modèles avec des millions de paramètres.
Dans l'industrie, les fonctions d'influence sont utilisées par des équipes travaillant sur le Generative AI et les Large language model pour déboguer les données d'entraînement et améliorer l'alignement des modèles. Par exemple, OpenAI et Anthropic ont publié des recherches sur l'attribution des données, bien qu'ils utilisent souvent des méthodes propriétaires. La technique est également pertinente pour Google DeepMind et d'autres laboratoires axés sur l'interprétabilité.
Limites et directions futures
La principale limite des fonctions d'influence est leur dépendance à l'approximation quadratique locale de la perte. Pour des modèles hautement non linéaires, cette approximation peut être inexacte, conduisant à des scores d'influence trompeurs. De plus, la méthode suppose que la perte d'entraînement est lisse et convexe, ce qui n'est pas vrai pour les réseaux profonds. Les chercheurs explorent des moyens de rendre les fonctions d'influence plus robustes, comme l'utilisation d'estimations stochastiques ou leur intégration avec le Curriculum Learning pour identifier les points de données importants tôt dans l'entraînement.
Une autre direction est de combiner les fonctions d'influence avec le Model Pruning pour identifier quels exemples d'entraînement sont les plus responsables de la capacité du modèle. Cela pourrait conduire à un entraînement plus efficace en se concentrant sur les données à haute influence. Alors que les modèles continuent de croître en échelle, le besoin de méthodes d'attribution évolutives devient plus pressant, et les fonctions d'influence restent un concept fondamental dans ce domaine.
Conclusion
Les fonctions d'influence fournissent un cadre rigoureux pour comprendre comment les données d'entraînement façonnent les prédictions des modèles. Elles se sont révélées utiles pour le débogage des données, l'interprétation des modèles et l'analyse de l'équité, malgré des obstacles computationnels. Alors que les modèles d'apprentissage automatique deviennent plus complexes et axés sur les données, les fonctions d'influence resteront probablement un outil important pour garantir leur fiabilité et leur transparence. Les recherches futures se concentreront sur l'amélioration de leur évolutivité et de leur précision, les rendant applicables aux plus grands modèles utilisés aujourd'hui.