De nos jours, il devient de plus en plus essentiel d'expliquer pourquoi un classificateur classe une instance d'entrée donnée comme classification de sortie, car l'intelligence artificielle (IA) continue d'évoluer rapidement et de s'infiltrer dans divers aspects de la vie quotidienne, tandis que les systèmes d'IA utilisés aujourd'hui manquent souvent de transparence. L'approche symbolique de l'IA explicable (XAI) montre donc son importance, puisque les symboles et les règles qu'elle utilise sont intrinsèquement compréhensibles pour les humains.
XAI et outils logiques
Dans cette thèse, j'étudie la XAI avec différents outils logiques, y compris les logiques modales, les logiques épistémiques, les logiques conditionnelles et les logiques modales de produit. Deux cadres logiques sont présentés pour modéliser les systèmes de classification. Le premier est appelé logique de classificateur à entrée binaire (BLC). Il modélise un classificateur à entrée binaire comme une partition d'un modèle de Kripke S5. En adoptant le point de vue de cette logique modale, de nombreuses notions d'explications pour les classificateurs booléens sont exprimables plutôt que définies dans un méta-langage, notamment l'explication abductive, l'explication contrastive, l'explication contrefactuelle et le biais de décision. La seconde est appelée logique modale de produit pour les classificateurs (PLC) afin de représenter les classificateurs de boîte noire. L'idée clé est que la boîte noire est liée à l'incertitude d'un agent quant à savoir lequel est le vrai parmi de nombreux classificateurs possibles. Nous devons donc modéliser un classificateur de boîte noire comme un ensemble de classificateurs qui sont tous compatibles avec la connaissance de la boîte noire par l'agent. Il en résulte une logique modale avec deux dimensions pour les instances et les classificateurs respectivement. Par conséquent, les notions d'explication susmentionnées ont leurs correspondances subjectives naturelles. Outre les cadres logiques eux-mêmes, d'autres questions connexes sont abordées dans la thèse. BCL fournit une nouvelle représentation du raisonnement basé sur les cas juridiques, de telle sorte qu'une base de cas est considérée comme un classificateur partiel. De cette manière, les notions d'explication dans XAI peuvent être appliquées au raisonnement basé sur les cas.
Relation avec le raisonnement contrefactuel et la distance de Hamming
L'explication par classificateur a une relation étroite avec le raisonnement contrefactuel. La distance de Hamming est une mesure largement utilisée dans le raisonnement contrefactuel. Dans BCL, un conditionnel contrefactuel est proposé pour l'explication du classificateur, et la mesure qu'il utilise est la distance de Hamming, une mesure de distance largement utilisée dans l'IA symbolique. La thèse démontre qu'avec un langage basique des contrefactuels et des propositions atomiques infinies, toute mesure de distance pour les classificateurs peut être réinterprétée comme une distance de Hamming via des variables cachées, sans perte de validité.
Réseaux siamois et apprentissage de similarité
Les réseaux siamois sont une classe d’architectures de réseaux neuronaux artificiels qui contiennent deux ou plusieurs sous-réseaux identiques. Ces sous-réseaux partagent exactement les mêmes paramètres (poids et biais). L’idée fondamentale est de traiter deux entrées distinctes simultanément à travers ces sous-réseaux identiques pour les projeter dans un espace de caractéristiques commun, puis de comparer ces projections pour déterminer la similarité ou la dissimilarité entre les entrées originales.
Concepts fondamentaux
Le principe central des réseaux siamois est le partage des poids (weight sharing) entre les sous-réseaux jumeaux. Cela garantit que les deux entrées sont traitées exactement de la même manière et que le réseau apprend une fonction de transformation qui mappe des entrées similaires à des représentations proches dans l’espace latent (embedding space) et des entrées dissimilaires à des représentations éloignées. L’architecture typique prend une paire d’entrées (par exemple, deux images, deux textes). Chaque entrée passe par l’un des sous-réseaux identiques, générant un vecteur de caractéristiques (embedding) pour chaque entrée. Ces deux vecteurs sont ensuite transmis à une fonction de coût ou de distance (par exemple, distance Euclidienne, similarité cosinus) qui calcule un score indiquant leur degré de ressemblance. L’entraînement se fait souvent via des fonctions de perte spécifiques comme la perte contrastive (contrastive loss), qui vise à minimiser la distance entre les paires d’entrées similaires (positives) et à maximiser la distance entre les paires d’entrées dissimilaires (négatives) au-delà d’une certaine marge. Une autre approche populaire est la perte triplet (triplet loss), utilisée dans les réseaux triplets (une variation proche), qui considère trois entrées : une ancre, un exemple positif (similaire à l’ancre) et un exemple négatif (dissimilaire à l’ancre). L’objectif est de rendre la distance entre l’ancre et le positif plus petite que la distance entre l’ancre et le négatif, plus une marge.
Lire aussi: Naturalisé Français : Obtenir son Acte de Naissance
Importance et applications
L’importance majeure des réseaux siamois réside dans leur capacité à effectuer l’apprentissage de similarité (similarity learning) ou l’apprentissage métrique (metric learning). Contrairement aux réseaux de classification classiques qui apprennent à assigner une étiquette de classe à une entrée unique, les réseaux siamois apprennent une fonction de comparaison. Cela les rend particulièrement pertinents dans des scénarios où le nombre de classes est très grand, voire infini ou non connu à l’avance (problèmes dits « open-set »). Leur impact est significatif dans les domaines nécessitant la comparaison fine entre des éléments, notamment pour les tâches de vérification (est-ce la même personne/signature ?) plutôt que d’identification pure (qui est cette personne parmi N ?). Ils sont également fondamentaux pour l’apprentissage « one-shot » ou « few-shot », où le modèle doit être capable de reconnaître ou de comparer de nouvelles classes après n’avoir vu qu’un seul ou très peu d’exemples de ces classes pendant l’entraînement. Ils apprennent une représentation générale de la similarité qui peut se généraliser à des objets jamais vus auparavant.
Les réseaux siamois trouvent des applications dans de nombreux domaines. L’une des plus connues est la vérification faciale, où le système compare une image de visage candidate à une image de référence pour déterminer s’il s’agit de la même personne. De même, ils sont utilisés pour la vérification de signatures manuscrites, comparant une signature à des exemples authentiques connus. En suivi d’objets (object tracking) dans les vidéos, un réseau siamois peut apprendre à comparer l’apparence d’un objet dans une image avec des candidats dans l’image suivante pour maintenir la trajectoire. Dans le traitement du langage naturel, ils servent à la détection de paraphrases (déterminer si deux phrases ont le même sens), la similarité sémantique de documents ou la détection de plagiat. Ils peuvent aussi être employés dans les systèmes de recommandation pour comparer les profils d’utilisateurs ou les caractéristiques d’articles. En bio-informatique et imagerie médicale, ils peuvent comparer des structures biologiques ou des images médicales pour détecter des anomalies ou évaluer des similarités.
Nuances et variations
Bien que la définition stricte implique des sous-réseaux parfaitement identiques partageant tous les poids, le terme est parfois utilisé de manière plus large pour désigner des architectures « pseudo-siamoises » où les sous-réseaux peuvent avoir des structures légèrement différentes ou ne partager qu’une partie des poids, bien que cela s’écarte du concept original. La variation la plus courante et étroitement liée est le réseau triplet (Triplet Network), qui utilise trois sous-réseaux identiques (ou plutôt, le même sous-réseau appliqué trois fois) et une fonction de perte triplet. Cette approche est souvent plus performante car elle exploite une information relative (A est plus proche de P que de N). D’autres variations comme les réseaux quadruplets existent également.
La nature des sous-réseaux jumeaux dépend du type de données d’entrée : on utilisera typiquement des réseaux convolutifs (CNN) pour les images, des réseaux récurrents (RNN) ou des Transformers pour le texte ou les séquences. Le choix de la fonction de distance (Euclidienne, Manhattan, Cosinus) et de la fonction de perte (contrastive, triplet, etc.) sont des aspects importants qui influencent la performance et l’interprétation des résultats.
Concepts liés
Les réseaux siamois sont une instance spécifique de l’apprentissage métrique profond (Deep Metric Learning). Ils sont étroitement liés à l’apprentissage par contraste (Contrastive Learning), qui est la philosophie d’entraînement souvent employée. Les termes « One-Shot Learning » et « Few-Shot Learning » décrivent des régimes d’apprentissage où les réseaux siamois excellent. Les Réseaux Triplets sont une variation directe et très populaire. Le terme « Twin Networks » est parfois utilisé comme synonyme informel. Les antonymes conceptuels seraient les réseaux de classification standard (comme un CNN classique entraîné avec une perte Softmax pour la classification multi-classe), qui apprennent des frontières de décision entre un nombre fixe de classes et nécessitent généralement de nombreux exemples par classe. Les modèles génératifs (comme les GANs ou VAEs) ont également un objectif différent, axé sur la génération de nouvelles données plutôt que sur la comparaison.
Lire aussi: Rythme de sommeil en France
Historique
Le concept des réseaux siamois a été introduit au début des années 1990. Un article notable est celui de Jane Bromley et al. (1993/1994) qui les a appliqués à la vérification de signatures. Yann LeCun et ses collaborateurs ont également travaillé sur des approches similaires à la même époque pour la reconnaissance de visages et la comparaison de documents. Bien que l’idée soit relativement ancienne, les réseaux siamois ont connu un regain d’intérêt et une adoption massive avec l’avènement du deep learning et l’amélioration des capacités de calcul, qui ont permis d’entraîner des sous-réseaux beaucoup plus profonds et performants (notamment des CNNs profonds) et de les appliquer à des jeux de données à grande échelle. Les développements ultérieurs se sont concentrés sur l’amélioration des fonctions de perte (comme la perte triplet) et des stratégies d’échantillonnage des paires/triplets pour un entraînement plus efficace.
Avantages et inconvénients
Les avantages principaux des réseaux siamois incluent leur capacité à apprendre à partir de très peu d’exemples par classe (one/few-shot learning), leur robustesse à l’ajout de nouvelles classes après l’entraînement (il suffit d’une seule instance de la nouvelle classe pour effectuer des comparaisons), et leur efficacité intrinsèque pour les tâches de mesure de similarité ou de vérification. Ils sont conceptuellement élégants pour l’apprentissage métrique.
Cependant, ils présentent aussi des inconvénients et des défis. L’entraînement peut être coûteux en calcul car il nécessite le traitement de paires ou de triplets d’exemples, ce qui augmente la complexité combinatoire. Le choix de la fonction de perte, de la marge (dans les pertes contrastive et triplet) et de la métrique de distance peut être délicat et avoir un impact important sur les performances. La sélection des paires ou triplets pour l’entraînement est cruciale (par exemple, l’échantillonnage « hard negative mining ») et peut être complexe à optimiser. Enfin, la sortie du réseau est un score de similarité/distance, qui peut nécessiter un post-traitement (par exemple, définir un seuil) pour prendre une décision binaire (similaire/non similaire) et ne fournit pas directement de probabilités d’appartenance à une classe comme un classificateur standard.
Fonctions de perte en machine learning
Dans le domaine du machine learning (ML), une fonction de perte est utilisée pour évaluer la performance d'un modèle en mesurant l'écart entre ses prédictions et celles de la « vérité terrain ». Une fonction de perte est un type de fonction objective qui, dans le cadre de la science des données, désigne toute fonction dont la minimisation ou la maximisation représente l'objectif de l'entraînement du modèle. En termes simples, une fonction de perte mesure le degré d'erreur dans les résultats d'un modèle d'intelligence artificielle (IA). Elle quantifie la différence (« perte ») entre une valeur prédite (la sortie du modèle) pour une entrée donnée et la valeur réelle, ou « vérité terrain ». Si les prédictions du modèle sont exactes, la perte est faible. L'objectif fondamental du machine learning est d'entraîner les modèles à produire des prédictions fiables. Les fonctions de perte nous permettent de définir cet objectif de manière mathématique et de l'atteindre. Pendant l'entraînement, les modèles « apprennent » à améliorer leurs prédictions en ajustant leurs paramètres de façon à réduire les pertes.
Apprentissage supervisé et vérité terrain
Les fonctions de perte sont spécifiques à l'apprentissage supervisé, dont les tâches supposent l'existence d'une réponse correcte : la vérité terrain. L'apprentissage supervisé nécessite des jeux de données étiquetés, dans lesquels des annotations manuelles fournissent la vérité terrain pour chaque exemple d'entraînement. Par exemple, les modèles de segmentation d'images nécessitent des échantillons d'entraînement où chaque pixel est annoté selon sa classe correcte.
Lire aussi: Une success story à l'américaine : Pampered Chef
Optimisation et descente de gradient
Les fonctions de perte ne sont pas de simples mesures d'évaluation. Les algorithmes d'optimisation tels que la descente de gradient utilisent généralement le gradient de la fonction de perte. Le gradient est la dérivée d'une fonction avec plusieurs variables. Essentiellement, une dérivée décrit la vitesse et l'ampleur du changement de la sortie d'une fonction en tout point. Les modèles de machine learning apprennent à faire des prédictions précises en ajustant certains paramètres du modèle. Par exemple, un algorithme simple de régression linéaire modélise les données avec la fonction y = wx+b, où y représente la sortie du modèle, x l’entrée, w un poids et b un biais.
Les modèles d'apprentissage profond emploient de vastes réseaux neuronaux artificiels, composés de couches de neurones interconnectés, chacun possédant sa propre fonction d'activation non linéaire, plutôt que de s'appuyer sur une seule fonction. Pour ce faire, les réseaux neuronaux utilisent la rétropropagation afin de trouver le gradient de la fonction de perte après un passage avant qui se termine par une prédiction sur un point de données tiré du jeu de données d’entraînement. Forme abrégée de propagation de l’erreur en sens inverse, la rétropropagation désigne le processus par lequel l’erreur se propage du résultat vers les couches d’entrée du modèle.
Minimisation empirique du risque et généralisation
Bien que les modèles soient entraînés et validés en faisant des prédictions sur un jeu de données d'entraînement, obtenir de bons résultats sur des exemples d'entraînement n'est pas l'objectif ultime. S'appuyer uniquement sur la minimisation d'une fonction de perte unique est appelé « minimisation empirique du risque ». Bien qu'elle puisse sembler attrayante par sa simplicité, elle présente le risque qu'un modèle surapprenne les données d'entraînement et se généralise mal aux nouveaux ensembles de données.
Types de fonctions de perte
Il existe une grande variété de fonctions de perte, chacune adaptée à des objectifs, des types de données et des priorités spécifiques. Les fonctions de perte de régression mesurent les erreurs de prédiction impliquant des valeurs continues. Bien qu’elles soient couramment utilisées pour des modèles estimant des concepts quantifiables comme le prix, l’âge, la taille ou le temps, les fonctions de perte de régression ont des applications variées.
Le choix d'une fonction de perte parmi ces deux grandes catégories dépend de la nature du cas d'utilisation. Différentes fonctions de perte mettent l'accent sur différents types d'erreurs. Par exemple, certaines pénalisent sévèrement les valeurs aberrantes tandis que d'autres gèrent les petites variations. Les problèmes de régression, tels que la régression linéaire ou la régression polynomiale, produisent des valeurs continues en déterminant la relation entre une ou plusieurs variables indépendantes (x) et une variable dépendante (y) : pour x, prédire la valeur de y.
Erreur quadratique moyenne (MSE)
La fonction de perte de l’erreur quadratique moyenne, également appelée perte L2 ou perte quadratique, est généralement la valeur par défaut pour la plupart des algorithmes de régression. Comme son nom l’indique, la MSE est calculée comme la moyenne des différences au carré entre la valeur prédite et la valeur réelle sur l’ensemble des exemples d’entraînement. Le fait de mettre l'erreur au carré signifie que la valeur résultante est toujours positive : ainsi, la MSE évalue uniquement l'ampleur de l'erreur et non sa direction. La mise au carré de l'erreur donne également un poids disproportionné aux erreurs importantes, ce qui pénalise fortement les valeurs aberrantes et incite le modèle à les réduire.
Erreur logarithmique quadratique moyenne (MSLE)
Pour les problèmes de régression où les résultats cibles couvrent une très large gamme de valeurs potentielles, comme dans les cas de croissance exponentielle, une forte pénalisation des erreurs importantes peut être contre-productive. L’erreur logarithmique quadratique moyenne (MSLE) compense ce problème en calculant la moyenne des carrés du logarithme naturel des différences entre les valeurs prédites et les valeurs moyennes.
Erreur quadratique moyenne racine (RMSE)
L’erreur quadratique moyenne racine (RMSE) est la racine carrée de la MSE, ce qui la rapproche de la formule de l’écart-type.
Erreur absolue moyenne (MAE)
L'erreur absolue moyenne (MAE), ou perte L1, mesure la différence absolue moyenne entre la valeur prédite et la valeur réelle. Comme la MSE, la MAE est toujours positive et ne fait pas de distinction entre les estimations trop élevées ou trop basses. Comme elle ne met pas au carré chaque valeur de perte, la MAE est plus robuste aux valeurs aberrantes que la MSE. La MAE est donc idéale lorsque les données peuvent contenir des valeurs extrêmes qui ne devraient pas avoir un impact trop important sur le modèle. Cependant, la fonction de perte MAE n'est pas différentiable dans les cas où la sortie prédite correspond à la sortie réelle.
Perte de Huber
La perte de Huber, également appelée perte L1 lisse, vise à équilibrer les forces de la MAE et de la MSE. La perte de Huber offre ainsi une fonction entièrement différentiable, combinant la robustesse de la MAE face aux valeurs aberrantes et la facilité d'optimisation de la MSE par descente de gradient. Cependant, ces avantages sont compensés par la nécessité de définir soigneusement δ, ce qui ajoute de la complexité au développement du modèle.
Fonctions de perte pour la classification
Les problèmes de classification multiclasse peuvent être abordés de deux manières. La première consiste à calculer la probabilité relative qu'un point de données appartienne à chaque catégorie potentielle, puis à sélectionner la catégorie à laquelle est attribuée la probabilité la plus élevée. Cette approche est généralement employée par les réseaux neuronaux, qui utilisent une fonction d'activation softmax pour les neurones de la couche de sortie. Dans la plupart des cas, la perte de classification est calculée en termes d’entropie. L’entropie, en termes simples, est une mesure de l’incertitude dans un système. Dans l’apprentissage supervisé, les prédictions du modèle sont comparées aux classifications de la vérité terrain fournies par les étiquettes des données. Ces étiquettes de vérité terrain sont certaines et ont donc une faible entropie, voire aucune.
Entropie croisée (CEL)
La formule de la perte d’entropie croisée (CEL) est dérivée de celle de la divergence Kullback-Leibler (KL divergence), qui mesure la différence entre deux distributions de probabilité.
Entropie croisée binaire
La perte d’entropie croisée binaire, également appelée perte logarithmique, est utilisée pour la classification binaire. Les algorithmes de classification binaire produisent généralement une valeur de vraisemblance comprise entre 0 et 1. Les entrées dont les résultats sont proches de 0 sont classées comme « non spam ». Bien que l’algorithme produise des valeurs comprises entre 0 et 1, les valeurs de vérité terrain pour les prédictions correctes sont exactement « 0 » ou « 1 ». Minimiser la perte d’entropie croisée binaire implique donc de pénaliser non seulement les prédictions incorrectes, mais aussi celles qui manquent de certitude. Cela incite le modèle à apprendre des paramètres qui produisent des prédictions à la fois correctes et confiantes. Pour maintenir la convention selon laquelle des valeurs de perte plus faibles signifient moins d’erreurs, le résultat est multiplié par -1. La perte logarithmique pour un seul exemple i est calculée ainsi : (yi·log(p(yi))+(1-yi)·log(1-p(yi))), où yi est la vraie probabilité (0 ou 1) et p(yi) est la probabilité prédite.
Entropie croisée catégorielle (CCEL)
La perte d’entropie croisée catégorielle (CCEL) applique ce même principe à la classification multiclasse. Un modèle de classification multiclasse produit généralement une valeur pour chaque classe potentielle, représentant la probabilité qu’une entrée appartienne à chaque catégorie respective. Dans l'apprentissage profond, les classificateurs de réseaux neuronaux utilisent généralement une fonction d'activation softmax pour les neurones de la couche de sortie. Par exemple, pour un point de données avec une seule catégorie correcte, les valeurs de vérité terrain comprennent « 1 » pour la vraie classe et « 0 » pour toutes les classes incorrectes. Minimiser la CCEL implique d'augmenter la valeur de sortie pour la classe correcte et de diminuer les valeurs de sortie pour les classes incorrectes, ce qui rapproche la distribution de probabilité de celle de la vérité terrain.
Perte charnière
La perte charnière est une fonction de perte alternative pour les problèmes de classification binaire, particulièrement bien adaptée à l'optimisation des modèles de machines à vecteurs de support (SVM). Dans les algorithmes utilisant la perte charnière, la vérité terrain pour chaque étiquette binaire est mappée sur {-1, 1} plutôt que sur {0,1}. La fonction de perte charnière ℓ est définie ℓ(𝑦)=max(0,1−𝑡⋅𝑦), où t est l'étiquette réelle et y est la sortie du classificateur. Lorsque les prédictions du modèle sont correctes, mais pas confiantes (c’est-à-dire lorsque y est du bon signe mais |y| < 1), la valeur de ℓ sera positive, comprise entre 0 et 1. Lorsque les prédictions du modèle sont incorrectes (c'est-à-dire lorsque y est du mauvais signe), la valeur de ℓ sera supérieure à 1 et augmentera linéairement avec la valeur de |y|, ce qui dissuade fortement les prédictions incorrectes.
Fonctions de perte spécialisées
Certaines architectures de modèles, notamment celles utilisées dans l’apprentissage profond, emploient des fonctions de perte spécialisées. Les autoencodeurs sont des modèles non supervisés qui apprennent à coder efficacement une représentation compressée des données d'entrée en les faisant passer par un « goulot d'étranglement », puis en utilisant cette représentation pour reconstruire l'entrée d'origine. Les autoencodeurs apprennent en minimisant la perte de reconstruction : la différence entre l'entrée originale et celle reconstruite, généralement calculée via la MSE. Les modèles de détection d'objets minimisent deux types de pertes : la régression par boîte de délimitation et la perte d'entropie croisée. La première utilise la MSE, la MAE ou une perte spécialisée telle que l'indicateur IoU (intersection over union) pour comparer les coordonnées de la boîte de délimitation prédite à celles de la vérité terrain. L'apprentissage contrastif, une forme d'apprentissage auto-supervisé, entraîne un modèle à produire des encastrements de vecteurs similaires pour des points de données similaires.
tags: #contractive #loss #explication