第3章 — 言語のためのニューラルネットワーク: RNN から Self-Attention へ

公開日: 2026-02-20 最終更新日: 2026-06-07 バージョン: 4

第3章 — 言語のためのニューラルネットワーク

LLM Primer I: How Generative AI Works を章ごとに紹介するシリーズ、第3回です。前回は言語モデリングを確率の問題として捉え、古いカウントベースの手法がなぜスケールしなかったかを確認しました。今日は、それを置き換えた計算機構と、その機構が現代のすべての LLM を動かす設計へとどう進化してきたかを、一緒に見ていければと思います。


ニューラルネットワークの正体

脳とシナプスのイメージは、少しのあいだ脇に置いてください。ニューラルネットワークの本質は、内部に数百万〜数十億の「つまみ」を備えた、長い数式の手順書です。つまみはすべて単なる数値で、入力(あなたの入力を表す数の列)を流し込むと、手順書は段階ごとに変換を加え、もう一方の口から数の列を出してくれます。

「学習」とは、たくさんの例を見せながら、勾配降下法という仕組みを使って、すべてのつまみを自動でちょっとずつ回していくこと。それぞれの例について、出力が望みの答えに少しずつ近づいていくようにする作業です。これを何十億の例にわたって続けると、最終的にはつまみの設定の中に、学習対象の構造が驚くほど豊かに刻まれた、そんなネットワークが残ります。

ひとことで言うと: 学習済みのニューラルネットワークは、結局のところ「つまみの最終的な設定」そのものです。知能のように見えるものは、その数値の中に宿っている。それ以外の部分には、概念的に難しい仕掛けはありません。

第3章は、内部のメカニクスにもきちんと時間をかけます — Embedding、隠れ層、非線形の活性化関数、つまみを更新するための最適化の手順、といった一通り。本書ではそこを避けて通りませんが、数学的な前提がなくても、一歩ずつ追えるように説明しました。レシピが読めれば、この章は十分読めるかと思います。

形は3つあった。けれど、生き残ったのは1つだけ

言語のためのニューラルネットワークの歴史は、大きく見ると3つのアーキテクチャの物語です。どれも、先行する手法に対しては本物の前進だった。そして、どれにも致命的な限界があった。3つ目 — Self-Attention — が、ようやく「スケールで」問題を解いてみせたわけです。

1つ目は Feedforward ネットワーク。固定サイズの入力を渡せば、それを変換して固定サイズの出力を返してくれます。多くのタスクには適していますが、言語に対しては構造的な問題を抱えていました。言語は、決まったサイズで届いてくれません。3語の文もあれば、300語の文もある。Feedforward には、この長さのばらつきを上品にさばく手立てがないのです。

2つ目は RNN(リカレントニューラルネットワーク)。RNNはテキストを1トークンずつ読み、その時点までの要約 — 隠れ状態 — を次のステップに持ち越していきます。人間の読み方を真似たかたちで、可変長の問題はこれで解けました。ただ、新たに2つの問題が生まれます。持ち越される要約は、長い文章になるほど細部が消え、モデルは前半の情報を「忘れて」しまう。さらに、各ステップが前のステップを待たないと動けないので、現代のハードウェア上で並列化が効かない。RNNの大規模化は、現実的でなくなっていきました。

3つ目が Self-Attention。逐次的なやり方を、いっそ全部捨ててしまった発想です。要約を持ち越すかわりに、列の中の各トークンが、他のすべてのトークンを — 同時に — 直接見にいく。そして、どれが重要かを自分で決める。忘却の問題(どのトークンも他のすべてに直接アクセスできる)も、並列化の問題(列全体をGPUで一気に処理できる)も、まとめて解消しました。Transformer ベースのLLMはすべて、ここを土台にしています。

覚えておきたいこと: RNN から Attention への移行は、軽い改良の話ではありません。アーキテクチャの断絶です。リカレントモデルのまま延長線で行っても、現代のLLMが動いている規模には届かなかったでしょう。Self-Attention が、いまの分野の地ならしをしたのです。

「Attention がすべてを変えた」の中身

このフレーズは、Transformer を世に出した2017年の有名な論文のタイトルにも入っていて、いまや使いまわされています。第3章では、具体的に何が変わったのかを、丁寧にほどいて説明します。

Attention の正体は、「ルーティングの仕掛け」です。各トークンが「自分はこういう情報を探している」(Query)と「自分はこういうものを差し出せる」(Key)を発信していて、計算上はそのマッチ度合いに応じて、他のすべてのトークンに対する重み付き平均を取る。結果として、Attention 層を通り過ぎたあとの各トークンには、列のあちこちから集まってきた関連情報が、ぎゅっと織り込まれている、というわけです。

うまく機能する根っこは、「表現力」と「並列性」を両立できるところにあります。表現力 — 位置1のトークンが位置1000のトークンに直接情報を渡せるような、長距離依存も扱える。並列性 — 重み付き平均は一気に行列演算として書けるので、現代のハードウェアの得意分野とぴたりとはまる。この組み合わせが、スケーリングの時代の扉を開きました。

第3章を通して、得られるもの

第3章を読み終えるころには、過去のニューラルネット設計がなぜ言語で行き詰まり、Attention がどう突破口になったのかを、実用的な解像度で理解できているはずです。ネットワークを学習させるとは、機械的に何をしていることなのかも見えてくる。そして、次章で開く Transformer のアーキテクチャが、なぜあのような形をしているのか、その理由を受け止めるための足場が整います。

多くの読者にとって、ここがいわば転機の章かと思います。LLMを「得体の知れない黒い箱」ではなく、「特定の種類のエンジニアリング」として見られるようになる。本書の狙いの中心も、ちょうどここにあるのです。


次回 — 第4章: Transformer アーキテクチャ。 いよいよ箱を開けてまいります。Self-Attention、Multi-Head、位置エンコーディング、層のスタック、そして GPT・BERT・その中間にあたるモデルを見分ける設計判断について解説してまいります。

全体像を押さえたい方へ: 本書では、Transformer ブロックの各コンポーネントを、図解と、どのプログラミング言語でも読める短いコード例とともに解説しました。Amazonで『LLM Primer I』を見る

下田 昌平
下田 昌平
開発と設計を担当。1994年からプログラミングを始め、今もなお最新技術への探究心を持ち続けています。