VGGが切り開いた深いネットワークの世界!層を重ねる美学を読み解く
こんにちは。ゆうせいです。
前回はAI界の革命児、AlexNetについてお話ししましたね。ジェフリー・ヒントン教授たちの活躍に興奮した方も多かったのではないでしょうか。
今回は、そのAlexNetのわずか2年後、2014年に登場して世界を驚かせたVGGというモデルについて解説します。今のAIが「より深く、より複雑に」進化していくための決定的なヒントをくれたのが、このVGGなんです!
結局、VGGは何がすごかったの?
結論から言いましょう。VGGの新しさは、そのシンプルすぎるほどの潔さにあります。
AlexNetは、大きなフィルターを使ったり小さなフィルターを混ぜたりと、いわば「色々な道具を詰め込んだ欲張りセット」のような構造でした。対してVGGは、「小さなフィルターを、とにかく深く積み上げる」という一貫したルールで挑んだのです。
みなさんは、料理をするときに「大きな包丁で大雑把に切る」のと「小さなナイフで丁寧に何度も刻む」の、どちらが繊細な形を作れると思いますか。VGGは迷わず後者を選んだわけです。
3x3の魔法:小さく重ねるメリット
VGGの最大の特徴は、 という非常に小さなサイズのフィルターだけを使ったことです。専門用語では、これを畳み込み層と呼びます。
なぜ、わざわざ小さくしたのでしょうか。
実は、 のフィルターを3回重ねて計算すると、
の大きなフィルター1回分と同じ広さ(受容野)を見ることができるんです!
これには2つの大きなメリットがあります。
- 表現力がアップする:層を重ねるごとに「活性化関数(前回お話ししたReLUですね!)」を何度も通ることになります。これにより、データの特徴をより複雑に、非線形に捉えることができるようになります。
- 計算が効率的になる:意外かもしれませんが、大きなフィルター1つよりも、小さなフィルターを複数重ねる方が、学習に必要なパラメーターの数は少なくて済むのです。
例えるなら、1枚の大きな布を折って複雑な形を作るよりも、小さな折り紙を何枚も重ねて精巧な作品を作るようなイメージですね。
16層と19層:深さの時代の幕開け
VGGには、主にVGG16とVGG19という2つのバリエーションがあります。数字は層の深さを表しています。
AlexNetが8層だったのに対し、VGGは一気に16層、19層と深くなりました。
「層を深くすればするほど賢くなる」
今では当たり前に聞こえるこの考え方を、誰が見ても納得する形で証明したのがVGGでした。ただし、深くすればするほど計算量は増え、学習には時間がかかるようになります。
VGGのメリットとデメリット
ここでVGGの特徴を整理してみましょう。
| 項目 | メリット | デメリット |
| 設計の美しさ | 全ての層が共通のルールで作られており、非常に分かりやすい | シンプルゆえに無駄な計算も多い |
| 汎用性 | 特徴を捉える力が強く、他のAIの土台(転移学習)として今でも人気 | モデルのファイルサイズが非常に大きく、メモリを圧迫する |
| 認識精度 | AlexNetを大きく上回る精度を達成 | パラメーター数が1億個を超え、動かすのが大変 |
算数の視点から見るVGGの美学
VGGのフィルターサイズが であることの恩恵を、少し計算してみましょう。
例えば、 のフィルター1つのパラメーター数は、チャンネル数を
とすると
パラメーター数 =
となります。一方、 を3枚重ねた場合は
パラメーター数 =
となります。
なんと、同じ範囲を見ているのに、計算の手間を から
へ、およそ半分近くまで減らせているのです!この効率の良さこそが、深いネットワークを実現する鍵でした。
次の学習へのステップ
VGGの登場によって、AIの世界は「深さ(Depth)」を競う時代へと突入しました。
しかし、層を深くしすぎると、今度は「学習が途中で消えてしまう(勾配消失)」という新たな壁にぶつかることになります。その壁を魔法のようなアイデアで突破したのが、次に登場するResNetというモデルです。
みなさん、VGGが教えてくれた「小さな積み重ねが大きな力を生む」という哲学、面白いと思いませんか。