最終更新日:2026年6月27日
gk cnn
G検定トップ
> VGG(Very Deep CNN)とは?G検定対策
まず結論
- VGGとは、小さな畳み込み(3×3)を積み重ねてネットワークを深くするという、非常にシンプルな設計思想のCNN。
- G検定では「構造が単純」「パラメータ数が多い」「深いCNN」という特徴を理解しているかが問われる。
直感的な説明
- AlexNetは画期的でしたが、構造はまだ複雑でした。
- VGGは、 👉 「変なことはせず、同じ形の層をひたすら重ねたらどうなる?」 という発想のモデルです。
-
その結果、
- 理解しやすい
- でも重たい という特徴を持つCNNになりました。
定義・仕組み
-
VGGの主な特徴:
- 3×3畳み込みのみを使用
- プーリング層で徐々に解像度を下げる
- ネットワークが非常に深い(VGG16, VGG19)
-
ポイント:
- 構造が一貫している
- パラメータ数・計算量が多い
なぜ3×3を重ねるのか
3×3畳み込みを2層重ねると、概ね5×5の範囲を参照できます。大きなフィルタを1回使う代わりに小さなフィルタを複数回使うことで、層の途中に活性化関数を挟めるため、より複雑な特徴を表現できます。
VGG16やVGG19の数字は、主に重みを持つ層の深さを表します。画像サイズやクラス数ではありません。また、VGGは全結合層が大きく、モデル全体のパラメータ数が多い点も弱点です。
いつ使う?(得意・不得意)
使われる場面(得意)
- CNNの基本構造の理解
- 特徴抽出器としての転移学習
注意点・不得意
- 計算量・メモリ消費が大きい
- モバイル用途には不向き
代表CNNとの比較
| モデル | 判断しやすい特徴 |
|---|---|
| AlexNet | 2012年ILSVRC、ReLUやDropoutの活用 |
| VGG | 3×3畳み込みを反復、単純で深いが重い |
| GoogLeNet | Inceptionモジュールで複数サイズの処理を並列化 |
| ResNet | スキップ接続・残差学習で深層化 |
G検定ひっかけポイント
-
よくある誤り表現:
- ❌ 「軽量化を目的としたCNN」
- ❌ 「残差接続を持つ」
- ❌ 「Inceptionモジュールを持つ」
-
正しい理解:
- シンプル・深い・重たい
-
判断基準:
- 3×3を積む → VGG
- 残差 → ResNet
まとめ(試験直前用)
- VGG=シンプルで深いCNN
- 3×3畳み込みを多用
- 構造が分かりやすい
- パラメータ数が多い
- 軽量モデルではない