定義と特徴

一方向性信号伝播

フィードフォワード型ニューラルネットワークでは、入力信号が層を順に通過し、出力側へ向かって一方向にのみ伝播する。各ニューロンは前の層からの入力のみを受け取り、自身の出力を次の層へ渡す。この構造により、信号の流れが明確で、計算の順序が一意に定まる。

フィードバックの不在

フィードフォワード型は、出力が入力に戻るような循環経路を持たない。ネットワークの出力は現在の入力のみに依存し、過去の出力や内部状態を保持しない。この特性により、推論時の計算が高速で、メモリ使用量予測可能となる。

歴史背景

初期のパーセプトロンモデル

1958年にフランク・ローゼンブラットが提案したパーセプトロンは、単一層のフィードフォワード型ネットワークである。線形分離可能な問題のみを解くことができ、XOR問題のような非線形問題には対応できなかった。この限界が、後により深いネットワークの研究を促した。

バックプロパゲーションの登場

1986年にルメルハートらが誤差逆伝播法(バックプロパゲーション)を提案し、多層フィードフォワードネットワークの学習が可能となった。これにより隠れ層を持つネットワークの訓練が現実的になり、深層学習の基盤が築かれた。

層構造

入力層

入力層はネットワークにデータを受け入れる最初の層である。各ニューロンは入力特徴量の一つの値に対応し、活性化関数を適用せずにそのまま次の層へ伝達する。入力データの次元数がニューロン数となる。

隠れ層

隠れ層は入力層と出力層の間に配置され、非線形変換を実現する役割を担う。複数の隠れ層を積み重ねることで、深い表現学習が可能となる。各隠れ層は全結合層として構成されることが多い。

出力層

出力層はネットワークの最終結果を生成する。問題の種類に応じて活性化関数が選択される。分類問題ではソフトマックス関数やシグモイド関数、回帰問題では恒等関数が使われる。

全結合型ネットワーク

重みバイアス

各ニューロンは前の層の全ニューロンと結合し、それぞれに重みパラメータが割り当てられる。重みは入力信号の強度を調整し、バイアスはニューロンの発火しやすさを制御する。学習プロセスではこれらのパラメータが最適化される。

活性化関数

活性化関数はニューロンの出力に非線形性を導入する。代表的なものにReLU整流線形ユニット)、シグモイド、tanhなどがある。活性化関数の選択はネットワークの表現能力と学習の安定性に影響を与える。

順伝播計算

線形変換

各層では、入力ベクトルに重み行列を掛け、バイアスベクトルを加える線形変換が行われる。この操作はすべてのニューロンに対して並列に実行される。

非線形変換

線形変換の後、活性化関数が適用される。ReLUのような非線形関数が、ネットワークに複雑な関数近似能力を与える。この工程を層ごとに繰り返すことで、最終的な出力を得る。

バックプロパゲーションとの関連

損失関数

学習では、予測出力と正解ラベルの差を測定する損失関数が定義される。二乗誤差やクロスエントロピー損失がよく用いられる。損失関数の値が小さいほど、ネットワークの性能が良いと評価される。

勾配降下法

損失関数を最小化するため、各パラメータの勾配(偏微分)を計算し、その逆方向にパラメータを更新する。バックプロパゲーションは、連鎖律を用いて効率的に勾配を計算する手法である。

フィードフォワード型学習特有の課題

勾配消失問題

深いネットワークでは、勾配が層を逆伝播するたびに指数関数的に小さくなり、早期の層のパラメータがほとんど更新されなくなる。シグモイドやtanh活性化関数を使用する場合に顕著である。ReLUの導入や残差接続などの対策がある。

局所最適解への収束

学習は非凸最適化問題であり、大域的最適解ではなく局所的最適解に収束するリスクがある。初期値のランダム化、モメンタム法、学習率スケジューリングなどの工夫により、良好な解に到達しやすくなる。

画像認識

手書き文字認識

MNISTデータセットを用いた手書き数字認識は、フィードフォワード型ネットワークの古典的な応用例である。入力はピクセル値のベクトルであり、出力は数字のクラス確率となる。

物体検出

より複雑な画像認識タスクでは、フィードフォワード型ネットワークが畳み込み層と組み合わせて使われる。ただし、純粋な全結合層のみのネットワークは画像の空間構造を考慮しないため、現代では畳み込みニューラルネットワークが主流である。

自然言語処理

テキスト分類

文書を単語の出現頻度やTF-IDFベクトルに変換し、フィードフォワード型ネットワークで分類する。シンプルで高速な手法として、スパム検出やトピック分類に利用される。

感情分析

テキストから感情極性(ポジティブ/ネガティブ)を判定するタスク。単語埋め込みベクトルを入力として用いることで、より効果的な分析が可能となる。

回帰問題

価格予測

不動産価格や株価などの連続値を予測する問題。入力に物件の特徴や市場指標を与え、出力層に活性化関数を適用せずに予測値を出力する。

時系列予測

過去のデータ点を入力として未来の値を予測する。ただし、時系列の順序関係を扱うにはリカレントニューラルネットワークが適しており、フィードフォワード型では過去の情報を明示的に入力に含める工夫が必要である。

リカレントニューラルネットワークとの違い

メモリ保持の有無

リカレントニューラルネットワーク(RNN)は内部に状態を持ち、過去の入力を記憶できる。フィードフォワード型はメモリを持たず、現在の入力のみで出力を決定する。

時系列データへの適性

RNNは系列データの時間依存性をモデル化できるため、自然言語や音声などの逐次データに強い。フィードフォワード型は系列の順序を捉えられず、静的データや固定長入力に適する。

畳み込みニューラルネットワークとの違い

空間構造の考慮

畳み込みニューラルネットワーク(CNN)は画像のようなグリッド状データの空間的局所性を捉える。フィードフォワード型は入力を単なるベクトルとして扱い、空間情報を無視する。

局所受容野の有無

CNNは畳み込みカーネルにより局所的な特徴を抽出する。フィードフォワード型の全結合層はすべての入力がすべてのニューロンに影響を与え、局所性が失われる。

ネットワーク設計

隠れ層数とユニット数の選定

隠れ層の数が多すぎると過学習や勾配消失のリスクが高まり、少なすぎると表現力が不足する。タスクの複雑さに応じて適切な深さと幅を実験的に決定する。一般的には、層を深くするよりも各層のユニット数を調整する方が効果的な場合がある。

過学習対策

学習データに過度に適合する過学習を防ぐため、ドロップアウト、L1/L2正則化、早期打ち切りなどの手法が用いられる。また、データ拡張や交差検証も有効である。

ハイパーパラメータ調整

学習率

学習率が大きすぎると最適解に収束せず発散し、小さすぎると収束が遅くなる。適切な範囲を見つけるために、学習率スケジューリングや適応的勾配法(Adamなど)が利用される。

正則化手法

L2正則化(重み減衰)は重みの大きさを抑制し、L1正則化はスパースなモデルを促進する。ドロップアウトはランダムにニューロンを無効化し、アンサンブル効果で汎化性能を向上させる。