情報処理試験を勉強していると、「CNNって略語は見たことあるけど、何がどう”畳み込み”なの?」と引っかかる人は多いです。

対象試験と出題頻度

CNN(畳み込みニューラルネットワーク)は、基本情報技術者・応用情報技術者で出題されるテーマです。

ディープラーニング関連の用語として、シラバスVer.9.0で基本情報技術者試験に正式追加されました。

RNN(再帰的ニューラルネットワーク)やGAN(敵対的生成ネットワーク)との区別が問われます。

詳細をクリックして確認
対象試験:
基本情報技術者
応用情報技術者
出題頻度:
★★★☆☆
ランクB(標準)覚えておくと有利

用語の定義

CNN(Convolutional Neural Network/畳み込みニューラルネットワーク)とは、一言で言うと

 「畳み込み層とプーリング層を持ち、画像などのデータから特徴を自動抽出するディープラーニングモデル

のことです。

イメージとしては、虫メガネで写真を少しずつずらしながら調べる検査官です。

検査官は写真全体をいきなり判断するのではなく、小さな区画ごとに「ここに線がある」「ここに角がある」とパーツ単位で特徴を拾い上げます。

拾った特徴を段階的にまとめていくことで、最終的に「これは犬の写真だ」と判定します。CNNもまさにこの流れで動いています。

📊 CNNの基本情報

項目 内容
英語名 Convolutional Neural Network
分類 ディープラーニング(深層学習)の一手法
得意分野 画像認識、音声認識、動画解析
主な層構成 畳み込み層 → プーリング層 → 全結合層

解説

従来のニューラルネットワーク(全結合型)で画像を扱うと、ピクセルごとの位置関係が無視され、膨大な数のパラメータが必要になるという問題がありました。

CNNは「近くのピクセル同士には関連がある」という画像の空間的な構造を活かすために設計されたモデルです。

3つの層の役割

CNNの処理は、主に3種類の層を順番に通過することで進みます。それぞれの役割を正確に区別することが理解の土台です。

層の名前 何をするか 一言で
畳み込み層 カーネル(フィルタ)と呼ばれる小さな行列を入力データ上でスライドさせ、局所的な特徴(エッジ、模様など)を抽出する 「特徴を見つける層」
プーリング層 畳み込み層の出力を一定範囲ごとに集約(最大値や平均値)し、データサイズを縮小する。重要な特徴を残しつつ計算量を削減する 「情報を圧縮する層」
全結合層 抽出・圧縮された特徴をもとに最終的な分類・予測結果を出力する 「答えを出す層」

図解:CNNの処理フロー

入力画像がどのように処理されて最終的な分類結果になるか、全体の流れを図で示します。

CNN の処理フロー

🖼️

入力画像

畳み込み層

カーネルで
特徴を抽出

プーリング層

データを
圧縮

×N回
繰り返し

全結合層

分類・
予測


95%

出力結果

▲ 畳み込み層とプーリング層のペアを複数回繰り返した後、全結合層で最終判定を行う

畳み込み演算の具体的なイメージ(詳細を確認する)

畳み込み層では、入力画像の各位置に対して「カーネル(フィルタ)」と呼ばれる小さな行列を重ね合わせ、対応する要素同士を掛け算して合計します。これを画像全体にスライドさせながら繰り返すことで、1枚の「特徴マップ」が生成されます。

3×3 カーネルによる畳み込み演算の例

入力(一部)

1 0 1
0 1 0
1 0 1
×

カーネル

1 0 1
0 1 0
1 0 1
=

出力値

5

1×1+0×0+1×1
+0×0+1×1+0×0
+1×1+0×0+1×1

プーリング層では、この特徴マップを小さなウィンドウ(例:2×2)で区切り、各ウィンドウ内の最大値(Maxプーリング)や平均値を取ってデータを縮小します。これにより、対象の位置が多少ずれても同じ特徴として認識できる「位置ずれへの頑健性」が得られます。

RNN・GANとの違い

CNNを正しく位置づけるには、同じ深層学習の仲間であるRNNやGANとの違いを整理するのが近道です。

モデル名 得意な入力データ 特徴
CNN 画像・音声 空間的な特徴(位置関係)を捉える。畳み込み層とプーリング層が核心
RNN テキスト・時系列 時間的な前後関係を捉える。過去の出力を次の入力にフィードバックする構造
GAN 画像生成など 生成器と識別器が互いに競い合うことで、本物そっくりのデータを生成する

ここだけは確実に押さえてください。

CNNは「空間」、RNNは「時間」、GANは「生成と識別の競争」という軸で覚えれば混同しません。

では、この用語が試験でどのように出題されるか見ていきましょう。

💡 CNNの核心を3行で

・画像の空間的な特徴を自動抽出するディープラーニングモデル
・畳み込み層(特徴抽出)→ プーリング層(圧縮)→ 全結合層(分類)の3層構成
・RNN(時系列向き)、GAN(データ生成向き)と得意分野で区別する


試験ではこう出る!

CNNは、FE・APの午前問題でディープラーニング関連の知識問題として出題されます。CNN単体の名称を直接問う問題はまだ少ないですが、「ディープラーニングとは何か」を問う設問の中で畳み込み層・プーリング層の知識が前提になるケースが増えています。

