全結合層 (Fully Connected Layer / Dense Layer)
解説:すべての情報を総まとめにする「最終会議」
全結合層とは、ニューラルネットワークにおいて「前の層にあるすべてのニューロン(ノード)」と、「次の層のすべてのニューロン」が、もれなく線(重み)で結ばれている層のことです。Kerasなどのライブラリでは「Dense層」とも呼ばれます。

CNN(画像認識)における全結合層の役割
画像認識などで使われるCNN(畳み込みニューラルネットワーク)では、通常、ネットワークの「一番最後(出力層の手前)」に全結合層が配置されます。
これを「裁判」や「会議」に例えると非常に分かりやすくなります。
- 畳み込み層・プーリング層(前半):
「現場の捜査員」です。「ここに丸い輪郭がある」「ここに尖った耳がある」という局所的な特徴(証拠)だけを抽出します。 - 全結合層(後半):
「最終決定を下す裁判官の会議」です。捜査員が集めてきたすべての証拠を1か所に集め、総合的に判断して「これは90%の確率で猫である!」という最終的な結論(分類)を出します。
最大の弱点:パラメータの「爆発」と過学習
全結合層は「すべてを繋ぐ」ため、表現力が非常に高い反面、パラメータ(重み)の数が膨大になるという致命的な弱点があります。
| 全結合層の特徴 | ディープラーニングに与える影響 |
|---|---|
| パラメータ数が多すぎる | ネットワーク全体のパラメータの大部分(時には80〜90%以上)を、この全結合層が占めることがあります。計算量が膨大になり、メモリを大量に消費します。 |
| 過学習(丸暗記)しやすい | 重みが多すぎるため、訓練データの細かいノイズまで丸暗記してしまいやすくなります。そのため、全結合層の直後には「ドロップアウト(Dropout)」を配置して過学習を防ぐのが定番のテクニックです。 |
| 空間情報が失われる | 画像データを全結合層に入れる際、縦横の形を「1列の長いデータ(1次元)」に引き伸ばす(Flatten)必要があります。これにより、画像の位置関係(空間情報)が失われてしまいます。 |
近年ではこの弱点を避けるため、全結合層を使わずに「Global Average Pooling (GAP)」という手法で出力をまとめるネットワーク(ResNetなど)も主流になっています。
G検定対策
出題ポイント
- 定義:隣接する層のノード同士が「すべて」結合されている層。
- 役割:CNNにおいて、抽出された特徴量を1次元に結合し、最終的な「分類(クラス分け)」を行うためにネットワークの終盤に配置される。
- 課題:パラメータ数が非常に多くなるため、計算コストが高く「過学習(オーバーフィッティング)」を引き起こしやすい。
よくあるひっかけ問題
- × CNNのすべての層は、全結合層で構成されている
(解説)誤りです。CNNの大部分は「畳み込み層」と「プーリング層」で構成されており、全結合層は通常、最後の仕上げ部分にのみ使われます。 - × 全結合層は、画像の位置情報(空間的な構造)を保ったまま学習できる
(解説)逆です。全結合層を通すにはデータを1列(1次元配列)に変換(Flatten)しなければならないため、縦横の空間情報は完全に破壊されてしまいます。空間情報を保つのは「畳み込み層」の役割です。
