全結合層

Fully Connected Layer

全結合層とは

全結合層(Fully Connected Layer、Dense Layer)は、前の層のすべてのニューロンと次の層のすべてのニューロンが接続されたニューラルネットワークの層です。CNNの最終段で使用される場合、畳み込み層やプーリング層で抽出された特徴を統合し、最終的な分類や回帰の判断を行います。多層パーセプトロン(MLP)は全結合層のみで構成されたネットワークです。

全結合層の計算

全結合層では、入力ベクトルxに対して重み行列Wを掛け、バイアスbを加算し、活性化関数を適用します。出力y = f(Wx + b)の形で表現され、重みWとバイアスbが学習パラメータです。全結合層のパラメータ数は入力次元と出力次元の積に等しく、大きな特徴マップを入力とする場合はパラメータが爆発的に増加する可能性があります。

CNNにおける全結合層の役割

従来のCNNアーキテクチャ(VGGNetなど)では、畳み込み層とプーリング層の後に複数の全結合層を配置し、抽出された空間的な特徴を1次元のベクトルに変換(Flatten)してから分類を行っていました。しかし、全結合層はパラメータ数が多く過学習しやすいため、ドロップアウトとの併用が一般的です。

全結合層の代替と現在の位置づけ

近年のCNNアーキテクチャでは、Global Average Poolingを使用して全結合層のパラメータを削減する設計が主流になっています。ResNetやEfficientNetでは、最終的な分類層として1層のみの全結合層を使用します。一方、Transformerにおけるフィードフォワードネットワーク(FFN)は全結合層の一種であり、現代のディープラーニングでも重要な構成要素です。