1 基本概念

1.1 定義

全結合層は、ニューラルネットワークの構成要素の一つであり、前の層のすべてのニューロンが次の層のすべてのニューロンと独立接続される層構造を指す。この構造は多層パーセプトロンの基本的な実装形態であり、各ニューロンが入力空間全体の情報統合する能力を持つ。全結合層は主に特徴抽出の完了後、最終的な予測分類を行うために用いられ、ネットワークの末端部分に配置されることが多い。

1.2 結合構造

1.2.1 ニューロン間の完全接続

全結合層の最大の特徴は、前層の各ニューロンと次層の各ニューロンの間に一対一の接続が存在することである。n個のニューロンを持つ前層とm個のニューロンを持つ次層がある場合、総接続数はn×mとなる。この完全接続により、各出力ニューロンは前層のすべての情報を考慮することが可能となり、大局的な特徴統合が実現する。ただし、接続数は層のサイズに応じて二乗で増加するため、大きな層ではパラメータ数が膨大になる。

1.2.2 重み行列バイアス

全結合層の接続は、重み行列とバイアス項によって数学的に表現される。重み行列はサイズ(n×m)の行列であり、各行が前層のニューロンに対応し、各列が次層のニューロンに対応する。各要素は対応するニューロン間の接続強度を表す。バイアス項は次層の各ニューロンに付加される定数項であり、サイズmのベクトルとして表現される。これらのパラメータは学習過程で最適化され、ネットワークの表現能力を決定する。

1.3 動作原理

全結合層の動作は、入力ベクトルxに対して線形変換を施した後、非線形活性化関数を適用するという二段階で構成される。線形変換では、重み行列Wとバイアスベクトルbを用いてz=W^Tx+bを計算する。この出力zは、各ニューロンの加重和にバイアスを加えたものである。その後、非線形活性化関数fを適用し、最終出力y=f(z)を得る。活性化関数により、ネットワークに非線形性が導入され、複雑な関数近似が可能となる。

2 数学的定義

2.1 順伝播計算

2.1.1 線形変換

順伝播における線形変換は、入力ベクトルx∈ℝ^nに対して、重み行列W∈ℝ^(m×n)とバイアスベクトルb∈ℝ^mを用いて以下のように計算される。z=Wx+b。ここで、zの各要素z_iは、前層の全ニューロンからの加重和にバイアスを加えたものである。この処理により、入力空間の情報が一つの線形変換によって出力空間に写像される。行列積の計算量はO(nm)であり、層のサイズが大きくなると計算負荷が急速に増加する。

2.1.2 活性化関数

線形変換の出力zは、そのまま次の層に渡されることは稀であり、通常は活性化関数fを適用する。活性化関数の選択は、ネットワークの表現能力や学習の安定性に大きく影響する。代表的な活性化関数には、シグモイド関数、ReLU関数、tanh関数などがある。活性化関数は要素ごとに適用され、非線形変換を施すことでネットワークに複雑なパターン学習能力を与える。活性化関数の選択は問題の性質やネットワークの構造に依存する。

2.2 逆伝播計算

2.2.1 勾配導出

逆伝播では、損失関数Lに対する各パラメータの勾配を連鎖律を用いて計算する。出力層から順に、各層の出力に関する損失関数の勾配を計算し、それを用いて重みとバイアスの勾配を導出する。全結合層における勾配計算では、前層の出力に関する勾配δ^(l)が与えられたとき、重み行列W^(l)の勾配はδ^(l)と前層の出力a^(l-1)の外積として計算される。バイアスの勾配はδ^(l)の和として得られる。この計算により、各パラメータの更新方向が決定される。

2.2.2 パラメータ更新

勾配降下法を用いて、計算された勾配に基づいてパラメータを更新する。重み行列Wとバイアスbの更新式は、学習率ηを用いて以下のように表される。W_new=W_old-η∂L/∂W、b_new=b_old-η∂L/∂b。学習率の設定には注意が必要であり、大きすぎると発散し、小さすぎると収束が遅くなる。また、モーメンタムやAdamなどの最適化手法を用いることで、学習の安定性と収束速度を向上させることができる。

3 活性化関数

3.1 シグモイド関数

シグモイド関数は、実数入力を(0,1)の範囲にマッピングする非線形関数である。定義はf(x)=1/(1+e^(-x))であり、特に二値分類の出力層で用いられることが多い。この関数は滑らかで微分可能であるため、勾配法による学習が可能である。しかし、入力の絶対値が大きくなると勾配がほぼゼロになる飽和特性を持ち、深いネットワークでは勾配消失問題を引き起こす原因となる。

3.2 ReLU関数

ReLU関数は、正の入力に対してその値をそのまま出力し、負の入力に対してゼロを出力する単純な関数である。定義はf(x)=max(0,x)であり、計算が高速で勾配消失問題を軽減できるため、深層学習で広く使用される。負の領域で勾配がゼロになるため、一部のニューロンが恒久的に活性化しなくなるdying ReLU問題が存在する。この問題を解決するために、Leaky ReLUやPReLUなどの変種が提案されている。

3.3 ソフトマックス関数(分類層用)

ソフトマックス関数は、多クラス分類問題の出力層で用いられる活性化関数である。入力ベクトルzの各要素を指数関数で変換し、その和で正規化することで、各クラスの確率分布を出力する。定義はf(z_i)=e^(z_i)/∑_j e^(z_j)であり、出力の総和は1となる。この関数は、出力値を確率として解釈可能にし、交差エントロピー損失関数との組み合わせで効率的な学習が可能である。

