LSNet-人間の視覚から着想を得た軽量かつ高性能な畳込みニューラルネットワーク

近年、コンピュータビジョンの分野では、目覚ましい発展を遂げた深層学習モデルが、その計算コストの高さから、実用的な課題に直面しています。特に、リアルタイム性が求められるアプリケーションや、計算資源に制約のあるモバイルデバイスなどの環境においては、高性能でありながら軽量かつ効率的なAIモデルの設計が喫緊の課題となっています。
このような背景の中、本記事では、この難題に挑む新たなアプローチとして、人間の視覚システムに着想を得た新しい軽量ニューラルネットワーク「LSNet (Large-Small Network)」を紹介します。特に、周辺視野による広範囲の知覚と中心窩による詳細な注視という「See Large, Focus Small」戦略を応用しています。LSNetは、LS (Large-Small) Convolutionと呼ばれる畳込み演算を中核とし、広い視野での情報把握と局所的な精密な特徴集約を両立させることで、高い性能と効率性を達成しています。本記事を通じて、LSNetの基本原理、アーキテクチャ、そしてその性能について解説していきます。
軽量AIモデルの現状と課題
軽量AIモデルは、リソース制約のある環境でのAI活用を促進する上で不可欠な存在です。近年、スマートフォン、組み込みシステム、IoTデバイスなど、計算能力やバッテリー容量に制限のあるプラットフォームにおける高度なコンピュータビジョンタスクの需要が急速に高まっています。このような背景から、高性能を維持しつつ、モデルサイズや計算量を大幅に削減するための研究開発が活発に行われています。
しかしながら、現状の軽量AIモデル設計においては、いくつかの重要な課題が存在します。多くの既存の軽量モデルは、トークンミキシングの主要な手法として、畳み込みニューラルネットワーク(CNN)における畳み込み演算や、Vision Transformer(ViT)に代表される自己注意機構(Self-Attention Mechanism)に大きく依存しています。これらの技術は、それぞれの特性を持つ一方で、軽量化の観点からは効率性や有効性の面で限界が見られています。
現在の軽量AIモデルが抱える課題
- 自己注意機構の課題
- 計算量が入力トークン数の二乗に比例し、高解像度画像処理時に著しいコスト増加
- 重要でない領域にも過剰な注意を払うことによる計算資源の無駄遣い
- 知覚(Perception)と集約(Aggregation)の範囲が同一であるため、効率的な知覚範囲拡大が困難
- 畳み込み演算の課題
- 受容野がカーネルサイズに限定され、大域的な文脈情報を捉える能力に限界
- カーネルの重みが固定されているため、入力特徴に応じた適応的な関係性モデル化が困難
- 画一的な重みを用いた特徴集約により、多様な文脈への柔軟な対応が制限される
以上のように、既存の軽量モデルが主に依存してきた自己注意機構と畳み込み演算は、それぞれ計算コスト、受容野、適応性といった側面において課題を抱えています。これらの技術に偏重することが、軽量モデルにおける性能と効率の最適なバランスを実現するための障壁となっています。したがって、限られた計算資源の下で、より効果的かつ効率的な知覚と集約のプロセスを実現する新しいトークンミキシングの手法の開発が、軽量AIモデルの発展において不可欠な要素となっているのです。
人間の視覚システムからのインスピレーション -「See Large, Focus Small」戦略
人間の視覚システムは、驚くほど効率的かつ効果的に周囲の視覚情報を処理する能力を備えています。LSNetの設計は、まさにこの人間の視覚システムが持つ動的な異種スケール視覚能力、「See Large, Focus Small(広範囲を見て、狭い範囲に焦点を当てる)」戦略から深くインスピレーションを受けています。
私たちの目は、周囲の環境を瞬時に把握し、その中で特に注意を払うべき対象を選択的に詳細に捉えることができます。これは、以下の2段階のメカニズムによって実現されています。
- 周辺視野による広範囲のシーンの知覚(See Large)
- 中心窩を中心とした狭い視野での特定の要素への焦点合わせと詳細な情報処理(Focus Small)
周辺視野は、視野の大部分を占め、広範囲の情報を同時に捉える役割を担っています。この広範囲の知覚により、私たちは周囲の状況を素早く把握し、潜在的な危険や興味のある物体を検出することができます。一方、中心窩は、網膜の中心に位置する小さな領域であり、高密度の錐体細胞が集まっています。この中心窩を用いる中心視は、非常に高い解像度と詳細な色彩情報を処理する能力を持ち、私たちが特定の物体に焦点を当てて、その微細な特徴や複雑な形状を認識することを可能にします。
この「See Large, Focus Small」という特性は、網膜に分布する二種類の主要な光受容体細胞の異なる役割と分布によって支えられています:
- 杆体細胞(rod cells)
- 網膜の周辺領域に広く分布
- 光に対する感度が高く、主に暗所視や動きの検出に貢献
- 空間的な詳細情報は限られるが、広い視野にわたる大まかなシーンの全体像を捉えることに優れる
- 「See Large」の役割を担う
- 錐体細胞(cone cells)
- 主に網膜の中心窩に高密度に集中
- 明所視、色覚、高い空間解像度での視覚を担当
- 微細なディテールや複雑な特徴を捉える能力に長ける
- 「Focus Small」を可能にする基盤となる
人間の視覚システムでは、まず周辺視野が広範囲の情報を捉え、その情報に基づいて注意を向けるべき領域が絞り込まれます。次に、中心窩がその特定の領域に焦点を当て、詳細な情報を集中的に処理することで、迅速かつ効率的な視覚情報の理解を実現しています。周辺視野による広範な知覚が、中心窩による精密なイメージングを効果的に導くという、この動的な連携こそが、人間の視覚システムの優れた能力の源泉と言えるでしょう。
LSNetは、この人間の視覚システムの効率的な情報処理メカニズムを模倣し、計算資源が限られた軽量モデルにおいても、広範囲の知覚と狭い範囲への焦点化という二つの重要なプロセスを効果的に実現することを目指しています。具体的には、広い受容野を持つ演算を用いて広範な文脈情報を効率的に捉え(See Large)、その情報に基づいて、より局所的な範囲で適応的に特徴を集約する演算(Focus Small)を行うことで、高い認識性能と計算効率の両立を目指しています。人間の視覚システムから得られたこの基本的な洞察を基に、LSNetの核となる技術、LS(Large-Small)Convolutionが開発されました。

