{"notes":[{"id":"graph-learning/spectral-networks","category":"graph-learning","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"Spectral Networks","subtitle":"Détour par le domaine spectral","author":"Z. Yuan","paperDate":"2013-12-21","publishedOn":"2023-09-06","paperTitle":"Spectral Networks and Locally Connected Networks on Graphs","paperUrl":"https://arxiv.org/abs/1312.6203","bibliography":{"title":"Spectral Networks and Locally Connected Networks on Graphs","authors":["Joan Bruna","Wojciech Zaremba","Arthur Szlam","Yann LeCun"],"url":"https://arxiv.org/abs/1312.6203","pdfUrl":"https://arxiv.org/pdf/1312.6203v3","codeUrl":null,"preprint":{"id":"1312.6203","submittedOn":"2013-12-21","url":"https://arxiv.org/abs/1312.6203"},"publication":{"venue":"ICLR","year":2014,"kind":"conference","url":"https://iclr.cc/archive/2014/conference-proceedings/"},"citation":"@misc{graphlearningspectralnetworks2013,\n  title = {{Spectral Networks and Locally Connected Networks on Graphs}},\n  author = {Joan Bruna and Wojciech Zaremba and Arthur Szlam and Yann LeCun},\n  year = {2013},\n  eprint = {1312.6203},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/1312.6203}\n}\n","citationPath":"/content/papers/citations/graph-learning/spectral-networks.ea286632c50d.bib"},"thumbnail":{"src":"/content/papers/assets/81c18ce1b25b0675fa18b9922bab2a4316a1582ec2824475056e04b90cda9baa.png","width":1210,"height":448},"locale":"fr","path":"/content/papers/fr/graph-learning/spectral-networks.bc4294bc5139.md","headings":[{"id":"poser-le-problème","text":"Poser le problème","depth":2},{"id":"résoudre-le-problème","text":"Résoudre le problème","depth":2},{"id":"construction-spatiale--connexions-locales-et-regroupement","text":"Construction spatiale : connexions locales et regroupement","depth":3},{"id":"construction-spectrale--les-vecteurs-propres-du-laplacien","text":"Construction spectrale : les vecteurs propres du laplacien","depth":3},{"id":"retrouver-les-cnn","text":"Retrouver les CNN","depth":3},{"id":"des-coefficients-lisses-des-filtres-locaux","text":"Des coefficients lisses, des filtres locaux","depth":3},{"id":"discussion","text":"Discussion","depth":2},{"id":"mnist-sous-échantillonné","text":"MNIST sous-échantillonné","depth":3},{"id":"mnist-sur-une-sphère","text":"MNIST sur une sphère","depth":3},{"id":"conclusion","text":"Conclusion","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"graph-learning/chebnet","relation":"referenced","topic":""},{"id":"graph-learning/gcn","relation":"referenced","topic":""}]},{"id":"graph-learning/chebnet","category":"graph-learning","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"ChebNet","subtitle":"Un polynôme suffit","author":"Z. Yuan","paperDate":"2016-06-30","publishedOn":"2023-09-16","world":"external/chebnet","paperTitle":"Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering","paperUrl":"https://arxiv.org/abs/1606.09375","bibliography":{"title":"Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering","authors":["Michaël Defferrard","Xavier Bresson","Pierre Vandergheynst"],"url":"https://arxiv.org/abs/1606.09375","pdfUrl":"https://arxiv.org/pdf/1606.09375v3","codeUrl":"https://github.com/mdeff/cnn_graph","preprint":{"id":"1606.09375","submittedOn":"2016-06-30","url":"https://arxiv.org/abs/1606.09375"},"publication":{"venue":"NeurIPS","year":2016,"kind":"conference","url":"https://papers.nips.cc/paper_files/paper/2016/hash/04df4d434d481c5bb723be1b6df1ee65-Abstract.html"},"citation":"@misc{graphlearningchebnet2016,\n  title = {{Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering}},\n  author = {Michaël Defferrard and Xavier Bresson and Pierre Vandergheynst},\n  year = {2016},\n  eprint = {1606.09375},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/1606.09375}\n}\n","citationPath":"/content/papers/citations/graph-learning/chebnet.52e0fac25946.bib"},"thumbnail":{"src":"/content/papers/assets/f924fc7fdf6829dd352c02c0062d56fef579382aee9d8de9a76c29aa312325ef.png","width":1144,"height":484},"locale":"fr","path":"/content/papers/fr/graph-learning/chebnet.df907f539bbb.md","headings":[{"id":"poser-le-problème","text":"Poser le problème","depth":2},{"id":"la-translation-échappe-à-une-définition-spatiale","text":"La translation échappe à une définition spatiale","depth":3},{"id":"le-domaine-spectral-coûte-trop-cher","text":"Le domaine spectral coûte trop cher","depth":3},{"id":"résoudre-le-problème","text":"Résoudre le problème","depth":2},{"id":"des-polynômes-pour-assurer-la-localité","text":"Des polynômes pour assurer la localité","depth":3},{"id":"la-récurrence-de-chebyshev-pour-gagner-en-vitesse","text":"La récurrence de Chebyshev pour gagner en vitesse","depth":3},{"id":"le-pooling-sur-graphe","text":"Le pooling sur graphe","depth":3},{"id":"discussion","text":"Discussion","depth":2},{"id":"commencer-par-vérifier-sur-une-grille","text":"Commencer par vérifier sur une grille","depth":3},{"id":"comparer-trois-filtres","text":"Comparer trois filtres","depth":3},{"id":"la-qualité-du-graphe","text":"La qualité du graphe","depth":3},{"id":"la-suite","text":"La suite","depth":3},{"id":"conclusion","text":"Conclusion","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"graph-learning/spectral-networks","relation":"referenced","topic":""},{"id":"graph-learning/gcn","relation":"referenced","topic":""}]},{"id":"graph-learning/gcn","category":"graph-learning","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"GCN","subtitle":"Un seul paramètre suffit-il ?","author":"Z. Yuan","paperDate":"2016-09-09","publishedOn":"2023-10-01","world":"external/gcn","paperTitle":"Semi-Supervised Classification with Graph Convolutional Networks","paperUrl":"https://arxiv.org/abs/1609.02907","bibliography":{"title":"Semi-Supervised Classification with Graph Convolutional Networks","authors":["Thomas N. Kipf","Max Welling"],"url":"https://arxiv.org/abs/1609.02907","pdfUrl":"https://arxiv.org/pdf/1609.02907v4","codeUrl":"https://github.com/tkipf/gcn","preprint":{"id":"1609.02907","submittedOn":"2016-09-09","url":"https://arxiv.org/abs/1609.02907"},"publication":{"venue":"ICLR","year":2017,"kind":"conference","url":"https://arxiv.org/abs/1609.02907"},"citation":"@misc{graphlearninggcn2016,\n  title = {{Semi-Supervised Classification with Graph Convolutional Networks}},\n  author = {Thomas N. Kipf and Max Welling},\n  year = {2016},\n  eprint = {1609.02907},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/1609.02907}\n}\n","citationPath":"/content/papers/citations/graph-learning/gcn.43058ec3e77e.bib"},"thumbnail":{"src":"/content/papers/assets/ded600c9ca8f4eda09d39ffb16b3c9b0ec730780063e55948b29924d00f14794.png","width":1122,"height":400},"locale":"fr","path":"/content/papers/fr/graph-learning/gcn.92d7953d0185.md","headings":[{"id":"poser-le-problème","text":"Poser le problème","depth":2},{"id":"le-graphe-comme-terme-de-régularisation","text":"Le graphe comme terme de régularisation","depth":3},{"id":"résoudre-le-problème","text":"Résoudre le problème","depth":2},{"id":"simplifier-depuis-le-domaine-spectral","text":"Simplifier depuis le domaine spectral","depth":3},{"id":"une-couche-de-gcn","text":"Une couche de GCN","depth":3},{"id":"deux-couches-suffisent","text":"Deux couches suffisent","depth":3},{"id":"discussion","text":"Discussion","depth":2},{"id":"protocole-expérimental","text":"Protocole expérimental","depth":3},{"id":"résultats-principaux","text":"Résultats principaux","depth":3},{"id":"quelle-propagation-fonctionne-le-mieux-","text":"Quelle propagation fonctionne le mieux ?","depth":3},{"id":"que-se-passe-t-il-en-profondeur-","text":"Que se passe-t-il en profondeur ?","depth":3},{"id":"le-lien-avec-lalgorithme-wl","text":"Le lien avec l'algorithme WL","depth":3},{"id":"une-critique-quatre-jours-plus-tard","text":"Une critique, quatre jours plus tard","depth":3},{"id":"les-limites-relevées-par-larticle","text":"Les limites relevées par l'article","depth":3},{"id":"conclusion","text":"Conclusion","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"graph-learning/spectral-networks","relation":"referenced","topic":""},{"id":"graph-learning/chebnet","relation":"referenced","topic":""}]}],"text":"Fin 2013, cela fait un peu plus d'un an qu'AlexNet a offert aux CNN une victoire éclatante en reconnaissance d'images. Joan Bruna, Wojciech Zaremba et Yann LeCun, de l'université de New York, ainsi qu'Arthur Szlam, du City College de New York, se demandent si la convolution peut s'appliquer à des données qui ne forment pas une grille.\n\nUn réseau de stations météo, les températures sur un maillage 3D, un réseau social, un système de recommandation : ces données possèdent toutes une structure de proximité, mais aucun haut, bas, gauche ou droite régulier.\n\nCet article propose deux façons de construire un CNN sur un graphe. Trois ans plus tard, ChebNet et GCN simplifieront sa construction spectrale ; l'article de GCN précise lui aussi que sa méthode s'appuie sur la convolution spectrale sur graphes proposée ici.\n\n## Poser le problème\n\nLes auteurs commencent par décomposer ce qui rend un CNN économe en paramètres. Sur une grille, il exploite trois structures à la fois :\n\n1. **La translation** : un même filtre est réutilisé à chaque position, ce qui assure le partage des poids.\n2. **La distance** : le filtre ne regarde qu'une petite région voisine ; son support est bien plus petit que l'entrée entière.\n3. **Un regroupement binaire à plusieurs échelles** : la grille peut être fusionnée par moitiés successives, ce qui permet les convolutions à pas et le pooling.\n\nAvec une entrée à $n$ coordonnées, une couche entièrement connectée de sortie de dimension $m$ exige $n\\cdot m$ paramètres, soit généralement $O(n^2)$. La translation seule, ou les connexions locales seules, ramènent ce coût à $O(n)$ par carte de caractéristiques ; ensemble, elles donnent $O(k\\cdot S)$, où $k$ est le nombre de cartes et $S$ la taille du filtre, indépendamment de $n$.\n\nSur un graphe, il n'y a pas de translation, ni forcément de bonnes coordonnées. Les auteurs cherchent combien de ces trois structures on peut retrouver à partir du seul graphe pondéré $W$.\n\n## Résoudre le problème\n\n### Construction spatiale : connexions locales et regroupement\n\nLa première méthode travaille directement dans l'espace. Les poids du graphe définissent déjà la proximité : on peut, par exemple, fixer un seuil $\\delta$ et considérer les nœuds tels que $W_{ij}>\\delta$ comme voisins. En ne reliant le filtre qu'aux voisins, on passe de $O(n^2)$ à $O(S\\cdot n)$ paramètres, où $S$ est le nombre moyen de voisins.\n\nOn réalise ensuite un regroupement hiérarchique à plusieurs échelles : la couche $k$ répartit les nœuds en $d_k$ groupes. Chaque couche applique d'abord un filtrage creux limité aux voisins, puis un pooling dans chaque groupe :\n\n$$\nx_{k+1,j}=L_k\\,h\\left(\\sum_{i=1}^{f_{k-1}}F_{k,i,j}\\,x_{k,i}\\right)\n$$\n\n$F_{k,i,j}$ est une matrice creuse dont seules les positions voisines sont renseignées, $h$ est une non-linéarité et $L_k$ effectue le pooling dans chaque groupe.\n\n[![Figure 2 de l'article : construction spatiale à trois résolutions. Les nœuds gris à gauche forment le graphe initial. Les régions rouges indiquent le filtrage local et le regroupement de la première couche, qui produisent les nœuds rouges, moins nombreux, au centre. Les régions vertes répètent l'opération pour obtenir les nœuds verts à droite. À chaque couche, les nœuds se raréfient et la dimension des caractéristiques augmente.](/content/papers/assets/81c18ce1b25b0675fa18b9922bab2a4316a1582ec2824475056e04b90cda9baa.png)](/content/papers/assets/81c18ce1b25b0675fa18b9922bab2a4316a1582ec2824475056e04b90cda9baa.png)\n\n*Figure 2 de l'article (Bruna et al.), extraite de la [**page 4 du PDF**](https://arxiv.org/pdf/1312.6203v3#page=4). Légende originale omise.*\n\nÀ chaque couche vers la droite, la résolution spatiale diminue et la dimension des caractéristiques augmente, comme dans la pyramide d'un CNN.\n\nCette méthode impose peu de conditions au graphe, mais elle a une limite fondamentale : les filtres apprennent séparément à chaque position et ne partagent pas leurs poids. Le nombre de paramètres reste $O(n)$, au lieu de $O(1)$.\n\n### Construction spectrale : les vecteurs propres du laplacien\n\nLa deuxième méthode fait un détour par le domaine spectral. Les auteurs utilisent le laplacien combinatoire $L=D-W$ pour mesurer la régularité d'un signal sur le graphe :\n\n$$\n\\left\\|\\nabla x\\right\\|_W^2=\\sum_i\\sum_jW_{ij}\\left[x(i)-x(j)\\right]^2\n$$\n\nLe vecteur le plus lisse est le vecteur constant. On cherche ensuite le vecteur le plus lisse qui lui soit orthogonal, puis celui qui soit orthogonal aux deux premiers, et ainsi de suite : on obtient les vecteurs propres $v_0, v_1, \\dots$ de $L$. Plus la valeur propre est petite, plus le vecteur est lisse. C'est l'équivalent de la base de Fourier sur une grille, dont les vecteurs propres du laplacien sont des sinusoïdes.\n\nLa convolution se définit alors comme une opération diagonale dans cette base :\n\n$$\nx_{k+1,j}=h\\left(V\\sum_{i=1}^{f_{k-1}}F_{k,i,j}V^\\top x_{k,i}\\right)\n$$\n\n$V$ est la matrice des vecteurs propres et $F_{k,i,j}$ une matrice diagonale qui multiplie chaque fréquence par un coefficient. En pratique, on ne conserve que les $d$ premiers vecteurs propres de basse fréquence, porteurs de la géométrie lisse du graphe. Chaque couche a ainsi $f_{k-1}\\cdot f_k\\cdot d$ paramètres, ce qui reste $O(n)$.\n\nLes auteurs énumèrent aussi franchement les difficultés. Sur la plupart des graphes, seuls les tout premiers vecteurs propres ont un sens ; les propagations avant et arrière exigent des produits par les matrices denses $V$ et $V^\\top$, coûteux ; enfin, la non-linéarité doit s'appliquer du côté spatial et oblige à quitter le domaine spectral.\n\n### Retrouver les CNN\n\nL'article présente une très belle observation. Si l'on prend la matrice de covariance des données comme poids du graphe, l'invariance par translation des images naturelles rend cette covariance dépendante du seul déplacement entre deux pixels. Ses vecteurs propres sont alors la base de Fourier, à peu près ordonnée par fréquence. Les opérateurs $VF V^\\top$ de la construction spectrale sont dans ce cas diagonaux dans la base de Fourier, donc invariants par translation : on retrouve la convolution ordinaire.\n\nAutrement dit, il suffit de construire le graphe à partir des données pour retrouver un CNN standard, sans savoir à l'avance que l'image est une grille.\n\n### Des coefficients lisses, des filtres locaux\n\nPour descendre à $O(1)$ paramètres, les auteurs reprennent une dualité connue sur les grilles : un signal qui décroît rapidement dans l'espace est lisse en fréquence. Réciproquement, une réponse fréquentielle lisse produit un filtre plus concentré dans l'espace.\n\nLes coefficients de chaque fréquence ne sont donc plus appris librement. Les vecteurs propres sont rangés sur un axe selon leur valeur propre ; on apprend seulement quelques points de contrôle, avec une interpolation par splines cubiques entre eux :\n\n$$\n\\mathrm{diag}\\left(F_{k,i,j}\\right)=\\mathcal K\\,\\alpha_{k,i,j}\n$$\n\n$\\mathcal K$ est un noyau fixe de splines cubiques et $\\alpha$ les coefficients à apprendre. Le nombre de points de contrôle n'a pas besoin de croître avec $n$ : le nombre de paramètres est donc $O(1)$.\n\nComparons les deux sur un chemin de 64 nœuds. On place une impulsion au milieu, puis on la filtre avec 64 coefficients libres ou des coefficients lisses interpolés à partir de 6 points de contrôle. À combien de nœuds la réponse s'étend-elle ?\n\n```python\nimport numpy as np\nnp.set_printoptions(precision=2, suppress=True)\nrng = np.random.default_rng(0)\n\nn = 64                                     # Un chemin de 64 nœuds\nW = np.zeros((n, n))\nfor i in range(n - 1):\n    W[i, i + 1] = W[i + 1, i] = 1\nL = np.diag(W.sum(1)) - W                  # Laplacien combinatoire L = D - W\nlam, V = np.linalg.eigh(L)                 # Des basses aux hautes fréquences\n\nx = np.zeros(n)\nx[n // 2] = 1                              # Une impulsion au milieu\n\ndef spread(y, ratio=0.05):\n    return int((np.abs(y) > ratio * np.abs(y).max()).sum())   # Nœuds dont la réponse dépasse 5 % du maximum\n\nfrom scipy.interpolate import CubicSpline\n\nfree = rng.normal(size=n)                                   # Un coefficient libre par fréquence, soit 64\nknots = np.linspace(0, n - 1, 6)\nsmooth = CubicSpline(knots, rng.normal(size=6))(np.arange(n))  # Six points de contrôle ; interpolation par splines cubiques\n\nfor name, g, params in [(\"Coefficients libres\", free, n), (\"Coefficients lisses\", smooth, 6)]:\n    y = V @ (g * (V.T @ x))                                 # Filtrage : V diag(g) V^T x\n    print(f\"{name} : {params:>2} paramètres, réponse sur {spread(y):>2} nœuds\")\n```\n\n```text\nCoefficients libres : 64 paramètres, réponse sur 60 nœuds\nCoefficients lisses :  6 paramètres, réponse sur 15 nœuds\n```\n\nLe filtre à coefficients libres touche presque tout le chemin ; celui à coefficients lisses reste concentré autour de l'impulsion. La tendance se retrouve avec d'autres graines aléatoires.\n\nLe lissage rend toutefois le filtre seulement « plus local » : il ne garantit pas un rayon strict de quelques sauts. ChebNet comblera plus tard cette lacune avec des polynômes.\n\n## Discussion\n\n### MNIST sous-échantillonné\n\nLa première expérience prélève aléatoirement 400 coordonnées dans les images 28×28 de MNIST. Les points restent dans un plan, mais ne forment plus une grille ; la convolution ordinaire ne s'applique plus.\n\n| Méthode | Paramètres | Taux d'erreur |\n| --- | ---: | ---: |\n| Plus proches voisins | — | 4.11% |\n| Entièrement connecté 400-FC800-FC50-10 | $3.6\\times10^5$ | 1.8% |\n| Construction spatiale, une couche | $7.2\\times10^4$ | 1.8% |\n| Construction spatiale, deux couches | $1.6\\times10^5$ | **1.3%** |\n| Construction spectrale, coefficients libres | $3.2\\times10^3$ | 2.6% |\n| Construction spectrale, coefficients lisses ($q=32$) | $1.6\\times10^3$ | 2.3% |\n| Construction spectrale, coefficients lisses ($q=20$, plus large) | $5\\times10^3$ | 1.8% |\n\nLe réseau spatial à deux couches est le meilleur, avec 1.3% d'erreur. La construction spectrale fait moins bien, mais utilise environ un centième des paramètres de la couche entièrement connectée. Le lissage fait baisser l'erreur de 2.6% à 2.3%, puis un réseau plus large l'amène à 1.8%.\n\nSelon les auteurs, les chiffres de MNIST sont faits de traits locaux et orientés, qui demandent des mesures très concentrées dans l'espace. Les connexions locales le sont par construction ; la méthode spectrale ne garantit cette concentration qu'approximativement, grâce au lissage.\n\n[![Figure 6 de l'article : six petites figures montrant chacune la réponse d'un filtre sur les 400 points échantillonnés, les couleurs codant les valeurs. (a)(b) : filtres appris dans deux groupes distincts par la construction spatiale, colorés seulement dans une petite zone. (c)(d) : filtres spectraux à coefficients libres, aux couleurs réparties partout. (e)(f) : filtres spectraux à coefficients lisses, concentrés localement.](/content/papers/assets/4bf962fd0048720795737f14a2ce523576f6e02d4fb66c41a36bd5192d92ffed.png)](/content/papers/assets/4bf962fd0048720795737f14a2ce523576f6e02d4fb66c41a36bd5192d92ffed.png)\n\n*Figure 6 de l'article (Bruna et al.), extraite de la [**page 10 du PDF**](https://arxiv.org/pdf/1312.6203v3#page=10). Légende originale omise.*\n\nLa figure juxtapose les trois types de filtres. En (a)(b), deux groupes distincts de la construction spatiale apprennent des caractéristiques d'aspect identique, faute de partager leurs poids. En (c)(d), la réponse des filtres spectraux libres s'étale sur tout le graphe : les auteurs y voient la limite fondamentale de l'analyse de Fourier pour décrire des phénomènes locaux. Avec le lissage, en (e)(f), la réponse se reconcentre et un même filtre peut détecter des caractéristiques similaires à différentes positions : cela ressemble enfin à une convolution.\n\n### MNIST sur une sphère\n\nLa deuxième expérience projette MNIST sur 4,096 points aléatoires de la sphère unité, puis fait subir une rotation aléatoire à chaque image.\n\nAvec de petites rotations, l'erreur des plus proches voisins monte à 19%, tandis que les réseaux neuronaux restent entre 5.6% et 7%. Les constructions convolutionnelles font jeu égal avec le réseau entièrement connecté, avec bien moins de paramètres : environ $10^7$ paramètres et 5.6% pour ce dernier, contre $9\\times10^5$ paramètres et 6% pour la construction spectrale lisse.\n\nAvec des rotations complètement aléatoires, les plus proches voisins se trompent dans 80% des cas, le réseau entièrement connecté dans 52%, et la construction spectrale lisse dans 50%, le meilleur résultat du tableau. Aucune méthode n'est pourtant satisfaisante. Les auteurs estiment qu'il faut une invariance complète aux rotations et aux translations ; le groupe des rotations 3D étant non commutatif, une architecture plus profonde pourrait être nécessaire.\n\n## Conclusion\n\nL'article ouvre deux voies. La construction spatiale applique directement connexions locales et pooling par groupes sur le graphe, avec $O(n)$ paramètres, mais sans partage des poids. La construction spectrale prend les vecteurs propres du laplacien comme base de Fourier et échange des coefficients fréquentiels lisses contre de la localité spatiale ; elle peut descendre à $O(1)$ paramètres.\n\nLe prix de cette voie spectrale reste aussi bien visible : une décomposition en vecteurs propres, un produit par une matrice dense $n\\times n$ à chaque conversion, et une localité approximative. Trois ans plus tard, ChebNet remplacera les splines lisses par des polynômes du laplacien, avec localité garantie et sans décomposition spectrale ; trois mois après, GCN réduira le polynôme au premier ordre.\n\n\n> [!TIP]\n> \n> Pour les deux simplifications suivantes, voir nos notes :\n> \n> - **[[16.06] ChebNet : Un polynôme suffit](/blog/papers/graph-learning/chebnet)**\n> - **[[16.09] GCN : Un seul paramètre suffit-il ?](/blog/papers/graph-learning/gcn)**\n\n\nL'exemple qui retrouve les CNN à partir de la covariance reste passionnant à lire aujourd'hui. La convolution peut se voir comme une opération diagonale dans une certaine base ; la grille fournit simplement cette base toute faite. Sur un graphe, il faut la trouver soi-même.\n","imageSizes":{"/content/papers/assets/81c18ce1b25b0675fa18b9922bab2a4316a1582ec2824475056e04b90cda9baa.png":{"width":1210,"height":448},"/content/papers/assets/4bf962fd0048720795737f14a2ce523576f6e02d4fb66c41a36bd5192d92ffed.png":{"width":908,"height":1208}}}
