FFNNとは

FFNNは、人工ニューラルネットワークの基本的な構造の一つであり、情報が一方向(入力層から出力層へ)にのみ伝播し、ループやフィードバック接続を持たない層状の構造を持つネットワークのことです。

FFNNの概要とディープラーニングにおける位置づけ

FFNN(Feedforward Neural Network、フィードフォワード型ニューラルネットワーク)は、人工ニューラルネットワーク(ANN)の中で最も単純かつ広く使用されている形式です。このネットワークは、情報を前方に(フィードフォワード)のみ伝達する、階層的な構造で構成されています。

このネットワークの動作は、生物学的なニューロン(神経細胞)の働きをモデル化したものであり、入力データが与えられると、各層のニューロン(ノード)がその情報を処理し、次の層へ伝達します。情報が逆流したり、同じ層や前の層に戻ったりするフィードバックループが存在しないことが最大の特徴です。

主な目的は、入力と出力の間の複雑な非線形な関係を学習し、分類や回帰といったタスクを実行することです。FFNNは、ディープラーニングの基礎となる多くのネットワーク(例:畳み込みニューラルネットワークの全結合層)の要素として機能します。

FFNNの基本的な構造

FFNNは、最低でも3つの層によって構成されます。層の間は、重みとバイアスによって接続されています。

1. 入力層(Input Layer)

  • 外部からのデータ(特徴量)を受け取る層です。ニューロンの数は、入力データの次元(特徴量の数)と一致します。この層では計算は行われず、単に入力値を次の層に伝達します。

2. 隠れ層(Hidden Layer)

  • 入力層と出力層の間に存在する層です。ここで入力データに対する非線形な変換と特徴抽出が行われます。
  • 複数の隠れ層を持つFFNNは、特に多層パーセプトロン(Multi-Layer Perceptron, MLP)と呼ばれ、ディープラーニングの「深さ」を形成します。層の数と各層のニューロン数が、ネットワークの表現能力(複雑さ)を決定します。

3. 出力層(Output Layer)

  • ネットワークの最終的な計算結果を出力する層です。ニューロンの数は、解決したい問題の性質によって異なります(例:二値分類では1つ、多クラス分類ではクラス数)。

FFNNにおける情報伝播と学習の仕組み

1. 情報伝播(順伝播、Forward Propagation)

入力 x が与えられたとき、各ニューロン j は、前の層 i からのすべての入力 ai​ に、対応する重み wij​ を乗じ、バイアス bj​ を加えて総和を計算します。その後、活性化関数 f を適用して、次の層への出力 hj​ を決定します。

h_j = f \left( \sum_{i} w_{ij} a_i + b_j \right)

この計算が、入力層から出力層に向かって順次行われ、最終的な予測値が得られます。

2. 学習(誤差逆伝播法、Backpropagation)

FFNNの学習は、主に誤差逆伝播法を用いて行われます。

  • 目的: ネットワークの予測値と正解データとの間の**誤差(損失)**を最小化することです。
  • プロセス:
    1. 順伝播で予測値を出力し、損失を計算します。
    2. 計算された損失を出発点として、出力層から入力層に向けて勾配(偏微分)を逆向きに伝播させます。
    3. 伝播された勾配情報に基づいて、各層の重み w とバイアス b を更新し、損失を減少させる方向にパラメータを調整します。

誤差逆伝播法は、FFNNにおいて勾配降下法を実行するための効率的な計算手法であり、ネットワークのパラメータを最適化する基礎となります。

関連用語

ニューロン | 今更聞けないIT用語集
フィードフォワードネットワーク | 今更聞けないIT用語集
AIソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。