モデル・技術

MobileNetとは?畳み込みを二段に割る——端末で回すための薄いCNN

読み:モバイルネット / 英:MobileNet

更新日: 読了目安:約6分

MobileNetは、Depthwise Separable Convolution——畳み込みを二段に分けて薄くする——ことを核にした軽量CNNファミリーです。AlexNetが「GPUで深く太く」なのに対し、MobileNetは「スマホの上で回る薄さ」——本記事はバージョン番号の暗記より、「なぜ畳み込みを分割するのか」に焦点を当てます。

なぜ軽量が必要か

画像認識はクラウドだけでは完結しません——カメラ上でリアルタイム推論するエッジAIでは、計算・メモリ・消費電力に厳しい上限があります(G-408)。

データセンターのGPU向けに設計された大型CNNをそのまま端末に載せるのは難しい。MobileNetはアーキテクチャの段階から計算を削る——「学習後に削る」の前に、「最初から薄く作る」発想です。

二段畳み込みの直感

標準の畳み込みは、空間方向とチャネル方向を一度に混ぜます。Depthwise Separableはこれを分割します(G-309)。

段階何をするか
1. Depthwise各チャネルごとに空間方向だけ畳み込み(チャネル間は混ぜない)
2. Pointwise(1×1)1×1畳み込みでチャネル間を混合

たとえば「まず各チャネルでエッジを拾い、次に1×1で特徴を組み合わせる」——2段に分けることで、標準畳み込みより計算量・パラメータを大幅に削減できる場合があります。G-309の正解は「畳み込みを含む」——全結合だけ、という誤答Dを避けます。

精度とのトレードオフ

軽くすれば速い・省メモリ——反面、表現力は標準CNNより落ちやすい。MobileNetファミリーは幅の倍率(width multiplier)解像度の倍率で、速度と精度のノブを調整します。

  • α小 — さらに軽い。精度は下がりやすい
  • α大 — 重くなるが精度回復
  • 用途 — リアルタイム分類、顔検出、エッジカメラなど

Inceptionが「複数スケールを並べて賢く」、EfficientNetが「深さ・幅・解像度のバランス」——MobileNetは畳み込みの分解で薄くする、という別ルートの効率化です。

他の軽量化との違い

手法いつ効くか
MobileNet設計時から軽量CNNアーキテクチャ
プルーニング学習に重み削減圧縮(G-025
量子化ビット数を下げる圧縮(G-406
知識蒸留大モデル→小モデルへ転移学習手法

試験では「MobileNet=プルーニング」「MobileNet=全結合のみ」と答えない——軽量CNNの代表名として位置づけます。

試験で押さえるポイント

  • 定義Depthwise Separable Convolutionを核にした軽量CNN
  • 目的 — モバイル・エッジでの画像認識推論
  • 仕組み — Depthwise(空間)+ Pointwise(チャネル混合)の二段
  • 対比 — AlexNet=高精度志向、プルーニング=事後削減、RNN=時系列

演習で確認する

G検定:G-309G-408TF-401G-025

すり替えに注意

誤った説明正しい理解
MobileNet=AlexNet軽量エッジ向け vs GPU時代の古典
MobileNet=全結合のみ畳み込みを二段に分ける(G-309の誤答D)
MobileNet=RNN画像CNN vs 時系列モデル
MobileNet=プルーニング設計時軽量化 vs 学習後の削減
MobileNet=YOLO軽量分類CNN vs 物体検出モデル名

よくある質問

MobileNetは何をするモデルですか?

畳み込みをDepthwiseとPointwiseの二段に分けて計算量を削減した軽量CNNです。画像認識の精度をある程度保ちつつ、モバイル端末やエッジデバイスで推論しやすいサイズと速度を狙って設計されています。

MobileNetとAlexNetは同じですか?

同じではありません。AlexNetはGPU時代を切り開いた高精度志向の古典CNNです。MobileNetはその後の世代で、計算資源が限られた端末向けに軽量化を最優先したCNNファミリーです。どちらもCNNですが、設計目標が異なります。

MobileNetとプルーニングは同じですか?

同じではありません。MobileNetは軽量な畳み込み構造を最初から組み込んだアーキテクチャ設計です。プルーニングは学習済みモデルから不要な重みや構造を後から削る圧縮手法です。目的はどちらも軽量化ですが、設計時 vs 事後削減で役割が異なります。