トランスフォーマーTransformer
文中の単語が同時に互いを参照して意味を決める構造
- トランスフォーマーは、文中の単語を一列に並べる代わりに一か所に集めて同時に見合わせる構造です。今の対話型の人工知能は、ほとんどがこの上に立っています。
- 単語はそれぞれ質問と名札と書類を持っています。質問と名札がよく合う相手の書類を多めに集める働きが、アテンションです。
- この会議を何面も同時に開き、さらに層として何十回もくり返します。下の層は近い関係を、上の層は文章全体の流れをつかみます。
- 全員が同時に向かい合うと順番がわからなくなるので、単語ごとに席の番号を別に付けます。
- 最上階でしていることは次に来る単語を一つ選ぶことだけです。この選択を何百回もくり返して、長い答えができあがります。
目次
1たとえで理解する
「はしをもって、はしをわたる」。この文を円卓の会議にかけてみます。単語が一列に並んで順番を待つ代わりに、四つの単語が丸いテーブルを囲んで向かい合います。となりでも向かいでも、顔を上げればすぐ見えます。
議題は一つです。「自分の意味を決めるには、誰の話を聞けばいいのか」。二つ目の「はしを」は、となりの「わたる」をじっと見て、自分が橋だと気づきます。一つ目の「はしを」は「もって」を見て、箸として席に落ち着きます。誰をどれだけ見るかを決めるこの視線がアテンションです。視線は一方向だけに流れません。四つの単語が同時に互いを見て、会議が一回終わるたびに、それぞれの意味が少しずつはっきりします。
2くわしく
一列に並べません
以前の方式は、単語を一列に並べて前から一つずつめくって読んでいました。最初の単語が読んだ内容を次の単語へ渡し、その単語がまた次へ渡します。文が長くなると、前のほうの話は後ろへ行くほどぼやけ、二十回も手を経れば最初の言葉はほとんど残りません。前の番が終わらないと次の番が始まらないので、速度も出ませんでした。
円卓は、この二つを一度に解きます。いちばん後ろの単語もいちばん前の単語を直接見るので、距離が離れてもぼやけません。「昨日買った傘を、今日電車に置き忘れた」では、「置き忘れた」が遠くの「傘」をまっすぐつかまえます。全単語が同時に点数を付けるので、計算を分けて何千枚ものグラフィックカードに配れます。膨大な量の文章で学習させられるようになったのは、この席の並べ方のおかげです。
質問と名札を照らし合わせます
円卓に着いた単語は、三つのものを持っています。手に持った質問の紙、胸に付けた名札、目の前に置かれた書類ばさみです。質問の紙には「自分は何を探しているのか」、名札には「自分は何を持っている側なのか」、書類ばさみには「実際に渡す中身」が入っています。
二つ目の「はしを」の質問の紙には、「自分を説明してくれる述語」と書かれています。この紙を持ってテーブルを一周し、すべての名札と照らし合わせます。「わたる」の名札とはよく合って点数が高く、「もって」の名札とは合いが弱くて点数が低くなります。点数は一人だけを選ぶ投票ではなく、「わたる」に七十、「もって」に二十、というように分け合う割合です。
割合が決まったら、そのとおりに書類を集めてきます。点数の高い側の書類はたっぷり、低い側の書類は少しだけ混ぜて、自分の意味を書き直します。会議を終えた「はしを」は、文脈がしみ込んで、入ってきたときとは別の単語になっています。質問がクエリ、名札がキー、書類がバリューです。
この作業をするのは二つ目の「はしを」だけではありません。四つの単語が同時に質問の紙を回すので、四回分の計算が一度に終わります。
会議は一面ではありません
同じ席に着いたまま、会議が何面も同時に開かれます。面ごとに関心事が違います。ある面は「誰と誰が対応するのか」を、ある面は「どの言葉がどの言葉を修飾するのか」だけを見ます。
一面だけだと視野がせまく、文法を見ていて意味を落とすようなことが起きます。八面、十二面が別の場所を見て結果を集めれば、一つの単語がいくつもの関係をまとめて拾えます。こうして分かれた会議の一つ一つをヘッドと呼びます。
席の番号がないとごちゃまぜ
同時に向かい合うということは、順番がわからないということでもあります。円卓に上座も下座もないからです。「犬が人をかんだ」と「人が犬をかんだ」は同じ単語の集まりですが、意味は正反対です。順番がわからなければ、同じに見えてしまいます。
そこで、単語を席に着かせる前に席の番号を一緒に付けておきます。番号は名札のように外側に付くのではなく、単語の意味に少しだけ混ぜ込まれます。この番号付けを位置エンコーディングといいます。
層を積んで、最後に一単語
一回の会議ではとても足りません。会議を終えた単語は、書き直した意味を持って上の階へ上がり、同じ会議をもう一度開きます。これを何十層もくり返します。下の層ではとなりの単語との関係のような近いものを、上へ行くほど段落全体の意味や語り口のような広いものをつかみます。層ごとに何を見るかは人が決めたのではなく、学習を経て自然にそう分かれます。
最上階から出てくる結論は単純です。次に来る単語の候補をずらりと並べ、それぞれに可能性の点数を付ける作業です。「はしをもって、はしを」の次には「わたる」が高い点数を、「たべる」が低い点数を受け取ります。その中から一つを選んで文の末尾に付け、長くなった文でまた最初から会議を開きます。このくり返しが何百回も続いて、長い答えが一つできあがります。
3もう少し正確に
円卓も書類ばさみも、実際にはありません。単語はまず埋め込みという数字の並びに変えられ、アテンションはその数字どうしの掛け算と足し算で計算されます。質問と名札と書類は、それぞれクエリ、キー、バリューという名前の数字のまとまりです。他人の文ではなく自分の文の中で互いを参照するので、セルフアテンションと呼ばれます。
以前の構造であるRNN(Recurrent Neural Network、再帰型ニューラルネットワーク)は、トークンを順番に処理するため計算を分担させにくく、遠い距離の関係も弱いものでした。トランスフォーマーはこれを解きましたが、すべての単語の組の点数を計算するので、文が2倍長くなると計算量は4倍になり、一度に扱える長さに限界が出ます。
もともとこの構造は、翻訳のためにエンコーダーとデコーダーが対になった形でした。入力を読む側がエンコーダー、答えを書き進める側がデコーダーで、デコーダーはまだ書いていない後ろを先に見られません。今の対話型モデルの多くはデコーダーだけを積み、前の単語だけを見て次のトークンを予測します。
4やってみる
5よくある誤解
文章を前から一単語ずつ読んでいると思われがちですが、実際は入ってきた文章全体を一度に広げて関係を計算しています。一単語ずつ出てくるのは答えを書くときで、読むときではありません。
トランスフォーマーはどこかの会社のチャットボットの名前だと思われがちですが、実際はさまざまな人工知能が共有する設計図です。翻訳ツールと対話サービスも、同じ設計図の上に立っています。
言葉にしか使えない構造だと思われがちですが、実際は画像の切れ端や音の切れ端もトークンに変えて同じように処理します。絵や声を扱うツールにも、同じ円卓が入っています。
7ひとこと要約
つまりトランスフォーマーは、単語を円卓に着かせて互いをどれだけ見るか点数を付けさせ、その会議を何十層もくり返して次の一単語を選ぶ構造です。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02