多層化されるFF層:知識を抽象化する階層プロセス
ChatGPTなどのLLM(大容量Transformer)では、FF層は1つだけではなく、数十段(例:Llama 3では32〜80層)積み重ねられています。
この多層構成では、Layer 1のFF層で抽出された「低レベルな文脈特徴(主語や時制)」が、残差接続(Skip Connection)を通じてそのままバイパスされ、Layer 2のFF層で「より抽象的な意味知識(概念の連想や回答方針)」へと段階的に洗練・アップデートされていきます。この階層的な知識処理の全体像を、インタラクティブに体験しましょう。
多層FFNブロックの重要設計
1. 最初期入力ベクトル $x$
自己アテンションから最初に出てきた、ある単語(トークン)の4次元の特徴量です。スライダーをドラッグすると、L1・L2の両方の層を連動してデータパルスが駆け抜けます。
2. 非線形スイッチ(活性化関数)
各FF層の次元拡張エリア(Hidden 1 および Hidden 2)に適用される活性化関数です。
活性化関数プロファイル
3. 2ステージ多層FF層 ネットワーク&残差バイパス描画
ノードをホバーすると接続される結合線が強調されます。上部と下部を貫通する太いカーブ線(緑)は情報流を壊さずに維持する「残差接続(Residual)」です。
4. 2層連続 リアルタイム数値演算トレース
入力変化に応じ、Layer 1から残差加算を経てLayer 2へとなだれ込む数値演算の全過程をモニタリングします。
多層FF層を貫く、8つの詳細演算ステップと目的
AIが言葉の背景にある「概念」や「知識」を深めるための、洗練された計算プロセスを数理モデルとともに解剖します。
01 【L1入力】最初期アテンション情報の受け取り:トークン状態の初期化
■ 数式モデル
※ $d_{model}$ 次元ベクトル(Llama3では4,096次元、本デモでは4次元)。他の単語から集められた文脈の初期配合状態。
■ この処理の「本質的な目的」
この入力 $x$ は、自己アテンション(Self-Attention)層によって、文脈上の「関連単語」の埋め込みベクトルを集約・足し算した結果です。
この段階の目的は、アテンションが集めてきた文脈情報を崩さずにロードし、このトークン独自の「知識データベース(FF層)」による第1段階の意味判定に送る基盤を整えることです。アテンションは文脈を混ぜるだけなので、この時点ではまだ知識の呼び出しは一切行われていません。
💡 目的と役割
他のトークンとの情報交換を終え、いよいよこのトークン単体で「文法の意味」や「基本的な単語の関係性」を検証し始める最初のセットアップです。
多層構造がもたらす「推論のステップ」
LLMの深さと人間の思考における「段階的思考」の対応性
なぜLLMにはこれほど多くのFF層が重なっているのでしょうか? 近年のAI研究により、Transformerモデルは1つのトークンを処理する際、「下層(浅い層)から上層(深い層)へ、人間が頭の中でじっくりと思考を練り上げるようなステップ」を踏んで計算を行っていることが解明されています。
文法・構造の確認(L1相当)
「この単語は動詞か名詞か?」「直前に何があるか?」といった、テキスト表面上の浅いルールをFF層のキーマッチングで精査します。ここでの残差出力は、主に文法的整合性を整えるベクトルに費やされます。
事実・知識の連想(L2相当)
文脈がクリアになった中層では、本格的に「知識の引き出し」が始まります。歴史の年号、プログラムの構文の意味、登場人物の感情といった、広大な事実データベースへのアクセスがこのエリアのFF層で行われます。
最終回答とトーンの調整
最上層付近のFF層では、引き出された複数の知識を統合し、指定されたキャラクターの口調(敬語、関西弁など)や、次に予測される具体的な単語の「確率の偏り」の微調整(最終チューニング)を施して出力します。