VGG(ブイジージー)は、オックスフォード大学の研究グループが開発した、3×3の小さなフィルタをひたすら積み重ねるシンプルな設計のCNNです。この記事では、VGG16/VGG19の構造の考え方と、ILSVRC 2014での実績、そして後続モデルへ残した影響を解説します。

📖 ひと言でいうと

VGGは、「小さな3×3の畳み込みフィルタを何層も重ねて深くする」という一貫したルールで設計された画像認識モデルで、16層のVGG16と19層のVGG19が代表です。例えるなら、大きな一枚岩を使わず、規格の揃った小さなレンガだけを積み上げて高い塔を建てるような設計思想です。部品が単純で規則的なぶん構造が理解しやすく、深さがそのまま表現力につながることを示しました。

🖼 1枚でわかるVGG

VGG — 3×3フィルタを積み重ねた深いCNN
  • 開発元 — オックスフォード大学の研究グループ(Visual Geometry Group)
  • 発表 — 2014年。層を深くして画像認識の精度向上を狙うCNN
  • 設計 — 3×3の小さなフィルタの畳み込み層を多層に重ねるシンプルな構造
  • 代表形 — VGG16(16層)とVGG19(19層)
  • 実績 — ILSVRC 2014で分類2位・ローカライゼーション1位
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

VGG(Visual Geometry Group)は、オックスフォード大学の研究グループが開発した深層学習モデルで、特に画像認識分野で高い評価を受けている。2014年に発表されたVGGネットワークは、畳み込みニューラルネットワーク(CNN)の一種であり、層を深くすることで画像認識の精度向上を目指している。VGGネットワークの主な特徴は、3×3の小さなフィルタを用いた畳み込み層を多層に重ねるシンプルな構造にある。この設計により、モデルのパラメータ数を抑えつつ、深い層での特徴抽出が可能となっている。具体的には、VGG16とVGG19の2つのバリエーションがあり、それぞれ16層と19層の深さを持つ。VGGネットワークは、2014年のILSVRC(ImageNet Large Scale Visual Recognition Challenge)において、画像分類部門で2位、物体のローカライゼーション部門で1位を獲得し、その性能の高さが証明された。この成功により、VGGは画像認識の分野で広く利用されるようになり、後続のモデル開発にも影響を与えている。しかし、VGGネットワークにはいくつかの課題も存在する。例えば、層が深くなることで計算コストが増加し、学習時のリソース消費が大きくなる点が挙げられる。また、パラメータ数が多いため、過学習のリスクも高まる。これらの課題を克服するため、ResNetなどの新しいモデルが開発され、VGGの設計思想を継承しつつ改良が進められている。

VGGという名前は開発元の研究グループ名(Visual Geometry Group)に由来します。「3×3フィルタを重ねてとにかく深く」という設計方針、VGG16/VGG19という2つのバリエーション、ILSVRC 2014での成績(分類2位・ローカライゼーション1位)の3点が試験対策上の柱です。

🔍 しっかり理解する

なぜ小さな3×3フィルタを重ねるのか

VGG以前のCNN(AlexNetなど)は、最初の層に11×11のような大きなフィルタを使っていました。VGGはこれを3×3に統一し、代わりに層を重ねます。実は3×3の畳み込みを2回重ねると5×5のフィルタ1回分、3回重ねると7×7のフィルタ1回分と同じ範囲を見ることができます。それでいて、大きなフィルタ1枚よりパラメータ数は少なく、層を重ねるたびに活性化関数を挟めるため表現力はむしろ増します。「同じ視野を、より少ないパラメータと、より多くの非線形変換で実現する」のが3×3積み重ねの狙いです。

🅰 大きなフィルタ1層(例: 7×7)
  • 一度に広い範囲を見る
  • 1チャネルあたりの重みは7×7=49個
  • 非線形変換は1回だけ
🅱 3×3フィルタを3層重ねる(VGG流)
  • 3層通せば実質7×7と同じ範囲を見られる
  • 重みは3×3×3層=27個で済む
  • 活性化関数を3回挟めて表現力が高い

