
フィードフォワードニューラルネットワークは、情報が一方向に流れる人工ニューラルネットワークです。入力は重みで乗算されて出力を得ます(入力から出力)。 [ 2 ]これは、ループによって後の処理段階からの情報が前の段階にフィードバックされるリカレントニューラルネットワークとは対照的です。 [ 3 ]フィードフォワード乗算はバックプロパゲーションに不可欠です。[4][5][6][7][8] なぜなら、フィードバックでは、出力がまったく同じ入力にフィードバックしてそれを変更するため、無限ループが形成され、バックプロパゲーションでは区別できないからです。この命名法は、一部のコンピュータ科学者と脳ネットワークを研究する他の分野の科学者の間で混乱の原因となっているようです。[ 9 ]
歴史的に一般的な2つの活性化関数はどちらもシグモイド関数であり、次のように記述されます。
1つ目は-1から1の範囲をとる双曲線正接関数であり、もう1つは形状は似ているが0から1の範囲をとるロジスティック関数である。は、-番目のノード(ニューロン)とは入力接続の加重和です。代替の活性化関数として、整流関数やソフトプラス関数などが提案されています。より特殊な活性化関数としては、放射基底関数(教師ありニューラルネットワークモデルの別のクラスである放射基底ネットワークで使用される)などがあります。
近年の深層学習の発展において、ReLU(整流線形ユニット)は、シグモイド関数に関連する数値的な問題を克服するための有効な手段の一つとして、より頻繁に用いられるようになっている。
![]()
学習は、各データ処理後に、出力における期待結果との誤差量に基づいて接続重みを変更することによって行われます。これは教師あり学習の一例であり、バックプロパゲーションによって実行されます。
出力ノードでエラーの度合いを表すことができますで- 番目のデータポイント(トレーニング例)、 どこは、ノードにおける 番目のデータポイント、 そしてノードで生成される値ですその時番目のデータポイントが入力として与えられます。
ノードの重みは、全体の出力の誤差を最小化する補正に基づいて調整できます。次のデータポイント
勾配降下法を用いると、各重みの変化はは
どここれは前のニューロンの出力です、 そしては学習率であり、重みが振動することなく迅速に応答に収束するように選択されます。前の式では、は誤差の偏微分を表す加重合計によるとニューロンの入力接続。
計算される導関数は、誘起された局所場に依存する。、それ自体も変化する。出力ノードの場合、この導関数は次のように単純化できることは容易に証明できる。
どこは、上記で説明した活性化関数の導関数であり、それ自体は変化しません。隠れノードへの重みの変化については分析がより困難ですが、関連する導関数は であることが示せます。
これは、は、出力層を表すノードです。隠れ層の重みを変更するには、活性化関数の導関数に従って出力層の重みを変更する必要があり、このアルゴリズムは活性化関数のバックプロパゲーションを表します。[ 10 ]
閾値、すなわち線形活性化関数を使用する場合、結果として得られる線形閾値ユニットはパーセプトロンと呼ばれます。(多くの場合、この用語はこれらのユニットの 1 つだけを指すために使用されます。)複数の並列非線形ユニットは、線形閾値関数を持つ単一ユニットの限られた計算能力にもかかわらず、実数のコンパクトな区間から区間 [−1,1] への任意の連続関数を近似することができます。 [ 31 ]

パーセプトロンは、デルタルールと呼ばれる単純な学習アルゴリズムによって学習させることができます。このアルゴリズムは、計算された出力とサンプル出力データとの間の誤差を計算し、それを用いて重みを調整することで、勾配降下法の一種を実現します。
多層パーセプトロン(MLP)は、完全に接続されたニューロン(そのため、完全接続ネットワーク(FCN )という同義語が使われることもある)で構成され、多くの場合非線形の活性化関数を持ち、少なくとも3つの層に組織化され、線形分離できないデータを区別できることで知られる、現代のフィードフォワード人工ニューラルネットワークの誤称である。[ 32 ]

他のフィードフォワードネットワークの例としては、異なる活性化関数を使用する畳み込みニューラルネットワークや放射基底関数ネットワークなどが挙げられる。