LSNetの核心技術 – LS (Large-Small) Convolution
LSNetの核心技術であるLS (Large-Small) Convolutionは、「See Large, Focus Small」戦略を実現するために提案された新しい畳み込み演算です。これは、人間の視覚システムが持つ、広範囲の情報を捉えつつ、重要な細部に焦点を当てる能力に触発された設計となっています。
LS convolutionは、以下の二つの主要なステップを組み合わせたものです:
- 広範囲の知覚を担当する large-kernel static convolution(大きなカーネルサイズの静的畳み込み)
- 精密な特徴集約を行う small-kernel dynamic convolution(小さなカーネルサイズの動的畳み込み)
Large-Kernel Perception (LKP)
- 入力された特徴マップに対して、大きなカーネルサイズの深層分離畳み込み(depth-wise convolution)を適用
- 深層分離畳み込みにより、計算コストを効率的に抑えながら広い受容野を獲得
- 画像内の広範囲の文脈情報を捉えることが可能
- 後続のpoint-wise convolution(1×1の畳み込み)によって、捉えられた広範な文脈情報に基づいて空間的な関係性をモデル化
- 人間の周辺視野が広い範囲のシーンを認識する能力に対応し、「See Large」の側面を担当
Small-Kernel Aggregation (SKA)
- LKPによって生成された情報(空間的な関係性を表す重み)を利用して、小さなカーネルサイズの動的畳み込みを実行
- 入力特徴の関連性の高い局所領域内の特徴を、適応的な重みを用いて融合
- 広範囲の文脈を把握した上で、より局所的な範囲で詳細な特徴を集約
- 計算コストを抑えるためのグループ化(group mechanism)を導入
- チャンネルを複数のグループに分割し、グループ内で重みを共有することでメモリ効率と計算効率を向上
- 人間の中心窩が狭い範囲に焦点を当てて微細な情報を捉える能力に対応し、「Focus Small」の側面を実現
LS convolutionの重要な特徴は、単に大きなカーネルと小さなカーネルの畳み込みを直列に組み合わせるのではなく、LKPが捉えた広範な文脈情報が、後続のSKAにおける特徴の集約方法をガイドする点にあります。これにより、ネットワークは入力画像の内容に応じて、動的に近傍の特徴を適応的に融合させることができ、より識別力の高い視覚表現を獲得することが可能になります。
従来の固定された重みを持つ畳み込みや、グローバルな注意を均一に適用する自己注意機構と比較して、LS convolutionは効率性と表現力のバランスに優れていると言えます。この革新的な設計により、LS convolutionは軽量モデルにおいても、複雑な視覚情報を効果的に処理し、高い性能を発揮することが期待されます。

