はじめに
こんにちは。2026年1月のG検定に合格した、文系出身のエンジニアです。
G検定の勉強を始めたとき、多くの人がつまずくのが CNN(畳み込みニューラルネットワーク) ではないでしょうか。「畳み込み?」「プーリング?」「ストライド?」と、専門用語のシャワーに頭が真っ白になった、という人も多いと思います。私もそうでした。
ただ、実際に合格してみてわかったのは、数式を追うより「何をやっているのか」をイメージで掴む方が早い ということ。G検定では、CNNの仕組みを問う問題も、代表的なモデル(AlexNet・VGG・ResNetなど)を問う問題も出ますが、いずれも「本質が分かっていれば解ける」ものばかりです。
この記事では、文系の私がCNNを理解するために使った 「人間の目の動き」のたとえ を軸に、G検定で問われるポイントをまとめます。
※ この記事はJDLA公式の教材ではありません。個人の学習体験に基づく内容です。
CNNとは? 一言でいうと
CNN(Convolutional Neural Network)は、画像認識に特化したニューラルネットワーク です。2012年のILSVRC(画像認識コンペ)で、トロント大学の AlexNet が圧勝したことがディープラーニングブームの火付け役となりました。
そもそも、なぜ画像認識に専用のネットワークが必要なのか? それは、普通の全結合ニューラルネットワークでは画像の「位置関係」がうまく扱えない からです。
たとえば「猫」の画像を見分けたいとき、耳・目・ひげといった特徴は 隣り合って 意味を持ちます。画像をピクセルごとにバラバラにしてから入力してしまうと、この「近さの情報」が失われてしまうのです。
CNNはこの問題を解決するために、画像の一部分ずつを小さな窓で見ていく という仕組みを持っています。
CNNの核心は「人間の目の動き」にある
G検定のテキストを読むと、CNNは「人間の視覚野(S細胞・C細胞)」を模したと書かれています。これだけだと抽象的なので、私は 写真を眺めるときの自分の目の動き でイメージしました。
はじめて1枚の風景写真を見るとき、私たちは全体をぼんやり一瞥したあと、「あ、ここに人が写っている」「奥に山があるな」と、局所的に視線を動かしながら 特徴を拾っていきます。そして最後に「これは海辺の写真だ」と全体像を判断します。
CNNもまさに同じ流れで画像を処理します。
| ステップ | 人間の目 | CNNでの処理 |
|---|---|---|
| 局所を見る | 視線を一部分に集中 | 畳み込み層(フィルタで局所特徴を抽出) |
| 情報を要約 | 「だいたいここに山がある」と大まかに把握 | プーリング層(情報を圧縮) |
| 全体像を判断 | 「海辺の写真だ」と結論 | 全結合層(最終的な分類) |
このイメージさえ掴んでしまえば、あとは各層の細かい話を乗せていくだけです。
畳み込み層:小さな窓で特徴を見つける
畳み込み層では、画像全体を小さなフィルタ(カーネル)で スライドしながら 走査します。フィルタは「縦線を検出する」「横線を検出する」「丸みを検出する」といった、ちょっとした特徴を拾う役割を持っています。
ここで登場するG検定頻出ワードがこちらです。
- フィルタ(カーネル):特徴を抽出する小さな窓(例:3×3)
- ストライド:フィルタをずらす幅(1なら1マスずつ、2なら2マスずつ)
- パディング:画像の端にゼロを埋めて、出力サイズを調整する処理
- 特徴マップ:畳み込みの結果として得られる画像
試験での落とし穴
「フィルタのサイズ」「ストライド」「パディング」から、出力サイズを計算させる問題が稀に出ます。公式は覚えなくてよいので、「ストライドを大きくすると出力は小さくなる」「パディングを増やすと出力は大きくなる」という 方向感覚 だけ押さえておけば十分です。
プーリング層:情報をギュッと圧縮する
プーリング層は、畳み込み層の出力を 圧縮する 役割を持ちます。
たとえば「Maxプーリング」なら、2×2の範囲の中で最大値だけを残して残りは捨てます。これによって、画像のちょっとした位置ずれに強くなる(位置不変性)とともに、計算量が減ります。
写真でいうと、「ピクセル単位の細部は気にせず、この領域で一番目立つ特徴だけ覚えておこう」という要約の工程です。
G検定での出題ポイント:
- Maxプーリング、Averageプーリングといった種類がある
- プーリング層には 学習パラメータがない(ここはよく問われる)
- 物体の位置が少しずれても認識できる 頑健性 が生まれる
全結合層:最後に分類する
畳み込み層とプーリング層を何度か繰り返したあと、最後に 全結合層 で「これは猫」「これは犬」と分類します。従来のニューラルネットワークと同じ構造で、ここでソフトマックス関数などを使って確率を出します。
最近のモデルでは、全結合層の代わりに Global Average Pooling(特徴マップ全体の平均を取る)を使うものもあります。パラメータ数を減らせるというメリットがあり、G検定でも用語として出ることがあります。
代表的なCNNモデル(ここは暗記で稼げる!)
G検定では、代表的なCNNモデルの 名前・年・特徴 を問う問題が頻出します。文系の私がもっとも得点源にしやすかった領域です。以下の表さえ覚えておけば、関連問題はだいたい取れます。
| モデル名 | 発表年 | キーワード | 覚え方のコツ |
|---|---|---|---|
| LeNet | 1998 | 元祖CNN、郵便番号認識 | 「ルネッサンスのL」=古参 |
| AlexNet | 2012 | ILSVRC優勝、ReLU・Dropoutを採用 | ブームの火付け役 |
| VGG | 2014 | 3×3フィルタで層を深く | シンプル構造で今も教材向き |
| GoogLeNet | 2014 | Inceptionモジュール | 「複数サイズのフィルタを並列」 |
| ResNet | 2015 | スキップ接続(残差学習) | 152層まで深くできる |
| MobileNet | 2017 | 軽量、スマホ向け | 名前のまま「モバイル」 |
| EfficientNet | 2019 | スケーリングを最適化 | 「効率」のままの名前 |
個人的に一番頻出だと感じたのは ResNetのスキップ接続 でした。「勾配消失問題を解決するために、層をショートカットする経路を追加した」という説明を、自分の言葉で言えるようにしておくと安心です。
文系の私がつまずいたポイントと対処法
CNNの勉強中、私が特に混乱したのは以下の3点でした。
-
「畳み込み」という言葉そのもの
→ 数学用語としての畳み込み演算の定義は一旦忘れて、「小さな窓をスライドさせて特徴を集める処理」と割り切りました。 -
パディングとストライドの違い
→ パディング=「端に余白を追加する」、ストライド=「窓をどのくらい飛ばすか」。単語の意味だけ押さえて、計算問題は深追いしないと決めました。 -
似たようなモデル名が多すぎる
→ 上の表を印刷して、スキマ時間に眺めるようにしました。名前と代表的なキーワードを紐づけるだけでかなり得点できます。
まとめ
| 概念 | ポイント |
|---|---|
| 畳み込み層 | フィルタで局所特徴を抽出。ストライド・パディングが重要語 |
| プーリング層 | 情報を圧縮し位置ずれに強くする。パラメータなし |
| 全結合層 | 最後に分類。Global Average Poolingが代わりに使われることも |
| AlexNet | 2012年ブームの火付け役。ReLU・Dropoutを採用 |
| ResNet | スキップ接続で非常に深いネットワークを実現 |
CNNは用語が多く、文系にとっては最初の山場になりがちです。でも、「人間の目の動き」のたとえで仕組みのイメージを掴み、代表モデルの表を暗記してしまえば、かなりの得点源にできます。
おすすめの学習リソース
G検定の学習には、出題範囲を分野別に整理してくれている教材を使うのが効率的です。私も勉強中、複数のサイトを横断して使っていました。
特に AI検定ナビ は、CNNや代表モデルのような頻出テーマが分野別にまとまっているので、「今週はCNNだけ集中する」といった学習計画を立てる のに役立ちました。苦手分野の可視化にも向いています。
これからG検定を受ける方、一緒に頑張りましょう!