P73
2016年にOpenAIに入所したラドフォードが言語モデルの研究開発を始めた時も、その状況は2012年頃にヒントン・チームがそれをやっていた頃と大差無かった。大量の文書を機械学習して、そこから導き出される統計的なパターンに従って、ある単語の後に続く単語を確率的に予測・出力する――そうした言語モデルの理屈は分からなくもないが、一体そんなやり方で意味のある文章を本当に作り出せるのかについては当時、誰もが眉唾で見ていた。
実際、この種の言語モデルはナンセンスな文章を出力することが大半で、まれに多少の意味をなす文が含まれていたとしても、それは拙く短い文章であると同時に奇妙な癖があった。たとえば同じ語句を何度も繰り返したり、毎回同じ結論になってしまったりする。
具体例を挙げれば次のような出カテキストだ。
「大学を卒業したジョンは就職した会社で仕事に悩んでいた。ジョンは仕事に悩んでいた。彼は仕事に悩んでいた。そこで彼は自動車を買った」
「フランクと結婚したアリスはとても驚いた。彼女はとても驚いた。彼女はとても驚いた。そこで彼女は自動車を買った」
P77
この壁を突破したのが、トランスフォーマーの「Self-Attention Mechanism(自己注意機構)」と呼ばれる仕組みである。これは文字通り、言語モデルが文脈を理解するための鍵となる単語に対して自動的に「注意(Attention)」を向けることを可能にする技術だ。
たとえば前述の「オレンジとアップルを買ってください」という文章では、「オレンジ」という単語に注目することによって「アップル」が果物の林檎を意味していることが分かる。
一方、「アップルは新しいアイフォーンを発表した」という文章では「アイフォーン」という単語に注意を向けることによって、ここでの「アップル」が巨大IT企業のことであると理解できる。
このようにトランスフォーマーでは、紛らわしい単語の意味を判定する際に、それとは別のどの単語に注意(アテンション)を払うべきかを自動的に感知することができる。
この仕組みを例によって座標空間を使って説明すると、「アップル」のように意味が紛らわしい単語を「オレンジ」や「アイフォーン」など注意を向けた単語の方向に向かってずらしていくことによって、本来あるべき場所(座標値、つまり「言葉の意味を表す数値」)へと修正することができるのだ(図8)。
そこにはベクトルの内積や行列の掛け算など、いわゆる「線形代数」と呼ばれる数学領域の高度なテクニックが使われている。