LSNetのアーキテクチャと性能
LS blockの構成要素
LSNetは、その主要な構成要素として、LS (Large-Small) convolutionを基本的なトークンミキシングの操作として統合したLS blockを採用しています。
- 効率的なトークンミキシングを行うLS convolution
- モデルの最適化を容易にするためのスキップコネクション
- より局所的な帰納的バイアスを導入する追加の深層分離畳み込み(depth-wise convolution)とSE(Squeeze-and-Excitation)レイヤー
- チャンネルミキシングのためのFeed Forward Network(FFN)
全体的アーキテクチャ
LSNetの全体的なアーキテクチャは、まずoverlapping patch embeddingを用いて入力画像を視覚的な特徴マップに射影します。ダウンサンプリングは、空間解像度を削減し、チャンネル数を調整するために、深層分離畳み込みとpoint-wise畳み込みを利用して行われます。LSNetの主要な処理ブロックとして、最初の三つのステージでLS blockが複数スタックされています。最後のステージでは、解像度が小さくなるため、長距離の依存関係を捉えるためにMSA(Multi-head Self-Attention)blockが採用されています。このMSA blockにも、LS blockと同様に局所的な構造情報を導入するために、深層分離畳み込みとSEレイヤーが組み込まれています。
LSNetには、計算予算に応じて以下の3つのバリアントが存在し、それぞれ異なる数のブロックとチャンネル数を持っています:
- LSNet-T(tiny)
- LSNet-S(small)
- LSNet-B(base)

LSNetの性能評価
実験の結果、LSNetはImageNet-1Kをはじめとする様々な画像分類ベンチマークにおいて、既存の最先端の軽量ネットワークと比較して、一貫して優れた性能を達成しています。
特に、精度と推論速度のトレードオフにおいて、LSNetの優位性が明確に示されています。
例えば、LSNet-Bは、高度なAFFNetよりも0.5%高いTop-1精度を達成しながら、ほぼ3倍速い推論速度を実現しています。また、より小さなモデルであるLSNet-TやLSNet-Sも、他の軽量モデルを上回る精度を、より低い計算コストで達成しています。

LSNetの高い転移性能は、以下の下流タスクにおいても確認されています:
- 物体検出およびインスタンスセグメンテーション
- セマンティックセグメンテーション
COCO-2017データセットを用いたRetinaNetおよびMask R-CNNのフレームワークにLSNetを統合した結果、競合モデルと比較して性能が向上しています。特に、RetinaNetにおいてLSNet-TはStarNet-S1を大幅に上回り、LSNet-BはPoolFormer-S12やPVT-Tinyを大きく凌駕しています。ADE20Kデータセットを用いたセマンティックセグメンテーションのタスクにおいても、Semantic FPNモデルにLSNetを組み込むことで、様々なモデルスケールにおいて明らかに優れた性能を示しています。

