- フィードフォワードニューラルネットワークは、最初に発明された人工ニューラルネットワークのタイプであり、リカレントニューラルネットワークや畳み込みニューラルネットワークなどの他のタイプよりもシンプルです。
- これらは最もシンプルなニューラルネットワークの一つですが、画像認識から自然言語処理まで、多くのアプリケーションで重要な役割を果たします。
様々なタイプのニューラルネットワークの中で、フィードフォワードニューラルネットワーク(FNN)は最も基本的で広く使用されているものの一つです。これらは、最近使用されている多くの重要なニューラルネットワークの基礎を形成しており、例えば畳み込みニューラルネットワークやリカレントニューラルネットワークなどがあります。そのシンプルさにもかかわらず、多くの高度な AI システムのバックボーンとなっています。
フィードフォワードニューラルネットワークとは
フィードフォワードニューラルネットワークは、ノード(ニューロン)間の接続が循環を形成しないタイプの人工ニューラルネットワークです。入力層から隠れ層を通り出力層へという一方向の情報の流れが、フィードフォワードネットワークの決定的な特徴です。リカレントニューラルネットワーク(RNN)が接続をループさせてシーケンシャルデータを処理するのとは異なり、フィードフォワードネットワークはデータを一度の通過で処理するため、よりシンプルで理解しやすくなっています。
関連記事:機械学習でニューラルネットワークを使用する 7 つの理由
関連記事:ニューラルネットワークの隠れ層とは何か、そしてその種類は?
フィードフォワードニューラルネットワークの主要コンポーネント
入力層:入力層はネットワークの最初の層であり、生データやデータセットの特徴を受け取り提示する役割を担います。この層の各ノードはデータの特徴や属性を表します。例えば、画像分類タスクでは、入力層は画像のピクセル値を受け取ります。
隠れ層:隠れ層は入力層と出力層の間の中間層です。フィードフォワードニューラルネットワークは、それぞれ複数のニューロンを含む 1 つ以上の隠れ層を持つことができます。隠れ層は入力データに対して複雑な計算と変換を行います。これらの層の各ニューロンは、入力の加重和を計算し、活性化関数を適用して結果を次の層に渡します。このプロセスにより非線形性が導入され、ネットワークがデータ内の複雑なパターンを学習しモデル化できるようになります。
出力層:出力層はネットワークの最終結果または予測を生成します。隠れ層からのデータを所望の出力形式に変換します。分類タスクでは、出力層はソフトマックス活性化関数を使用して異なるクラスの確率を提供します。回帰タスクでは、線形活性化関数を使用して連続値を予測します。
重みとバイアス:重みとバイアスはネットワーク内のパラメータであり、トレーニング中に調整されます。重みはニューロン間の接続の強さを決定し、バイアスはネットワークがデータにより柔軟に適合できるようにします。トレーニング中、オプティマイザーはこれらのパラメータを調整して損失関数を最小化します。
活性化関数:活性化関数はネットワークに非線形性を導入します。一般的な活性化関数には、ReLU(Rectified Linear Unit)、シグモイド、tanh などがあります。これらの関数は、ネットワークがその誤差から学習し、データの複雑な関係を捉えるのを助けます。

