---
title: "VGG（Very Deep CNN）とは？G検定対策"
description: "VGGは、3×3の小さな畳み込みを繰り返して受容野を広げ、VGG16・VGG19の深い構造を実現したCNNです。小さいフィルタを重ねる利点と計算量・パラメータ数の大きさを確認し、AlexNet、GoogLeNet、ResNetとの違いをG検定向けに整理します。"
last_modified_at: "2026-06-27"
canonical_url: "https://stemtazoo.github.io/gk/vgg/"
section: "gk"
---

## まず結論

* **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畳み込みを多用
* 構造が分かりやすい
* パラメータ数が多い
* 軽量モデルではない