4 学習と最適化

4.1 損失関数の設計

全結合層を用いたネットワークの学習では、問題の種類に応じて適切な損失関数を選択する。回帰問題では平均二乗誤差(MSE)が一般的であり、分類問題では交差エントロピー損失が広く用いられる。損失関数は、ネットワークの出力と目標値の間の不一致を定量化し、この値を最小化するようにパラメータが更新される。損失関数の選択は、学習の収束性や最終的な性能に直接影響を与える。

4.2 正則化手法

4.2.1 L1/L2正則化

過学習を防ぐために、損失関数に重みのノルムに関するペナルティ項を追加する手法である。L2正則化は重みの二乗和に比例するペナルティを課し、重みをゼロに近づける効果がある。L1正則化は重みの絶対値和に比例するペナルティを課し、一部の重みを正確にゼロにするスパース化効果を持つ。これらの正則化は、モデルの複雑さを抑制し、汎化性能を向上させる。

4.2.2 ドロップアウト

ドロップアウトは、学習時にランダムに一部のニューロンを確率的に無効化する正則化手法である。各学習イテレーションにおいて、所定の確率pでニューロンを保持し、残りをゼロにする。この手法により、ニューロン間の共同適応を防ぎ、モデルのロバスト性を向上させる。テスト時には、すべてのニューロンを使用し、出力を保持確率pでスケーリングする。

4.3 勾配消失・爆発問題

深いネットワークでは、逆伝播時に勾配が指数的に減少または増加する問題が発生する。シグモイドやtanhなどの飽和型活性化関数を用いた場合、勾配消失が特に顕著になる。この問題に対処するために、ReLU系活性化関数の使用、バッチ正規化、残差接続、適切な重み初期化手法などが提案されている。勾配爆発に対しては、勾配クリッピングが有効であり、勾配のノルムを一定値以下に制限する。

5 応用事例

5.1 画像分類の最終層

画像分類タスクでは、畳み込みニューラルネットワークの末端に全結合層を配置し、抽出された特徴マップをクラス確率に変換する。畳み込み層で空間的特徴を抽出した後、全結合層がこれらの特徴を一次元ベクトルに平坦化し、線形変換によって各クラスのスコアを計算する。最終層にはソフトマックス活性化関数が用いられ、クラス確率分布が出力される。この構造は、AlexNet、VGGNet、ResNetなど多くの標準的な画像分類モデルで採用されている。

5.2 畳み込みニューラルネットワークにおける全結合層

畳み込みニューラルネットワークでは、全結合層は主に特徴抽出後の高次推論を担当する。畳み込み層とプーリング層が局所的なパターンを抽出するのに対し、全結合層はこれらの情報を統合してグローバルな判断を下す。しかし、全結合層のパラメータ数は膨大になりやすく、計算コストとメモリ使用量の増加を招く。この問題を解決するために、全結合層の代わりにグローバル平均プーリングを用いる手法も一般的である。

5.3 自然言語処理における意味表現

自然言語処理では、全結合層が単語埋め込みや文脈表現を高次元の意味空間に写像するために用いられる。例えば、単語の分散表現を全結合層で変換し、文書分類や感情分析のための特徴ベクトルを生成する。また、再帰型ニューラルネットワークやTransformerの出力層として、最終的な予測を生成するために使用される。全結合層は、文脈情報を統合し、タスク固有の表現を学習する役割を果たす。

6 限界と改善手法

6.1 パラメータ過多の問題

全結合層の最も顕著な限界は、パラメータ数が層のサイズに応じて二乗で増加することである。例えば、前層に1024ニューロン、次層に1024ニューロンがある場合、重み行列だけで100万以上のパラメータを持つことになる。このパラメータ過多は、過学習のリスクを高め、計算リソースとメモリの消費を増大させる。また、大規模なデータセットがないと十分に学習が困難になる。

6.2 スパース接続への代替

6.2.1 局所受容野の導入

全結合層の完全接続を制限し、各ニューロンが前層の一部のニューロンのみと接続する構造が提案されている。畳み込み層はその代表例であり、局所受容野を用いて空間的に近接した情報のみを処理することで、パラメータ数を大幅に削減する。この手法は画像や音声などの局所的な相関が強いデータに対して特に有効であり、全結合層の代替として広く用いられている。

6.2.2 グループ化と低ランク近似

パラメータ数を削減するために、重み行列を低ランク近似する手法や、ニューロンをグループ化して疎な接続パターンを導入する手法がある。低ランク近似では、重み行列を小さな行列の積で近似し、パラメータ数を減らす。グループ化では、ニューロンを複数のグループに分割し、グループ間でのみ接続を許可する。これらの手法は、計算効率と表現能力のバランスを取るための有効な戦略である。

6.3 転移学習による効率化

転移学習は、大規模データセットで事前学習された全結合層の重みを、新しいタスクに再利用する手法である。これにより、限られたデータでも効率的に学習が可能となる。例えば、ImageNetで学習された画像分類モデルの全結合層の重みを凍結し、新しいタスクの最終層のみを再学習することで、少ないデータでも高い性能を達成できる。転移学習は、全結合層のパラメータ過多問題を実用的に解決する有効なアプローチである。