{"notes":[{"id":"lightweight/lsnet","category":"lightweight","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"LSNet","subtitle":"Voir large, cibler petit","author":"Z. Yuan","paperDate":"2025-03-29","publishedOn":"2026-03-09","paperTitle":"LSNet: See Large, Focus Small","paperUrl":"https://arxiv.org/abs/2503.23135","bibliography":{"title":"LSNet: See Large, Focus Small","authors":["Ao Wang","Hui Chen","Zijia Lin","Jungong Han","Guiguang Ding"],"url":"https://arxiv.org/abs/2503.23135","pdfUrl":"https://arxiv.org/pdf/2503.23135v1","codeUrl":"https://github.com/jameslahm/lsnet","preprint":{"id":"2503.23135","submittedOn":"2025-03-29","url":"https://arxiv.org/abs/2503.23135"},"publication":{"venue":"CVPR","year":2025,"kind":"conference","url":"https://openaccess.thecvf.com/content/CVPR2025/html/Wang_LSNet_See_Large_Focus_Small_CVPR_2025_paper.html"},"citation":"@misc{lightweightlsnet2025,\n  title = {{LSNet: See Large, Focus Small}},\n  author = {Ao Wang and Hui Chen and Zijia Lin and Jungong Han and Guiguang Ding},\n  year = {2025},\n  eprint = {2503.23135},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2503.23135}\n}\n","citationPath":"/content/papers/citations/lightweight/lsnet.d31e2f81ec32.bib"},"thumbnail":{"src":"/content/papers/assets/6d3e348c9f8512697f7230b2ac3fde0efdd4fd84198dbb519d931acd26bcbb59.png","width":1728,"height":948},"locale":"fr","path":"/content/papers/fr/lightweight/lsnet.ba92a25d1d3e.md","headings":[{"id":"définir-le-problème","text":"Définir le problème","depth":2},{"id":"perception-et-agrégation","text":"Perception et agrégation","depth":3},{"id":"résoudre-le-problème","text":"Résoudre le problème","depth":2},{"id":"convolution-ls","text":"Convolution LS","depth":3},{"id":"assembler-le-réseau","text":"Assembler le réseau","depth":3},{"id":"discussion","text":"Discussion","depth":2},{"id":"imagenet","text":"ImageNet","depth":3},{"id":"ablations","text":"Ablations","depth":3},{"id":"déploiement","text":"Déploiement","depth":3},{"id":"conclusion","text":"Conclusion","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"reparameterization/repvit","relation":"referenced","topic":""},{"id":"object-detection/yolov10","relation":"referenced","topic":""},{"id":"classic-cnns/overlock","relation":"referenced","topic":""}]},{"id":"reparameterization/repvit","category":"reparameterization","legacyPath":"reparameterization/2307-repvit","legacySlug":"2307-repvit","legacyPaths":[],"title":"RepViT","subtitle":"Un regard inspiré de ViT","author":"Z. Yuan","paperDate":"2023-07-18","publishedOn":"2024-07-19","paperTitle":"RepViT: Revisiting Mobile CNN From ViT Perspective","paperUrl":"https://arxiv.org/abs/2307.09283","bibliography":{"title":"RepViT: Revisiting Mobile CNN From ViT Perspective","authors":["Ao Wang","Hui Chen","Zijia Lin","Jungong Han","Guiguang Ding"],"url":"https://arxiv.org/abs/2307.09283","pdfUrl":"https://arxiv.org/pdf/2307.09283","codeUrl":null,"preprint":{"id":"2307.09283","submittedOn":"2023-07-18","url":"https://arxiv.org/abs/2307.09283"},"publication":{"venue":"CVPR","year":2024,"kind":"conference","url":"https://arxiv.org/abs/2307.09283"},"citation":"@misc{reparameterizationrepvit2023,\n  title = {{RepViT: Revisiting Mobile CNN From ViT Perspective}},\n  author = {Ao Wang and Hui Chen and Zijia Lin and Jungong Han and Guiguang Ding},\n  year = {2023},\n  eprint = {2307.09283},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2307.09283}\n}\n","citationPath":"/content/papers/citations/reparameterization/repvit.583fd659fe6d.bib"},"thumbnail":{"src":"/content/papers/assets/f501c7d5eb209527b5401ba7607cd34496d2dda89aeb1848aa9927e0d0f713eb.jpg","width":1224,"height":704},"locale":"fr","path":"/content/papers/fr/reparameterization/repvit.1127e015eac1.md","headings":[{"id":"définir-le-problème","text":"Définir le problème","depth":2},{"id":"résoudre-le-problème","text":"Résoudre le problème","depth":2},{"id":"repenser-larchitecture","text":"Repenser l'architecture","depth":3},{"id":"structure-reparamétrée","text":"Structure reparamétrée","depth":3},{"id":"réduire-le-rapport-dexpansion-et-accroître-la-largeur","text":"Réduire le rapport d'expansion et accroître la largeur","depth":3},{"id":"adapter-le-stem","text":"Adapter le stem","depth":3},{"id":"adapter-le-sous-échantillonnage","text":"Adapter le sous-échantillonnage","depth":3},{"id":"un-classificateur-simple","text":"Un classificateur simple","depth":3},{"id":"modifier-la-répartition-entre-étapes","text":"Modifier la répartition entre étapes","depth":3},{"id":"choisir-la-taille-des-noyaux","text":"Choisir la taille des noyaux","depth":3},{"id":"le-choix-de-squeeze-and-excitation","text":"Le choix de Squeeze-and-Excitation","depth":3},{"id":"discussion","text":"Discussion","depth":2},{"id":"performances-sur-imagenet-1k","text":"Performances sur ImageNet-1K","depth":3},{"id":"ablation--structure-reparamétrée","text":"Ablation : structure reparamétrée","depth":3},{"id":"ablation--effet-des-couches-se","text":"Ablation : effet des couches SE","depth":3},{"id":"conclusion","text":"Conclusion","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"reparameterization/fastvit","relation":"comparison","topic":"Architectures visuelles rapides à déployer"},{"id":"reparameterization/mobileone","relation":"comparison","topic":"Architectures visuelles rapides à déployer"}]},{"id":"object-detection/yolov10","category":"object-detection","legacyPath":"object-detection/2405-yolov10","legacySlug":"2405-yolov10","legacyPaths":[],"title":"YOLOv10","subtitle":"Adieu, NMS","author":"Z. Yuan","paperDate":"2024-05-23","publishedOn":"2025-07-19","paperTitle":"YOLOv10: Real-Time End-to-End Object Detection","paperUrl":"https://proceedings.neurips.cc/paper_files/paper/2024/hash/c34ddd05eb089991f06f3c5dc36836e0-Abstract-Conference.html","bibliography":{"title":"YOLOv10: Real-Time End-to-End Object Detection","authors":["Ao Wang","Hui Chen","Lihao Liu","Kai Chen","Zijia Lin","Jungong Han","Guiguang Ding"],"url":"https://proceedings.neurips.cc/paper_files/paper/2024/hash/c34ddd05eb089991f06f3c5dc36836e0-Abstract-Conference.html","pdfUrl":"https://proceedings.neurips.cc/paper_files/paper/2024/file/c34ddd05eb089991f06f3c5dc36836e0-Paper-Conference.pdf","codeUrl":"https://github.com/THU-MIG/yolov10","preprint":{"id":"2405.14458","submittedOn":"2024-05-23","url":"https://arxiv.org/abs/2405.14458"},"publication":{"venue":"NeurIPS","year":2024,"kind":"conference","url":"https://proceedings.neurips.cc/paper_files/paper/2024/hash/c34ddd05eb089991f06f3c5dc36836e0-Abstract-Conference.html"},"citation":"@misc{objectdetectionyolov102024,\n  title = {{YOLOv10: Real-Time End-to-End Object Detection}},\n  author = {Ao Wang and Hui Chen and Lihao Liu and Kai Chen and Zijia Lin and Jungong Han and Guiguang Ding},\n  year = {2024},\n  eprint = {2405.14458},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2405.14458}\n}\n","citationPath":"/content/papers/citations/object-detection/yolov10.f624ec9e20b6.bib"},"thumbnail":{"src":"/content/papers/assets/43843817d1e6667933eb36b7b588db3ca318fe74e00d2d47095426923f3a5b44.jpg","width":1614,"height":536},"locale":"fr","path":"/content/papers/fr/object-detection/yolov10.81070e8e6ec5.md","headings":[{"id":"définir-le-problème","text":"Définir le problème","depth":2},{"id":"résoudre-le-problème","text":"Résoudre le problème","depth":2},{"id":"double-attribution-des-étiquettes","text":"Double attribution des étiquettes","depth":3},{"id":"optimisation-de-lefficacité-et-de-la-précision","text":"Optimisation de l'efficacité et de la précision","depth":3},{"id":"renforcements-axés-sur-la-précision","text":"Renforcements axés sur la précision","depth":3},{"id":"détails-de-mise-en-œuvre","text":"Détails de mise en œuvre","depth":3},{"id":"discussion","text":"Discussion","depth":2},{"id":"comparaison-avec-létat-de-lart","text":"Comparaison avec l'état de l'art","depth":3},{"id":"études-dablation","text":"Études d'ablation","depth":3},{"id":"le-système-sans-nms-remplace-t-il-vraiment-lapproche-classique-","text":"Le système sans NMS remplace-t-il vraiment l'approche classique ?","depth":3},{"id":"pourquoi-alléger-le-réseau-ne-détruit-il-pas-la-précision-","text":"Pourquoi alléger le réseau ne détruit-il pas la précision ?","depth":3},{"id":"plus-de-précision-pour-presque-la-même-latence-","text":"Plus de précision, pour presque la même latence ?","depth":3},{"id":"conclusion","text":"Conclusion","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"object-detection/yolov11","relation":"comparison","topic":"Architectures récentes de détection en temps réel"},{"id":"object-detection/yolo-tiny","relation":"comparison","topic":"Architectures récentes de détection en temps réel"}]},{"id":"classic-cnns/overlock","category":"classic-cnns","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"OverLoCK","subtitle":"Voir d'abord l'ensemble","author":"Z. Yuan","paperDate":"2025-02-27","publishedOn":"2026-02-24","paperTitle":"OverLoCK: An Overview-first-Look-Closely-next ConvNet with Context-Mixing Dynamic Kernels","paperUrl":"https://arxiv.org/abs/2502.20087","bibliography":{"title":"OverLoCK: An Overview-first-Look-Closely-next ConvNet with Context-Mixing Dynamic Kernels","authors":["Meng Lou","Yizhou Yu"],"url":"https://arxiv.org/abs/2502.20087","pdfUrl":"https://arxiv.org/pdf/2502.20087v3","codeUrl":"https://github.com/LMMMEng/OverLoCK","preprint":{"id":"2502.20087","submittedOn":"2025-02-27","url":"https://arxiv.org/abs/2502.20087"},"publication":{"venue":"CVPR","year":2025,"kind":"conference","url":"https://openaccess.thecvf.com/content/CVPR2025/html/Lou_OverLoCK_An_Overview-first-Look-Closely-next_ConvNet_with_Context-Mixing_Dynamic_Kernels_CVPR_2025_paper.html"},"citation":"@misc{classiccnnsoverlock2025,\n  title = {{OverLoCK: An Overview-first-Look-Closely-next ConvNet with Context-Mixing Dynamic Kernels}},\n  author = {Meng Lou and Yizhou Yu},\n  year = {2025},\n  eprint = {2502.20087},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2502.20087}\n}\n","citationPath":"/content/papers/citations/classic-cnns/overlock.a1eecba8875b.bib"},"thumbnail":{"src":"/content/papers/assets/99458c439c8f5458671d09ec6d68f52f31a20702b6a0bdba99e2fe33dbf86ea7.png","width":2112,"height":681},"locale":"fr","path":"/content/papers/fr/classic-cnns/overlock.dab14bfaaefd.md","headings":[{"id":"définir-le-problème","text":"Définir le problème","depth":2},{"id":"les-couches-intermédiaires-manquent-de-direction","text":"Les couches intermédiaires manquent de direction","depth":3},{"id":"les-noyaux-voient-trop-près","text":"Les noyaux voient trop près","depth":3},{"id":"résoudre-le-problème","text":"Résoudre le problème","depth":2},{"id":"trois-sous-réseaux","text":"Trois sous-réseaux","depth":3},{"id":"contmix--faire-entrer-limage-entière-dans-le-noyau","text":"ContMix : faire entrer l'image entière dans le noyau","depth":3},{"id":"quatre-tailles","text":"Quatre tailles","depth":3},{"id":"discussion","text":"Discussion","depth":2},{"id":"imagenet","text":"ImageNet","depth":3},{"id":"détection-et-segmentation","text":"Détection et segmentation","depth":3},{"id":"ajouter-les-éléments-un-par-un","text":"Ajouter les éléments un par un","depth":3},{"id":"comparaison-des-opérateurs-dynamiques","text":"Comparaison des opérateurs dynamiques","depth":3},{"id":"en-pratique","text":"En pratique","depth":3},{"id":"conclusion","text":"Conclusion","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"classic-cnns/internimage","relation":"referenced","topic":""},{"id":"classic-cnns/dcnv4","relation":"referenced","topic":""}]}],"text":"Dans les réseaux légers, le mélange spatial offre souvent deux choix : l'auto-attention voit large mais coûte cher ; les petits noyaux sont bon marché, mais voient étroit et gardent des poids fixes après entraînement.\n\nCe travail vient de Tsinghua. Son premier auteur, Ao Wang, est aussi celui de RepViT et YOLOv10. L'idée s'inspire des deux types de photorécepteurs de la rétine : les bâtonnets périphériques couvrent large mais flou ; les cônes centraux couvrent peu mais avec précision. Le titre See Large, Focus Small décrit ce partage des rôles.\n\n\n> [!TIP]\n> \n> Deux autres travaux du même auteur :\n> \n> - **[[23.07] RepViT : Un regard inspiré de ViT](/blog/papers/reparameterization/repvit)**\n> - **[[24.05] YOLOv10 : Adieu, NMS](/blog/papers/object-detection/yolov10)**\n\n\n## Définir le problème\n\n### Perception et agrégation\n\nLes auteurs séparent le token mixing, l'échange spatial d'information, en deux étapes :\n\n- **Perception** : déterminer les positions voisines liées à la position courante et la force de ces relations, donc calculer les poids d'agrégation.\n- **Agrégation** : sommer les caractéristiques voisines avec ces poids.\n\n[![Figure 1 de l'article : (a) auto-attention sur une grille de photo de chat et chien. Une case bleu foncé est la requête ; les flèches orange de perception et softmax produisent des poids sur une large zone, verts s'ils sont utiles, rouges s'ils sont superflus. Les flèches bleues d'agrégation couvrent la même étendue. (b) Convolution : perception et agrégation restent dans un petit voisinage 3×3 à poids fixes. (c) Œil humain : bâtonnets en périphérie, cônes au centre ; les flèches orange See Large, Perception viennent d'une grande image floue, les bleues Focus Small, Aggregation visent une petite zone nette. (d) Densité selon l'excentricité par rapport à la fovéa : les bâtonnets, en bleu, sont nombreux en périphérie et absents au centre ; les cônes, en rouge, forment un pic élevé au centre.](/content/papers/assets/85567a02dcfb2f88ff1be569a4d077a422f781df88b73b63effe301953d2985b.png)](/content/papers/assets/85567a02dcfb2f88ff1be569a4d077a422f781df88b73b63effe301953d2985b.png)\n\n*Figure 1 de Wang et al., extraite de la [**page 2 du PDF**](https://arxiv.org/pdf/2503.23135v1#page=2), CC BY 4.0. La légende originale est omise.*\n\nSous cet angle, les deux mélangeurs courants ont chacun un défaut.\n\nL'auto-attention utilise la même étendue pour percevoir et agréger. La requête compare toutes les positions, applique softmax puis les somme toutes avec ces poids. Le coût augmente avec l'étendue, et une partie des poids va souvent à des zones peu informatives comme le fond, les cases rouges de la figure (a).\n\nLa convolution utilise aussi une même étendue, mais petite. Ses poids sont le noyau : ils dépendent uniquement de la position relative, sont identiques partout et fixes après entraînement. Les réseaux légers utilisent généralement de petits noyaux, à portée limitée et sans adaptation au contenu.\n\nTous deux agrègent aussi large qu'ils perçoivent. Les auteurs veulent dissocier les étendues : perception large, agrégation locale.\n\n## Résoudre le problème\n\n### Convolution LS\n\n[![Figure 3 de l'article : (a) la convolution LS. Dans le cadre orange Large Kernel Perception, l'entrée H×W×C passe par une convolution 1×1 vers C/2, une depthwise K_L×K_L, puis deux convolutions 1×1 vers H×W×D, remodelé en H×W×G×K_s×K_s. Dans le cadre bleu Small Kernel Aggregation, chaque position reçoit son noyau K_s×K_s, partagé par les C/G canaux d'un groupe, pour convoluer le voisinage 3×3. (b) LSNet suit Stem, trois segments LS Block et Downsample, puis MSA Block, Pooling et FC. Le Stem comporte trois convolutions 3×3 de pas 2 ; Downsample, une depthwise 3×3 de pas 2 puis une 1×1. LS Block contient DW3×3, SE, FFN, LS Convolution et FFN ; MSA Block remplace LS Convolution par MHSA.](/content/papers/assets/6d3e348c9f8512697f7230b2ac3fde0efdd4fd84198dbb519d931acd26bcbb59.png)](/content/papers/assets/6d3e348c9f8512697f7230b2ac3fde0efdd4fd84198dbb519d931acd26bcbb59.png)\n\n*Figure 3 de Wang et al., extraite de la [**page 5 du PDF**](https://arxiv.org/pdf/2503.23135v1#page=5), CC BY 4.0. La légende originale est omise.*\n\nLa convolution LS, Large-Small, met cette idée en œuvre en deux parties :\n\n1. **Perception par grand noyau** : une convolution 1×1 divise les canaux par deux ; une depthwise $K_L\\times K_L$ observe un grand voisinage ; des convolutions 1×1 génèrent enfin les poids de chaque position. Par défaut, $K_L=7$.\n2. **Agrégation par petit noyau** : les poids sont remodelés en $G$ noyaux $K_S\\times K_S$ par position, puis utilisés pour sommer un petit voisinage. Par défaut, $K_S=3$, et 8 canaux d'un groupe partagent un noyau.\n\nLes poids sont donc dynamiques et propres à chaque position, décidés après avoir vu une zone 7×7 ; seules les valeurs des voisins 3×3 sont réellement additionnées. Vérifions par gradient quelles entrées influencent la sortie centrale :\n\n```python\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\n\ntorch.manual_seed(0)\nC, H, W = 16, 15, 15\nG, KL, KS = 2, 7, 3                                   # 2 groupes, perception 7×7, agrégation 3×3\npw1 = nn.Conv2d(C, C // 2, 1)\ndw = nn.Conv2d(C // 2, C // 2, KL, padding=KL // 2, groups=C // 2)\npw2 = nn.Conv2d(C // 2, G * KS * KS, 1)\n\ndef ls_conv(x, detach_weights=False):\n    w = pw2(dw(pw1(x)))                               # Grand noyau : un noyau 3×3 par position et groupe\n    if detach_weights:\n        w = w.detach()                                # Ne garder que le chemin des valeurs agrégées\n    w = w.view(G, 1, KS * KS, H * W)\n    patches = F.unfold(x, KS, padding=KS // 2).view(G, C // G, KS * KS, H * W)\n    return (patches * w).sum(2).view(1, C, H, W)      # Petit noyau : noyau partagé dans chaque groupe\n\ndef footprint(detach_weights):\n    x = torch.randn(1, C, H, W, requires_grad=True)\n    ls_conv(x, detach_weights)[0, :, H // 2, W // 2].sum().backward()\n    grid = x.grad[0].abs().sum(0) > 0\n    rows, cols = grid.nonzero().T\n    return f\"{int(grid.sum())} positions, étendue {int(rows.max() - rows.min() + 1)}×{int(cols.max() - cols.min() + 1)}\"\n\nprint(\"Entrées influençant la sortie centrale :\", footprint(False))\nprint(\"Valeurs réellement agrégées parmi elles :\", footprint(True))\n```\n\n```text\nEntrées influençant la sortie centrale : 49 positions, étendue 7×7\nValeurs réellement agrégées parmi elles : 9 positions, étendue 3×3\n```\n\nQuarante-neuf positions déterminent les poids ; seules neuf valeurs sont additionnées. Voilà See Large, Focus Small. Le vrai module contient aussi normalisations et activations, omises ici.\n\nLe coût reste ainsi faible. La grande étendue utilise seulement une depthwise ; la petite ne somme que 9 valeurs. L'ensemble croît linéairement avec la résolution, sans le coût quadratique en étendue de l'auto-attention.\n\n\n> [!TIP]\n> \n> La génération des poids LS se compare à OverLoCK, qui observe aussi une large zone avant de fixer les poids locaux :\n> \n> - **[[25.02] OverLoCK : Voir d'abord l'ensemble](/blog/papers/classic-cnns/overlock)**\n\n\n### Assembler le réseau\n\nLe bloc LS utilise la convolution LS pour le mélange spatial avec une connexion résiduelle, ajoute une depthwise et une couche SE, puis un FFN pour mélanger les canaux.\n\nLSNet comporte quatre étages. Les trois premiers utilisent des blocs LS ; le dernier, déjà réduit à $H/64$, passe à des blocs MSA d'auto-attention multi-tête. LSNet utilise donc de l'attention dans sa dernière partie et combine les deux familles d'opérateurs.\n\nLes trois tailles T, S et B demandent respectivement 0.3G, 0.5G et 1.3G FLOPs. Les blocs se concentrent dans les étages tardifs, les hautes résolutions initiales étant plus coûteuses.\n\n## Discussion\n\n### ImageNet\n\nLe débit est mesuré sur une RTX 3090, avec le plus grand batch puissance de deux tenant en mémoire :\n\n| Modèle | Paramètres | FLOPs | Débit (images/s) | top-1 |\n| --- | ---: | ---: | ---: | ---: |\n| FasterNet-T0 | 3.9M | 0.3G | 14467 | 71.9% |\n| EfficientViT-M3 | 6.9M | 0.3G | 14613 | 73.4% |\n| StarNet-S1 | 2.9M | 0.4G | 5034 | 73.5% |\n| LSNet-T | 11.4M | 0.3G | **14708** | **74.9%** |\n| UniRepLKNet-A | 4.4M | 0.6G | 3931 | 77.0% |\n| RepViT-M0.9 | 5.1M | 0.8G | 4817 | 77.4% |\n| SHViT-S3 | 14.2M | 0.6G | 8993 | 77.4% |\n| LSNet-S | 16.1M | 0.5G | **9023** | **77.8%** |\n| FastViT-T12 | 6.8M | 1.4G | 2586 | 79.1% |\n| RepViT-M1.1 | 8.2M | 1.3G | 3604 | 79.4% |\n| LSNet-B | 23.2M | 1.3G | **3996** | **80.3%** |\n\n*Tableau : certaines lignes du tableau 1 de l'article, versions distillées exclues.*\n\nÀ FLOPs comparables, LSNet se place en tête en précision et en débit. LSNet-T gagne 1.4 point sur StarNet-S1 avec un débit presque trois fois supérieur ; LSNet-B gagne 0.9 point sur RepViT-M1.1. La distillation depuis RegNetY-16GF ajoute encore 1.2 à 1.3 point aux trois tailles.\n\nDeux éléments doivent accompagner cette lecture.\n\nD'abord, les paramètres. LSNet-T ne demande que 0.3G FLOPs, mais possède 11.4M paramètres, quatre fois StarNet-S1 ; LSNet-B en a 23.2M. Si la contrainte porte sur la taille du modèle ou la mémoire, il faut relire le classement sous cet angle.\n\nEnsuite, le protocole de vitesse. L'article mesure uniquement le débit GPU à grand batch sur RTX 3090, sans latence mobile ni CPU. StarNet met en avant la latence batch 1 sur iPhone. Les deux mesures diffèrent : le débit presque triplé de ce tableau s'applique au GPU et au protocole indiqué.\n\n### Ablations\n\nCes expériences entraînent LSNet-T pendant seulement 100 epochs, avec une référence à 71.6% :\n\n| Modification | top-1 |\n| --- | ---: |\n| Convolution LS (référence) | 71.6% |\n| Sans convolution LS | 69.3% |\n| Sans perception par grand noyau | 70.5% |\n| Noyau de perception de 7 à 3 | 70.9% |\n| Noyau de perception de 7 à 9 | 71.5% |\n| Sans agrégation par petit noyau (grand noyau puis petit noyau ordinaire) | 70.1% |\n| Noyau d'agrégation de 3 à 1 | 69.6% |\n| Noyau d'agrégation de 3 à 5 | 71.6% |\n\n*Tableau : tableaux 5 et 7 de l'article.*\n\nDeux lignes méritent attention.\n\nSans agrégation par petit noyau, la sortie de la perception passe directement par une petite convolution statique. Cette association intuitive « grand puis petit noyau » ne donne que 70.1%, soit 1.5 point de moins que LS. L'information étendue aide davantage à déterminer les poids qu'à simplement empiler des convolutions.\n\nPasser l'agrégation de 3 à 5 ne change pas la précision, mais fait passer les FLOPs de 0.31G à 0.34G. Agrandir la perception de 7 à 9 n'aide pas davantage. Voir 7×7 et sommer 3×3 suffit.\n\nLes auteurs insèrent aussi LS dans d'autres réseaux. Remplacer toutes les convolutions 3×3 de ResNet-50 fait baisser les FLOPs de 4.1G à 2.6G et monter la précision de 78.8% à 80.7%. Remplacer l'auto-attention de DeiT-T fait passer les FLOPs de 1.3G à 0.9G et la précision de 72.2% à 73.0%.\n\n### Déploiement\n\nL'agrégation LS n'est pas une convolution ordinaire : chaque position utilise son propre noyau, ce que le `conv2d` intégré à PyTorch ne fait pas. Le code officiel utilise donc un opérateur GPU spécifique écrit en Triton. Sur GitHub, [un utilisateur demande pourquoi la convolution intégrée n'est pas utilisée](https://github.com/jameslahm/lsnet/issues/8) et évoque des difficultés de compatibilité TensorRT. Pour le mobile ou un autre moteur d'inférence, il faut réimplémenter cette étape, par exemple avec `unfold` et une multiplication élément par élément, comme dans la démonstration ci-dessus.\n\n## Conclusion\n\nLSNet découpe le mélange de tokens en perception et agrégation, avec des étendues différentes. La depthwise 7×7 observe et détermine les poids 3×3 de chaque position ; l'agrégation ne fait qu'une somme pondérée de 9 valeurs. Les ablations montrent clairement l'intérêt d'utiliser l'information étendue pour décider des poids, plutôt que d'empiler directement grands et petits noyaux.\n\nLa convolution LS est peut-être plus utile à emporter que le réseau entier. Elle repose sur une depthwise et des sommes pondérées par position. Insérée dans ResNet-50, elle réduit les FLOPs de près de 40% et gagne encore 1.9 point de précision.\n","imageSizes":{"/content/papers/assets/85567a02dcfb2f88ff1be569a4d077a422f781df88b73b63effe301953d2985b.png":{"width":1743,"height":432},"/content/papers/assets/6d3e348c9f8512697f7230b2ac3fde0efdd4fd84198dbb519d931acd26bcbb59.png":{"width":1728,"height":948}}}
