RegNet れぐねっと
RegNetネットワーク設計空間CNNFacebook AI Researchモデル設計画像認識
RegNetについて教えて
RegNetとは
RegNet(Regularized Network) は、2020年にFacebook AI Research(FAIR)のRadosavovic・Dollárらが発表したネットワーク設計空間(Design Space)の体系的探索から生まれたCNNアーキテクチャです。
従来のモデル設計は「人間が経験とヒューリスティクスで手動設計する」方法でした。RegNetは数百万のモデルをサンプリング・評価することでネットワーク設計の「規則性(Regularity)」を発見するアプローチを取ります。
発見された規則性は「幅(チャンネル数)は線形に増加する」「深さ(層数)は固定または緩やかに増加する」「ボトルネック比は一定にする」などで、これに従って設計されたRegNetはResNetやEfficientNetを同じ計算量で精度で上回る多くの設定で確認されました。
RegNetの設計原則
| パラメータ | 従来の試行錯誤 | RegNetの発見した規則 |
|---|---|---|
| チャンネル幅 | 経験的に設定 | 段階ごとに線形に増加 |
| 深さ | 均等または試行 | 固定または緩やか増加 |
| グループ幅 | 固定値 | 8以上の固定値が良い |
| ボトルネック比 | 変化する | 1固定が最適に近い |
歴史と背景
- 2020年:論文「Designing Network Design Spaces」を発表。RegNetXとRegNetYを公開
- 2020年:RegNetが同計算量のEfficientNetを超える精度をいくつかの設定で達成
- 2021年:PyTorchの
torchvisionに公式実装が追加される - 現在:検出・セグメンテーションなどのバックボーンとして使用されているが、ViT系の台頭で主役の座はやや後退
RegNetの系統
| バリアント | 特徴 |
|---|---|
| RegNetX | 通常のグループ畳み込みのみ使用 |
| RegNetY | RegNetX + Squeeze-and-Excitation(チャンネルアテンション)を追加 |
import torchvision.models as models
# RegNetY-8GFを使用(高精度版)
regnet = models.regnet_y_8gf(pretrained=True)
print(f"パラメータ数: {sum(p.numel() for p in regnet.parameters()):,}")
EfficientNet・ResNetとの比較
| モデル | 計算量 | 精度(Top-1) | 設計方法 |
|---|---|---|---|
| ResNet-50 | 4.1G | 76.1% | 手動 |
| EfficientNet-B4 | 4.2G | 82.6% | 複合スケーリング |
| RegNetY-8GF | 8G | 82.2% | 設計空間探索 |
関連用語
- CNN(畳み込みニューラルネットワーク) — RegNetが採用する基本構造
- ResNet — RegNetが超えようとしたベースラインモデル
- EfficientNet — RegNetと同時期に競った高効率CNNモデル
- ConvNeXt — RegNetと同じく「CNNの再設計」を試みた後継モデル