さらに、ロバスト性評価においても、LSNetはImageNet-C、ImageNet-A、ImageNet-R、ImageNet-Sketchなどのベンチマークで、様々なノイズや分布の変化に対して優れた性能を示しています。例えば、LSNet-BはUniRepLKNet-Aと比較して、ImageNet-Cでより低い平均破損エラー(mCE)を達成し、他のロバスト性ベンチマークでもより高いTop-1精度を記録しています。これらの結果は、LSNetが多様な視覚タスクにおいて、高性能かつ高効率であり、さらに優れたロバスト性を持つことを示唆しています。
Pythonによる LSNet の実践
LSNetはGitHubで公開されているので、その使い方を紹介します。公式のREADMEではPython 3.8系を前提としていますが、ここではPython 3.12環境での構築手順を説明します。
まず、venvを使って専用の仮想環境を作成しましょう。
$ python -m venv --prompt "lsnet" .venv
$ source .venv/bin/activate
$ python -m pip install --upgrade pip
次に、GitHubからリポジトリをクローンし、必要なパッケージをインストールします。
$ git clone https://github.com/THU-MIG/lsnet
$ cd lsnet
$ pip install timm==0.5.4 \
einops>=0.4.1 \
fvcore \
easydict \
matplotlib \
numpy>=1.21.0 \
yacs \
scikit-image>=0.19.3 \
pillow \
wandb \
huggingface-hub \
torch==2.4.1 \
torchvision==0.19.1
インストールが完了したら、モデルを実際に使ってみましょう。基本的な使い方は非常にシンプルです。
import timm import torch from model import build # リポジトリの model ディレクトリだけあれば、モデルを使用できます。 # モデルの選択("lsnet_t"、"lsnet_s"、"lsnet_b"から選べます) model = timm.create_model("lsnet_t", num_classes=1000, distillation=False, pretrained=False) model.to("cuda") # 推論実行 inputs = torch.randn(2, 3, 224, 224).to("cuda") outputs = model(inputs) # outputs.shape => torch.Size([2, 1000])
LSNetには性能の異なる複数のモデルが用意されています。以下の表は各モデルの性能比較です。(*印はディスティレーション(知識蒸留)を適用したモデルです。)
Model | Top-1 | Params | FLOPs | Throughput | Ckpt | Log |
---|---|---|---|---|---|---|
LSNet-T | 74.9 / 76.1* | 11.4M | 0.3G | 14708 | T / T* | T / T* |
LSNet-S | 77.8 / 79.0* | 16.1M | 0.5G | 9023 | S / S* | S / S* |
LSNet-B | 80.3 / 81.6* | 23.2M | 1.3G | 3996 | B / B* | B / B* |
学習済みモデルを使用する場合は、HuggingFace Hubから事前学習済みの重みをダウンロードして、次のようにロードします。
import timm import torch from model import build model = timm.create_model("lsnet_t", num_classes=1000, distillation=False, pretrained=False) model.to("cuda") state_dict = model.state_dict() # 事前学習済み重みのロード weights = torch.load("lsnet_t.pth", weights_only=False) weights = weights["model"] # 形状の合わない層の処理 for k in ['head.l.weight', 'head.l.bias','head_dist.l.weight', 'head_dist.l.bias']: if k in weights and weights[k].shape != state_dict[k].shape: del weights[k] model.load_state_dict(weights)
これでLSNetを使った画像認識や転移学習など、様々なタスクに挑戦することができます。小型モデルから大型モデルまで用意されているので、用途や計算リソースに応じて最適なモデルを選択してください。
おわりに
本記事では、人間の視覚システムから着想を得た「See Large, Focus Small」戦略と、それを具現化する新しい畳み込み演算であるLS convolutionを核としたLSNetを紹介し、軽量かつ高性能なネットワークの新たな可能性を示しました。LSNetは、既存の軽量モデルが抱える有効性と効率性の限界を克服し、限られた計算資源下での高性能なAI活用を促進することが期待されます。
LSNetの応用範囲は広く、以下のような計算コストと速度が重要となる多くの分野での貢献が期待されます。
- リアルタイム物体検出
- モバイルアプリケーション
- エッジデバイス
また、今後の研究においては、以下のような展開が期待されます。
- LSNetのさらなる性能向上
- 視覚言語タスクや教師なし学習といった異なるタスクへの応用
- ImageNet-21Kのようなより大規模なデータセットでの事前学習
More Information
- arXiv:2503.23135, Ao Wang, Hui Chen, Zijia Lin, Jungong Han, Guiguang Ding, 「LSNet: See Large, Focus Small」, https://arxiv.org/abs/2503.23135