📊 関連する過去問の出題実績

試験回 出題内容 問われたポイント
AP R6春
午前 問3
ディープラーニングの説明として正しいものを選ぶ問題 ・「脳神経回路のように多層の処理を重ねる」が正解
・データマイニング、エキスパートシステムがひっかけ
AP R3秋
午前 問3
ディープラーニングに最も関連が深いものを選ぶ問題 ・「多層に配置された素子とパラメータ調整」が正解
・遺伝的アルゴリズム、エキスパートシステムがひっかけ
FE R6
科目A 問3
上記AP R3秋 問3と同一構成の流用問題 ・FEとAPで同一問題が出回る典型パターン
AP R1秋
午後 問3
ニューラルネットワーク(パーセプトロン)をテーマにしたプログラミング問題 ・ニューラルネットワークの基本原理(重み・しきい値の調整)を問う応用問題
IP R7
問80
基盤モデルの説明を選ぶ問題。選択肢にCNNが登場 ・CNNは「主に画像認識で使われるモデル」として不正解選択肢に配置された

📝 IPA試験での出題パターン

パターン1:「ディープラーニングの説明を選べ」
4つのAI技術の説明文が並び、ディープラーニングに該当するものを選ぶ形式。「多層のニューラルネットワーク」「パラメータの自動調整」がキーワード。ひっかけとしてエキスパートシステム(ルールベース推論)や遺伝的アルゴリズム(突然変異・交配)が紛れ込む。

 

パターン2:「深層学習モデルの種類を区別せよ」
シラバスVer.9.0の追加範囲として、CNN・RNN・GANの区別を問う出題が今後増加する見込み。「画像認識 → CNN」「時系列データ → RNN」「データ生成 → GAN」の対応を押さえておけば得点できる。

 

試験ではここまででOKです。カーネルサイズの計算やバックプロパゲーションの数式まで問われることは午前問題ではないので、深追いは不要です。


【確認テスト】理解度チェック

ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。


Q. ディープラーニングの手法のうち、畳み込み層とプーリング層を持ち、主に画像認識に用いられるモデルはどれか。

  • A. 過去の出力を次の入力にフィードバックする構造を持ち、テキストや音声などの時系列データの処理に適したモデル
  • B. 生成器と識別器の2つのネットワークを対立させて学習させることで、本物に近いデータを生成するモデル
  • C. カーネルによる特徴抽出とデータ圧縮を繰り返し、空間的なパターンを段階的に認識するモデル

正解と解説を見る

正解:C

解説:
CNN(畳み込みニューラルネットワーク)は、カーネル(フィルタ)でデータの局所的な特徴を抽出する畳み込み層と、情報を圧縮するプーリング層を交互に重ねて処理するモデルです。画像の空間的な構造を活かせるため、画像認識分野で広く採用されています。

選択肢AはRNN(再帰的ニューラルネットワーク)の説明です。RNNは前の時刻の出力を次の入力に戻す再帰構造を持ち、時系列データを扱います。選択肢BはGAN(敵対的生成ネットワーク)の説明です。GANは生成器と識別器の競争によってリアルなデータを生成する仕組みであり、特徴抽出による分類を目的とするCNNとは役割が異なります。


よくある質問(FAQ)

Q. CNNは画像以外にも使えますか?

使えます。音声認識では音声信号をスペクトログラム(周波数と時間の2次元画像)に変換してCNNに入力する手法が普及しています。自然言語処理でも、テキストを行列化してCNNで短いフレーズの特徴を抽出するアプローチがあります。ただし、長い文脈の理解にはRNNやTransformerの方が適しているため、用途に応じた使い分けが必要です。

Q. CNNの「カーネル」と「フィルタ」は同じ意味ですか?

ほぼ同義として使われます。どちらも畳み込み演算で使う小さな重み行列を指します。厳密には、1チャンネル分の重み行列を「カーネル」、複数チャンネル分をまとめたものを「フィルタ」と呼び分ける文献もありますが、IPA試験の範囲ではこの区別は問われません。「カーネル=フィルタ=畳み込みに使う小さな行列」と理解していれば十分です。

Q. CNNとTransformerはどちらが優れていますか?

一概には比較できません。CNNは局所的な特徴の抽出に強く、画像認識の実績が豊富です。一方、Transformerは自己注意機構(Self-Attention)で入力全体の関係を捉えることに長けており、自然言語処理から画像認識(Vision Transformerなど)まで適用範囲が拡大しています。最近ではTransformerベースのモデルが画像分野でもCNNの精度を超えるケースが報告されていますが、CNNは構造がシンプルで計算コストが低いという強みがあります。

Q. CNNの学習に必要なデータ量はどのくらいですか?

タスクの難易度とモデルの規模によって異なりますが、一般的に数千〜数万枚の画像が必要です。データが不足する場合は、既に大量のデータで訓練済みのモデルを流用する「転移学習」や、画像を回転・反転させてデータを増やす「データ拡張(Data Augmentation)」といった手法で対処します。実務ではゼロからCNNを訓練するよりも、転移学習を活用するケースの方が圧倒的に多いです。