Matching Networks
Les Matching Networks sont un algorithme de few-shot learning qui classifie un exemple inconnu en calculant une somme pondérée par attention des labels du support set, où les poids d’attention sont déterminés par la similarité entre l’embedding de l’exemple et les embeddings de chaque élément du support set.
- Auteurs
- Oriol Vinyals, Charles Blundell, Timothy Lillicrap, Koray Kavukcuoglu, Daan Wierstra (Google DeepMind)
- Publication
- NeurIPS 2016 (soumis juin 2016)
- Famille
- Meta-learning metric-based
- Contributions
- Entraînement épisodique, protocole N-way K-shot, Full Context Embeddings
- Benchmark
- Omniglot : 95% (one-shot) | ImageNet : 87,8% (one-shot)
- Successeurs
- Prototypical Networks, Relation Networks, TADAM
Pourquoi les Matching Networks sont fondateurs
Les Matching Networks, publiés par DeepMind en 2016, sont le travail fondateur du few-shot learning moderne basé sur le meta-learning. Avant eux, le few-shot learning était principalement abordé via des Siamese Networks (Koch et al., 2015) ou des approches bayésiennes (Lake et al., 2015). Les Matching Networks ont introduit deux innovations qui ont défini le champ pour les années suivantes.
Premièrement, ils formalisent le protocole d’entraînement épisodique et le cadre N-way K-shot qui sont devenus le standard universel d’évaluation du few-shot learning. L’idée que les conditions d’entraînement doivent reproduire les conditions de test (même nombre de classes, même nombre d’exemples par classe) semble évidente rétrospectivement, mais c’est cette formalisation qui a permis la comparaison systématique des méthodes.
Deuxièmement, ils proposent un classificateur non-paramétrique basé sur l’attention qui s’adapte instantanément à n’importe quel support set, sans mise à jour de poids. Ce classificateur est une forme de mémoire associative différentiable : vous présentez un ensemble d’exemples labellisés, et le réseau « pointe » vers les exemples les plus similaires pour classifier un nouvel exemple.
L’algorithme en détail
Formulation du classificateur
L’architecture des Matching Networks définit un classificateur cS directement paramétré par le support set S = {(xi, yi)} :
ŷ = c_S(x̂) = Σ_i a(x̂, x_i) × y_i
Pour un exemple de requête x̂, la prédiction est une somme pondérée des labels yi du support set, où les poids a(x̂, xi) sont des coefficients d’attention qui mesurent la similarité entre x̂ et chaque xi. Plus un exemple du support est similaire à la requête, plus son label pèse dans la prédiction.
Cette formulation est remarquablement générale. Si l’attention est concentrée sur l’exemple le plus proche (poids de 1 pour le plus proche, 0 pour les autres), on retrouve le classificateur 1-nearest-neighbor. Si l’attention est répartie uniformément parmi les k plus proches, on retrouve k-NN. Les Matching Networks apprennent une fonction d’attention flexible qui peut capturer des relations plus complexes.
Mécanisme d’attention
Le coefficient d’attention a(x̂, xi) est calculé via un softmax sur les similarités cosinus entre les embeddings :
a(x̂, x_i) = exp(cos(f(x̂), g(x_i))) / Σ_j exp(cos(f(x̂), g(x_j)))
Ici, f est la fonction d’embedding pour les exemples de requête et g est la fonction d’embedding pour les exemples du support set. Dans la version de base, f et g sont le même réseau CNN. La similarité cosinus mesure l’angle entre les deux vecteurs d’embedding : plus les vecteurs pointent dans la même direction, plus la similarité est élevée.
Le softmax normalise les similarités en une distribution de probabilité. L’exemple de requête « vote » pour le label de chaque exemple du support proportionnellement à sa similarité avec cet exemple. La prédiction finale est le label qui reçoit le plus de votes pondérés.
Full Context Embeddings (FCE)
L’une des contributions techniques majeures de l’article est le concept de Full Context Embeddings. L’idée : l’embedding d’un exemple du support set ne devrait pas être calculé de manière isolée. Il devrait prendre en compte le contexte de tous les autres exemples du support set, car la représentation optimale dépend de la tâche (quelles classes sont présentes, quels exemples sont disponibles).
Pour implémenter ce concept, les auteurs utilisent un LSTM bidirectionnel qui traite les embeddings de tous les exemples du support set, produisant des embeddings « contextualisés » qui encodent les relations entre les exemples. Pour l’embedding de la requête, un mécanisme d’attention LSTM lit itérativement le support set, affinant progressivement l’embedding de la requête en fonction du contexte disponible.
Formellement, la fonction g (embedding du support) devient g(xi, S) : l’embedding d’un exemple du support dépend de tout le support set S. Et la fonction f devient f(x̂, S) : l’embedding de la requête dépend aussi du support set. C’est un mécanisme puissant mais coûteux en calcul.
L’entraînement épisodique
C’est la contribution méthodologique la plus influente des Matching Networks. Le principe est formulé explicitement par les auteurs : les conditions d’entraînement doivent correspondre aux conditions de test.
Pendant l’entraînement, on échantillonne des épisodes (ou tâches). Chaque épisode est construit en tirant aléatoirement N classes parmi les classes d’entraînement, puis K exemples par classe pour former le support set, et un ensemble séparé d’exemples pour le query set. Le modèle doit classifier les exemples du query set en s’appuyant uniquement sur le support set de l’épisode.
Cette procédure, répétée sur des milliers d’épisodes avec des classes différentes à chaque fois, force le réseau à apprendre une capacité de classification générale plutôt que de mémoriser des classes spécifiques. Au moment du test, les classes sont complètement nouvelles, mais le modèle sait déjà « comment » classifier à partir de peu d’exemples.
Avant les Matching Networks, l’entraînement des modèles de few-shot learning était souvent réalisé de manière classique (classification sur toutes les classes d’entraînement), puis adapté au test. L’entraînement épisodique a montré que simuler les conditions de test pendant l’entraînement améliore significativement la généralisation. Ce principe est devenu le paradigme dominant du meta-learning.
Architecture réseau
L’encodeur (embedding function)
L’article original utilise deux architectures selon le benchmark :
Pour Omniglot, un CNN simple à 4 couches avec 64 filtres par couche, batch normalization et ReLU. C’est le même type d’encodeur « Conv-4 » que les Prototypical Networks utiliseront ensuite.
Pour miniImageNet, un encodeur basé sur VGG avec des couches convolutionnelles plus profondes, adapté à la résolution et à la complexité des images naturelles.
L’encodeur est partagé entre la branche support et la branche query dans la version de base (f = g). Avec les FCE, deux réseaux distincts sont utilisés : un LSTM bidirectionnel pour le support et un LSTM avec attention pour la requête.
Interprétation comme mémoire associative
Les Matching Networks peuvent être interprétés comme une mémoire associative externe, similaire aux Neural Turing Machines (Graves et al., 2014). Le support set joue le rôle de la mémoire : chaque entrée stocke un embedding associé à un label. La requête est la clé de lecture : on calcule la similarité entre la clé et chaque entrée de la mémoire, et on retourne une somme pondérée des valeurs (labels) stockées.
Cette interprétation est importante car elle fait le lien entre le few-shot learning et les architectures à mémoire externe. Les auteurs notent explicitement que, contrairement aux mécanismes d’attention paramétriques (où la taille de la mémoire est fixe), les Matching Networks sont non-paramétriques : la taille de la mémoire croît avec la taille du support set. Cette propriété rend le modèle naturellement extensible.
Résultats et benchmarks
| Benchmark | Configuration | Matching Nets | Matching Nets (FCE) | Siamese Nets (baseline) |
|---|---|---|---|---|
| Omniglot | 5-way 1-shot | 98,1% | 98,7% | 97,3% |
| Omniglot | 20-way 1-shot | 93,8% | 95,0% | 88,1% |
| miniImageNet | 5-way 1-shot | 43,6% | 43,4% | — |
| miniImageNet | 5-way 5-shot | 55,3% | 55,0% | — |
| ImageNet (full) | 5-way 1-shot | — | 87,8% | 82,2% |
Les résultats montrent une amélioration significative par rapport aux Siamese Networks, surtout sur Omniglot en 20-way (où le gain est le plus prononcé) et sur ImageNet. Les FCE apportent un gain sur Omniglot et ImageNet mais pas sur miniImageNet. Sur miniImageNet en 5-way 5-shot, le score de 55,3% peut sembler modeste comparé aux méthodes ultérieures (~68% pour les ProtoNets, ~80%+ pour les baselines récentes), mais il faut garder en perspective que les Matching Networks utilisaient un encodeur simple (pas de ResNet pré-entraîné) et que miniImageNet n’existait pas encore comme benchmark standard au moment de la publication.
Matching Networks vs. méthodes successeurs
| Aspect | Matching Networks | Prototypical Nets | Relation Networks | MAML |
|---|---|---|---|---|
| Année | 2016 | 2017 | 2018 | 2017 |
| Représentation de classe | Tous les exemples (attention) | Prototype (moyenne) | Tous les exemples (score appris) | N/A (adaptation par gradient) |
| Distance | Cosinus (softmax) | Euclidienne | Apprise (réseau) | N/A |
| Gradient au test | Non | Non | Non | Oui |
| Scalabilité (taille support) | O(N×K) comparaisons | O(N) comparaisons | O(N×K) comparaisons | O(N×K) gradient steps |
| Complexité modèle | Modérée (FCE : élevée) | Faible | Modérée | Élevée |
La différence cruciale entre Matching Networks et Prototypical Networks réside dans la représentation des classes. Les Matching Networks comparent la requête à chaque exemple individuel du support set (N×K comparaisons), tandis que les Prototypical Networks comparent la requête à un seul prototype par classe (N comparaisons). Cette réduction de complexité rend les ProtoNets plus scalables quand K augmente, et la moyenne a l’avantage de lisser le bruit des exemples individuels.
Les Prototypical Networks ont aussi montré que la distance euclidienne surpasse la distance cosinus (utilisée par les Matching Networks originaux), grâce à ses propriétés de divergence de Bregman. En combinant ces deux simplifications (prototypes moyens + distance euclidienne), les ProtoNets obtiennent de meilleures performances avec un modèle plus simple.
Héritage et influence
L’influence des Matching Networks sur le champ du few-shot learning est immense. Voici les concepts qu’ils ont introduits ou popularisés :
Entraînement épisodique : adopté par la quasi-totalité des méthodes de meta-learning qui ont suivi (ProtoNets, MAML, Relation Networks, TADAM, etc.). C’est devenu le paradigme standard.
Protocole N-way K-shot : le cadre d’évaluation universel du few-shot learning. Chaque article du domaine rapporte ses résultats dans ce format (5-way 1-shot, 5-way 5-shot).
Classificateur non-paramétrique par attention : l’idée que le classificateur est directement conditionné par le support set (sans paramètres fixes) a inspiré toute la famille des méthodes metric-based.
Mémoire associative différentiable : le lien explicite entre few-shot learning et mémoire externe a ouvert la voie aux MANN (Memory-Augmented Neural Networks) pour le meta-learning.
Benchmark miniImageNet : bien que le split actuel de miniImageNet ait été proposé par Ravi & Larochelle (2017), c’est dans le contexte des Matching Networks que le dataset a été créé (sous-ensemble d’ImageNet pour le few-shot learning).
Limites des Matching Networks
Scalabilité avec le support set
Le mécanisme d’attention compare la requête à chaque exemple individuel du support set. Avec N classes et K exemples par classe, cela fait N×K comparaisons. Quand K augmente (par exemple, 10-shot ou 20-shot), le nombre de comparaisons croît linéairement, et les poids d’attention deviennent dilués. Les Prototypical Networks résolvent ce problème en condensant chaque classe en un seul prototype.
Distance cosinus sous-optimale
L’article original utilise la similarité cosinus. Les Prototypical Networks ont démontré par la suite que la distance euclidienne est supérieure, car elle est une divergence de Bregman. L’utilisation de la distance euclidienne avec des Matching Networks améliore aussi leurs performances, comme confirmé dans les expériences comparatives de Snell et al. (2017).
Complexité des FCE
Les Full Context Embeddings ajoutent un LSTM bidirectionnel et un mécanisme d’attention itératif, ce qui complexifie significativement le modèle. Le gain en performance est inconsistant selon les benchmarks (positif sur Omniglot/ImageNet, négligeable sur miniImageNet). Cette complexité supplémentaire ne se justifie pas toujours.
Performances dépassées
En termes de précision brute sur les benchmarks modernes, les Matching Networks sont largement dépassés par les méthodes plus récentes. Sur miniImageNet 5-way 5-shot, le score de ~55% est loin des ~68% des ProtoNets (Conv-4) et des ~81% de SimpleShot (ResNet pré-entraîné). Cela dit, les Matching Networks utilisaient un encodeur beaucoup plus simple, et avec un backbone moderne, leurs performances seraient significativement supérieures.
Quand utiliser les Matching Networks
En pratique, les Matching Networks sont rarement utilisés directement en production. Les Prototypical Networks offrent les mêmes avantages (pas de gradient au test, adaptation instantanée au support set) avec une meilleure scalabilité et de meilleures performances.
Cependant, les Matching Networks restent pertinents dans deux cas spécifiques. Premièrement, quand la distribution des exemples au sein d’une classe est multimodale (plusieurs sous-clusters), l’attention sur les exemples individuels peut capturer cette structure mieux qu’un prototype unique (qui serait situé entre les clusters). Deuxièmement, quand le nombre d’exemples par classe est très faible (1-shot), la distinction entre « attention sur 1 exemple » et « prototype de 1 exemple » disparaît, et les deux méthodes sont équivalentes.
La valeur principale des Matching Networks est surtout pédagogique et historique. Comprendre cet article, c’est comprendre les fondations sur lesquelles tout le champ du meta-learning modern s’est construit.
Verdict
Les Matching Networks sont à la fois un article fondateur et un algorithme dépassé. Leur contribution méthodologique (entraînement épisodique, protocole N-way K-shot, classificateur par attention) a défini le champ du few-shot learning pour la décennie qui a suivi. Mais en termes de performances pures et de simplicité d’implémentation, les Prototypical Networks les ont surpassés dès 2017 avec un modèle plus simple et plus scalable.
Si vous cherchez une méthode à déployer en production, passez directement aux Prototypical Networks. Si vous voulez comprendre le few-shot learning en profondeur, lisez l’article des Matching Networks en premier : c’est l’article qui a tout lancé, et ses idées centrales restent au coeur de toutes les méthodes actuelles.
Questions fréquentes sur les Matching Networks
Quelle est la différence fondamentale entre Matching Networks et Prototypical Networks ?
Les Matching Networks comparent une requête à chaque exemple individuel du support set via un mécanisme d’attention pondérée (N×K comparaisons). Les Prototypical Networks condensent d’abord chaque classe en un seul prototype (la moyenne des embeddings), puis comparent la requête aux N prototypes seulement. Les ProtoNets sont donc plus scalables (O(N) vs O(N×K)), plus robustes au bruit (la moyenne lisse les exemples atypiques), et empiriquement supérieurs avec la distance euclidienne. La seule situation où les Matching Networks peuvent avoir un avantage est quand les classes ont des distributions multimodales que la moyenne écrase.
Que sont les Full Context Embeddings (FCE) ?
Les FCE sont un mécanisme qui rend les embeddings dépendants du contexte du support set complet. Au lieu de calculer l’embedding d’un exemple de manière isolée, un LSTM bidirectionnel traite l’ensemble du support set pour produire des embeddings contextualisés. Pour la requête, un LSTM avec attention lit itérativement le support set pour affiner son embedding. L’idée est que la représentation optimale d’un exemple dépend de la tâche courante (quelles autres classes sont présentes). En pratique, le gain est inconsistant et la complexité additionnelle est significative.
Pourquoi l’entraînement épisodique est-il si important ?
L’entraînement épisodique simule les conditions de test pendant l’entraînement. Chaque épisode reproduit un problème N-way K-shot avec des classes aléatoires. Le modèle apprend ainsi à classifier de nouvelles classes à partir de peu d’exemples, plutôt qu’à mémoriser des classes spécifiques. C’est ce qui permet la généralisation à des classes jamais vues. Ce paradigme, introduit par les Matching Networks, est devenu le standard de facto pour l’entraînement des modèles de meta-learning et est utilisé par la quasi-totalité des méthodes du domaine.
Les Matching Networks utilisent-ils la similarité cosinus ou euclidienne ?
L’article original utilise la similarité cosinus. Cependant, les Prototypical Networks (Snell et al., 2017) ont démontré par la suite que la distance euclidienne est supérieure, y compris quand elle est appliquée aux Matching Networks. La raison théorique est que la distance euclidienne est une divergence de Bregman, ce qui garantit l’optimalité de certaines représentations de classe (comme la moyenne). Si vous implémentez des Matching Networks, utilisez la distance euclidienne plutôt que cosinus.
Les Matching Networks sont-ils encore utilisés en pratique ?
Rarement de manière directe. Les Prototypical Networks offrent les mêmes avantages avec de meilleures performances et une complexité moindre. Les Matching Networks sont principalement utilisés comme baseline de comparaison dans les articles de recherche et comme outil pédagogique pour comprendre les fondements du few-shot learning. Leur contribution la plus durable est méthodologique (entraînement épisodique, protocole N-way K-shot) plutôt qu’algorithmique. La librairie learn2learn inclut une implémentation des Matching Networks, principalement à des fins de comparaison et d’enseignement.