順伝播とは、ニューラルネットワークにおいて入力データを入力層から出力層へと順番に計算しながら伝達し、予測結果を算出する処理プロセスです。モデルの学習時における損失計算や、推論時の結果出力に不可欠な基本動作です。
順伝播とは
順伝播とは、ニューラルネットワークにおいて入力データを受け取り、層を順番に経由しながら計算を行って最終的な出力(予測値)を得る処理のことです。
詳しく解説
順伝播(フォワードプロパゲーション)では、入力層に入力されたデータが中間層(隠れ層)へと順次送られます。各層の各ノードでは、前層からの信号に「重み」を掛け合わせて足し合わせ(線形変換)、さらに「活性化関数」を通して非線形な変換を行います。この計算を出力層まで繰り返すことで最終的な予測値が導き出されます。モデルの学習フェーズでは、順伝播によって得られた予測値と正解ラベルを比較し、「損失関数」を用いて誤差を算出します。この算出された誤差をもとにパラメータを更新するため、順伝播は機械学習の計算における起点となる重要なステップです。
具体例・使われ方
画像認識において手書き数字の画像をニューラルネットワークに入力し、各層で特徴を抽出しながら最終的に「これは8である確率が90%」と予測結果を出力する一連の流れが順伝播の具体例です。
似た用語との違い
順伝播と対になる概念に「誤差逆伝播法」(逆伝播)があります。順伝播が入力から出力へ向かって予測値を計算するのに対し、誤差逆伝播法は出力側で生じた誤差を入力側へ逆向きに伝えながら各層の重みを更新するための勾配を計算します。
注意点
順伝播単体ではモデルのパラメータを更新(学習)することはできません。学習を成立させるには順伝播で誤差を求めた後に逆伝播を行う必要があります。また、適切な活性化関数や重みの初期化を行わないと、途中で数値が極端に大きくなったり消滅したりして正常に推論できなくなる場合があります。