フィードフォワードFeed-Forward

信号が前へだけ流れるニューラルネットワーク構造

ポイント
  • フィードフォワードは信号が入力から出力の方向にだけ流れる構造です。戻る道がありません。
  • 前の層の結果は次の層にだけ渡されます。だから一度通った場所をもう一度通ることはありません
  • 前に出てきたものをためておく通路がないので、順序を覚えておく必要がある仕事は別の仕組みが代わりに担います。
  • トランスフォーマーのブロックの中にもフィードフォワード層が入っています。モデルの数字の半分以上がここに集まっています。
  • 学習のときに誤差が後ろから前へ送り返されますが、それは計算の向きだけで構造が変わるわけではありません。
目次

1たとえで理解する

給食の配膳ラインに並ぶと、トレーを持って前にだけ進みます。ご飯を受け取る場所から汁物の場所へ、汁物からおかずへ、おかずからデザートへ。おかずが気に入らないからといってご飯の場所に戻ることはできません。列は一方向にしか流れません。

配膳台ごとにすることも決まっています。汁物担当は汁物だけをよそい、前の台で何を受け取ってきたかに関わらず自分のお玉だけを使います。トレーが最後の台を通れば一食が完成します。

フィードフォワード型のニューラルネットワークもこんな形をしています。数の束が層という配膳台を順番に通り抜け、配膳台ごとに自分の分の計算を加えます。最後の配膳台を通れば答えが出ます。

2くわしく

戻る道がないという意味

ニューラルネットワークの図で矢印をたどってみると、二種類が見えます。一つは前へだけ進む矢印、もう一つは自分自身や手前へ戻る矢印です。フィードフォワードは前へのものだけがある構造です。

戻る道がなければ計算の順序が単純になります。最初の層から最後の層まで一度なぞれば答えが出て、同じ値を入れれば常に同じ順番で計算されます。途中で何かの値をためておいて次の順番で使うこともありません。

この単純さが速さにつながります。戻る道がなければ層の中の計算を細かく分けて一度に処理できるので、何千もの計算を同時に回す機材を最大限に活かせます。順番を待つ必要がないぶん、機材を増やすほど答えも速くなります。

記憶する構造と何が違うか

文章を扱うには、前に出てきた言葉をつかまえておく必要があります。戻る道がある構造はこの問題を循環で解きます。一つの単語を処理した結果を自分自身にもう一度入れて、次の単語を見るときに前の痕跡を一緒に参照します。

代わりに順序を守らなければならないので、前の単語が終わらないと次の単語を始められません。文が長くなると待つ時間がそのまま伸び、手前の痕跡は後ろに行くほどぼやけます。

フィードフォワードは逆です。ためておく通路がない代わりに、すべての場所を一度に計算できます。最近の言語モデルは前後関係を見る仕事をアテンションに任せ、残りの計算をフィードフォワードで処理して、二つの方式の長所を分け合っています。

一度広げてまた狭めます

トランスフォーマーのブロックの中のフィードフォワード層は独特な形をしています。入ってきた数の束を一度大きく膨らませてから元の幅に折りたたみます。だいたい四倍ほど広げてから狭めます。

広げる理由は場所をゆとりを持って作るためです。狭い場所でこんがらがっていた特徴が、広い場所ではばらばらに広がります。その状態で不要な信号を押さえ込み、残ったものだけを集めてまた折りたたみます。

この膨らませて折りたたむ過程にモデルの数字が大量に入っています。アテンションが話題を集める側だとすれば、フィードフォワードは集めた材料で実際の判断を作る側です。学習で身につけた知識は主にここに蓄えられているとみる研究も多くあります。

場所ごとに別々に、規則は同じに

トランスフォーマーのフィードフォワード層は、文の中の一片一片に別々に適用されます。一番目の一片と十番目の一片は互いを見ずに、それぞれ同じ規則で計算されます。

だから一片がいくつあっても計算を一度にまとめて行えます。隣の一片を待つ必要がないからです。一片どうしが情報をやり取りする仕事は、その直前の段階ですでに終わっています。

アテンションで互いに話し合い、フィードフォワードでそれぞれ考えを整理し、また次の層で話し合う。この二段階が交互に繰り返されるのが最近のモデルの基本の骨組みです。

3もう少し正確に

フィードフォワード型ニューラルネットワークとは、つながりに循環がないニューラルネットワークを指す言葉です。多層パーセプトロンが最も単純な例で、画像を扱う畳み込みニューラルネットワークも循環がないのでフィードフォワードに含まれます。トランスフォーマーのブロックの中のフィードフォワード層はこの構造を二層重ねたもので、広げてから狭める間に負の値を押さえ込む活性化関数が一回入ります。

たとえがずれる点もあります。配膳台はトレーにおかずを乗せるだけですが、ニューラルネットワークの層は入ってきた数をまるごと新しい数に変えて出します。前の層の値がそのまま残っているわけではありません。また配膳台のお玉はいつも同じですが、層が使う計算の規則は学習の間少しずつ変わります。学習が終わって初めて固定されます。列が一本だけという点も違います。実際のモデルには層を飛び越えて元の値をそのまま運ぶ通路が並んで付いていて、層の結果がその値に足される形で流れていきます。

4やってみる

5よくある誤解

  • フィードフォワードがトランスフォーマーの中の特定の層の名前だと思われがちですが、実際には戻る接続がない構造全体を指す言葉です。

  • 逆伝播を使うからフィードフォワードではないと混同されがちですが、実際に誤差を送り返すのは学習のときにする計算で、信号が流れる構造はそのまま一方向です。

  • 単純な層だからあまり重要ではないと見過ごされがちですが、実際にはモデルが持つ数字の半分以上がこの層に入っています。

7ひとこと要約

つまりフィードフォワードは信号が前へだけ流れる構造で、トランスフォーマーの中ではアテンションが集めた材料を各場所で整理し判断に変える層です。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02