なお公式テキストの「パラメータ数を抑えつつ」は、この「大きなフィルタと比べて」の話です。VGG全体としては後段に大きな全結合層を持つため、モデル全体のパラメータ数はかなり多く、それが計算コストや過学習リスクの課題につながっています。この2つの記述は矛盾ではなく、比較対象が違うのだと理解しておきましょう。

ILSVRC 2014とその後

2014年のILSVRCでは、VGGは画像分類部門で2位(1位は同年のGoogLeNet)、物体のローカライゼーション部門で1位という成績を収めました。順位以上に重要なのは、「構造を複雑に工夫しなくても、規則的な設計で深くするだけで高精度が出る」ことを明快に示した点です。そのわかりやすさから、VGGは研究・実務の双方でベースラインや特徴抽出器として広く使われ続けました。物体検出のSSDがVGG-16を土台にしていることは、その代表例です。

一方で、単純に層を深くする路線は勾配消失などの壁に突き当たります。この課題に「スキップ接続」で答えを出したのが2015年のResNetであり、VGGの「深さこそ力」という思想はResNet以降のモデルに引き継がれていきました。

💡 具体例で考える

VGGの「わかりやすい構造」は、転移学習の教材的な定番として活きています。ImageNetで学習済みのVGG16から全結合層を外し、畳み込み部分を特徴抽出器として使い回して、手元の少ないデータ(例えば製品画像の分類)で最後の層だけ学習し直す、という使い方です。層構成が規則的で中間層の特徴も解釈しやすいため、「CNNの浅い層はエッジや色、深い層は物体らしさを捉える」という定番の説明図にもVGGの特徴マップがよく使われます。

また、画像の「スタイル」と「内容」を分離して合成するニューラルスタイル変換(写真をゴッホ風に変換するような技術)でも、特徴抽出にVGGが用いられたことが知られており、分類以外の用途でもVGGの特徴表現が有用であることを示しました。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • 「VGGはILSVRC 2014の分類優勝モデル」は誤り — 分類部門の1位はGoogLeNetで、VGGは2位です。VGGが1位を取ったのはローカライゼーション部門。ここは数字を入れ替えた誤答が作りやすい要注意ポイントです。
  • VGG16の「16」の意味 — 重みを持つ層(畳み込み層+全結合層)が16層あることを指します。VGG19は19層です。
  • 「小さいフィルタだからパラメータが少なく軽量モデル」は誤り — フィルタ単位では効率的ですが、モデル全体は大きく、計算コスト・メモリ消費・過学習リスクの高さが課題とされます。
  • ResNetとの関係 — ResNetはVGGの否定ではなく、「深くする」思想を受け継ぎつつスキップ接続で深層化の壁を越えた後継です。

📝 試験でのポイント

💡 ポイント
  • 「3×3の小さなフィルタを多層に重ねるシンプルな構造」という説明からVGGを選ばせる出題が想定されます。
  • 「オックスフォード大学」「2014年」「VGG16/VGG19」が特定キーワードです。開発元を他大学と入れ替えた選択肢に注意しましょう。
  • ILSVRC 2014の成績(分類2位・ローカライゼーション1位、分類1位はGoogLeNet)は混同を誘う定番ポイントです。
  • AlexNet(2012)→VGG・GoogLeNet(2014)→ResNet(2015)という「深くなっていく系譜」の並べ替え問題にも対応できるようにしておきましょう。

📚 まとめ

💡 ポイント
  • VGGはオックスフォード大学のVisual Geometry Groupが開発し、2014年に発表されたCNNです。
  • 3×3の小さなフィルタの畳み込み層を多層に重ねるシンプルで規則的な構造により、深い層での特徴抽出を実現しました。
  • VGG16と VGG19の2バリエーションがあり、ILSVRC 2014で分類2位・ローカライゼーション1位を獲得しました。
  • 計算コストと過学習リスクという課題は、ResNetなど後続モデルの改良につながりました。