CNN(畳み込みニューラルネットワーク)における全結合層(Fully Connected Layer)は、畳み込み層によって抽出された特徴をまとめ上げ、最終的な分類や数値予測へとつなげる役割を担います。
畳み込み層が「特徴を見つける層」だとすれば、全結合層はその特徴をどう解釈し、どの結論を出すかを決める層だと考えると分かりやすいでしょう。
全結合層とは何か
全結合層とは、前の層にあるすべてのユニットと結合している層のことです。
各ユニットは、入力されたすべての情報を受け取り、それらをまとめて判断材料として扱います。
構造的には、従来のニューラルネットワーク(多層パーセプトロン)で使われてきた層と同じものであり、CNN専用の仕組みというわけではありません。
CNN全体の中での役割
CNNは大きく分けて、次の2つのフェーズから構成されます。
- 特徴を抽出するフェーズ
畳み込み層やプーリング層によって、エッジ・模様・形状などの特徴を段階的に学習する - 判断を行うフェーズ
抽出された特徴を統合し、クラス分類や数値予測を行う
全結合層は、このうち後者の判断フェーズの中心を担います。
特徴抽出がどれほど優れていても、それを正しく統合できなければ精度の高い予測はできません。
Flattenと全結合層の関係
畳み込み層の出力は、縦・横・チャネルといった多次元の構造を持っています。
しかし全結合層は、そのままではこの形式を扱えません。
そこで使われるのが Flatten です。
Flattenは、特徴マップを1本の長いベクトルに並べ替える処理であり、情報の値自体を変更するものではありません。
全結合層は、このFlattenされたベクトルを入力として受け取り、すべての空間位置・チャネルの特徴を同時に参照しながら統合します。
ただし、「画像全体を見て判断する」と言う場合、その解釈には注意が必要です。
- 全結合層は全ての特徴を参照できる
- しかし、それぞれの特徴がどれほど広い範囲の情報を含んでいるかは、前段の畳み込み構造に依存する
そのため、より正確には「全ての位置に存在する特徴を重み付けして統合し、最終判断を行う層」と理解するのが適切です。
全結合層が担う主な役割
特徴の統合
畳み込み層は局所的な特徴を効率よく捉えますが、それらは分散した形で存在します。
全結合層は、これらの特徴を組み合わせ、
- 形の特徴
- テクスチャや色の情報
- 高次特徴同士の関係性
といった情報をまとめて扱います。
分類・予測のための最終判断
画像分類では、全結合層の出力をもとに「どのクラスに属するか」が決定されます。
- 単一のクラスを選ぶ分類
- 複数のクラスが同時に成立する分類
- 数値を予測する回帰問題
いずれの場合も、全結合層は最終的な判断材料を作る役割を果たします。
複雑な判断を可能にする
全結合層を複数重ねることで、単純なルールでは表現できない複雑な判断が可能になります。
これが全結合層の高い表現力につながっています。
パラメータ数が多くなりやすいという課題
全結合層の大きな特徴の一つが、パラメータ数が急激に増えやすい点です。
入力される特徴が多いほど、学習すべき重みも比例して増えます。その結果、
- モデルが重くなる
- 学習に時間がかかる
- 過学習が起こりやすくなる
といった問題が生じやすくなります。
空間構造との関係
Flatten後の全結合層では、畳み込み層が持つ
- 近くの情報同士をまとめて扱う性質
- 位置ずれに強い性質
といった空間構造上の利点が活かされにくくなります。
情報そのものが失われるわけではありませんが、位置に依存した学習になりやすいという特徴があります。
過学習への対策
全結合層では、過学習を防ぐための工夫が特に重要です。
- 学習時に一部のユニットを無効化する手法
- 重みが極端に大きくならないよう抑える手法
これらは、全結合層と組み合わせて使われることが一般的です。
近年のCNNにおける全結合層の位置づけ
近年のCNNでは、全結合層は必要最小限に抑えられる傾向にあります。
その代わりに、
- 特徴マップ全体を要約する仕組み
- パラメータをほとんど増やさずに判断する構造
が採用されることが増えています。
これにより、モデルは軽量になり、過学習もしにくくなります。一方で、位置情報が重要なタスクでは工夫が必要になる場合もあります。
それでも全結合層が有効なケース
- データ量が限られている場合
- わずかな特徴の違いを強く学習させたい場合
- 画像特徴と数値データなどを組み合わせたい場合
このような場面では、全結合層の柔軟な表現力が今でも有効に機能します。
まとめ
- 全結合層は、CNNにおける特徴統合と最終判断を担う層
- 表現力は高いが、パラメータ数と過学習に注意が必要
- Flatten後は空間構造の扱いが弱くなる
- 近年は全結合層を最小限にする設計が主流
- タスクやデータ規模に応じた使い分けが重要
以上、CNNの全結合層についてでした。
最後までお読みいただき、ありがとうございました。
