CNNとDNNの違いについて

AI実装検定のご案内

CNN(畳み込みニューラルネットワーク)とDNN(深層ニューラルネットワーク)の違いは、用語の定義をどこに置くかによって混乱が生じやすいテーマです。

そのため、まず言葉の整理を行ったうえで、構造・得意分野・設計思想の違いを体系的に説明します。

目次

まず押さえるべき用語の整理(重要)

DNN(Deep Neural Network)とは

DNNとは、複数の層(深い構造)を持つニューラルネットワークの総称です。

  • 入力層
  • 複数の隠れ層
  • 出力層

を持つネットワーク全般を指します。

この定義に基づくと、

  • CNN(畳み込みニューラルネットワーク)
  • RNN(再帰型ニューラルネットワーク)
  • Transformer

なども、すべて広義にはDNNに含まれます

実務でよく使われる「狭義のDNN」

一方、現場や入門書では「DNN」という言葉が、

全結合層(Fully Connected Layer)を積み重ねたネットワーク
(=MLP:多層パーセプトロン)

を指して使われることが多くあります。

本記事では、一般的な比較の文脈に合わせて、

CNN と「全結合型DNN(MLP)」の違い

として説明を進めます。

全結合型DNN(MLP)の特徴

構造の特徴

全結合型DNNは、以下のような構造を持ちます。

  • 各層のすべてのニューロンが、次の層のすべてのニューロンと接続
  • 入力は一次元の特徴量ベクトルとして扱われる
  • 空間的・位置的な関係は特別扱いしない
入力 → 全結合層 → 全結合層 → 全結合層 → 出力

得意なデータ形式

  • 表形式データ
  • 数値特徴量が整理された構造化データ

  • 売上・需要予測
  • 顧客スコアリング
  • 広告CTRやCV率予測
  • レコメンドの基礎モデル

制約

画像のように次元が大きいデータをそのまま入力すると、

  • パラメータ数が非常に多くなる
  • 計算コストが高くなる
  • 過学習しやすい

といった問題が生じやすくなります。

CNN(畳み込みニューラルネットワーク)の特徴

CNNとは何か

CNNは、画像や空間構造を持つデータを効率的に扱うために設計されたニューラルネットワークです。

全結合型DNNとは異なり、次のような設計思想を持っています。

CNNの中核となる考え方

局所性(Locality)

画像では、近くにあるピクセル同士が意味を持つことが多いため、CNNは小さな領域(局所)に注目して特徴を抽出します。

重み共有(Weight Sharing)

同じフィルタ(重み)を画像全体に適用することで、

  • パラメータ数を大幅に削減
  • 同じ特徴をどこにあっても検出可能

にします。

CNNの典型的な構造

入力(画像)
 ↓
畳み込み層(特徴抽出)
 ↓
ダウンサンプリング(プーリングまたはストライド付き畳み込み)
 ↓
畳み込み層
 ↓
(必要に応じて繰り返し)
 ↓
全結合層 or Global Average Pooling
 ↓
出力

※ プーリング層は一般的ですが、必須ではありません

CNNと全結合型DNNの本質的な違い

構造の違い

観点全結合型DNN(MLP)CNN
主な層全結合層畳み込み層
入力の扱いベクトル化空間構造を保持
重みの扱い各結合で個別重みを共有
パラメータ数入力次元に比例して増えやすい比較的少ない

学習できる情報の違い

  • 全結合型DNN:
    「どの特徴が重要か」を学ぶ
  • CNN:
    「どこに、どのようなパターンがあるか」を学ぶ

CNNが画像認識に強い理由

階層的な特徴学習

CNNは層を重ねることで、次のように段階的に特徴を学習します。

  1. 初期層:エッジ・線・角
  2. 中間層:模様・パーツ
  3. 深層:物体・文字・顔などの高次概念

これは画像認識に非常に適した性質です。

位置ずれに対するロバスト性

CNNは、

  • 局所的な受容野
  • ダウンサンプリング処理
  • データ拡張(平行移動・回転など)

と組み合わせることで、入力の小さな位置ずれに対して比較的ロバストになります。

ただし、これは完全な不変性ではなく、近似的な性質である点には注意が必要です。

得意分野の違い

分野全結合型DNNCNN
表形式データ
画像認識
音声処理○(表現次第)
動画解析
自然言語△〜○(近年はTransformerが主流)

「CNNとDNNは別物か?」という疑問への答え

  • 広義の定義では
    → CNNはDNNの一種
  • 実務的な比較文脈では
    → CNNと「全結合型DNN(MLP)」は異なるアーキテクチャ

この前提を明確にすることで、混乱はほぼ解消されます。

まとめ

  • 全結合型DNN(MLP)
    → 構造化された数値データに強い汎用モデル
  • CNN
    → 空間構造を持つデータ(特に画像)に特化したDNN

以上、CNNとDNNの違いについてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次