Réseaux Siamois (Siamese Networks)
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 et Principes Essentiels
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.
Importance, Pertinence et Impact
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.
Applications Pratiques et Utilisations Courantes
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, Interprétations, 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 Étroitement Liés, Synonymes ou Antonymes
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.
Origine, Historique et Évolution
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, Inconvénients, Défis ou Limitations
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. La qualité de l’espace d’embedding appris est déterminante pour la performance finale.