世界を動かす技術を、日本語で。

記憶からトランスフォーマーを発明できたかもしれない

2026年10月17日原文(alexwang.ai)

概要

  • 大規模言語モデル は膨大な知識を記憶・想起できる特徴
  • 記憶容量 は記憶数が増えるほど干渉が増し、想起性能が悪化
  • 線形層・MLP・Self-Attention の記憶容量と干渉の違いを直感的に解説
  • 干渉対信号比 で記憶ストアの性能を評価
  • 最適化手法 で記憶容量を増やし、干渉を抑制する方法を紹介

記憶ストアの基礎と大規模言語モデルの記憶

  • 大規模言語モデル は世界中の知識やルールを高精度に想起可能
  • 記憶ストア とは、入力(キー)に対して値(バリュー)を返す関数
  • 連想記憶 (associative memory)として、類似したキーで想起できる仕組み
  • 記憶数が増加 すると、記憶同士の干渉が強まり、想起精度が低下

線形記憶ストア(Outer Product Memory)

  • 最も基本的な記憶ストア は線形(外積)型
    • $W = \sum_{i=1}^{M} v_i k_i\transpose = V\transpose K$
  • 新しい記憶 (キー$k$, バリュー$v$)は $vk\transpose$ を加算
  • 想起時 は $f(x) = V\transpose K x = \sum_{i=1}^{M} v_i,(k_i\transpose x)$
  • 類似度に基づく重み付き和 でバリューを返す仕組み

干渉と記憶容量

  • キーが全て直交 なら干渉ゼロで完全想起可能
  • キー次元$d_k$ を超えて記憶を増やすと干渉が顕著化
  • 干渉対信号比 は $\sqrt{\frac{M}{d_k}}$ で表され、$M \approx d_k$で干渉が信号と同等に
  • 容量向上策 はキー次元拡大またはアルゴリズム的工夫

最適線形記憶ストア

  • 外積型 は他の記憶を考慮せず加算するため、干渉が残る
  • 最適化 では全記憶を同時にフィットさせ、干渉を最小化
    • $W = V\transpose K,(K\transpose K)\inverse$
  • キーが線形独立かつ$M \leq d_k$ なら干渉ゼロ
  • $M > d_k$ で干渉増加、干渉対信号比は $\sqrt{\frac{M}{d_k} - 1}$
  • 容量は$2d_k$まで増加 (外積型の約2倍)

干渉低減のアルゴリズム的アプローチ

  • キーのホワイトニング で冗長方向を除去
  • 非線形性導入 (MLPやSelf-Attention)で類似度の低い記憶の寄与を抑制
  • MLP・Self-Attention はさらに大容量かつ高精度な記憶ストアを実現

まとめ

  • 記憶ストア の種類により、記憶容量と干渉の特性が大きく異なる
  • 線形層→最適線形→MLP→Self-Attention の順で容量・想起精度が向上
  • 大規模言語モデル の強力な知識想起は、これら記憶ストアの進化によるもの

記憶ストアの数式・用語整理

  • 記憶ストア$f$ :$M$個の記憶(キー$k_i \in \reals^{d_k}$、バリュー$v_i \in \reals^{d_v}$)を保持
  • クエリ$x$ で、$f(x)$が値を想起
  • 外積型ストア :$W = \sum_{i=1}^{M} v_i k_i\transpose$
  • 最適線形ストア :$W = V\transpose K,(K\transpose K)\inverse$
  • 干渉対信号比 :$\frac{\norm{\text{interference}}}{\norm{\text{signal}}}$
  • 容量 :干渉が信号と同程度になる記憶数

今後の展開

  • MLP・Self-Attention の記憶容量・干渉抑制の仕組み
  • 実用上のハードウェア制約 や アルゴリズム的最適化 の重要性
  • 大規模モデル設計 における記憶ストアの選択指針

Hackerたちの意見

すごく面白い記事だね!数学の全てを理解してるとは言えないけど、こうやって示すのは素晴らしい方法だと思う。前に誰かが「知能って実際には“圧縮”と同じか似てるのか?」って質問してたのを思い出した。つまり、理由や重み、関係性から何かを作り出す能力のことなんだけど。この記事はそれをさらに面白くしてるね!

└

興味がある人のために、最近の3Blue1Brownの「圧縮は知性だ」というシリーズを紹介するね: https://www.youtube.com/watch?v=l6DKRf-fAAM (3B1Bに馴染みがない人には、面白い数学の概念を視覚化して直感的に説明するYouTubeチャンネルだよ!)

誰?俺?

参考までに: NNCP: ニューラルネットワークによるロスレスデータ圧縮 (2019) https://news.ycombinator.com/item?id=27244004 https://bellard.org/nncp/

記事が「あなた」になるための要件を定義してくれたらいいのに。

└

なんで?

└

https://en.wikipedia.org/wiki/Generic_you

いい記事だね。「トランスフォーマーがホップフィールドネットワークとして機能する」っていうのが好きなポイントは、トランスフォーマーは記憶を覚えるのがすごく得意で、バニラホップフィールドネットワークが複数のステップを必要とするのに対して、適切な記憶を見つけるのにたった一歩で済むところだよ。

ここにいる誰かでこのことを理解してる人、助けてほしい。記事の最後で記憶からLLMへのつながりを描くところでつまずいちゃった。LLMにとって、キーはコンテキスト内のトークンで、値は…具体的には何なの?

└

アテンションレイヤーでは、クエリ、キー、バリューがすべて推論時に計算されるんだ。これはトレーニングの結果として決まった重み行列を使ってね。もしXがアテンションレイヤーに入るトークンの表現だとしたら、Q、K、Vはそれぞれ、Xに対応する学習済みの重み行列を掛けることで決まるよ。具体的には、Q = XW_q、K = XW_k、V = XW_v って感じ。そこから、KとVはPythonの辞書のキーとバリューのように考えられて、Qは渡すキーだね(例えば、Pythonでd[Q]を使ってVを返す)。アテンションレイヤーの違いは、クエリが各キーに対してドット積でマッチングされること。単一の値を返すのではなく、値の加重和を得るんだ。

アニメーションの鳥、キアは本当に素晴らしいね。この作品に込められた努力と細部に感謝!

└

同じことを言おうと戻ってきたところだった!何人の人が気づいたかな?

Hacker Newsで議論の続きを見る