
通産省が1981年に第5世代コンピュータで開催した国際会議には、世界から企業や有名人が招かれたが、電機産業で世界を制覇した日本が人工知能でも覇権を握ると恐れる人が多かった。それが私の提案したNHK特集のオープニングになる予定だった。
翌年できたICOT(新世代コンピュータ技術開発機構)には電機メーカーのエリートが集まり、自然言語処理の研究開発を始めた。その方法論は単純明快だった。外国語教育のように、文法と単語をコンピュータに教えればいいのだ。文法理論はチョムスキーの生成文法で確立していたので、あとは辞書の「知識ベース」をつくればいいはずだった。
ところが何年たっても成果が出ない。そのうち私は大阪に転勤になり、番組プロジェクトは自然消滅してしまった。あれほど大きな期待を背負ったICOTが、10年後には試作機とパズル解きのゲームしか残さないで解散した。
当時その挫折の原因は謎だった。人工知能の指導者だった長尾真氏に「何がわからないんですか?」ときくと「何がわからないのかがわからない」と答えた。その原因は、今となっては明らかだ。彼らの立てた問題が間違っていたのだ。
単語と文脈の「組み合わせの爆発」
古典的人工知能では、人間の知能をコンピュータに移植しようと考えた。それには人間の記憶を丸ごと教える必要がある。自然言語の場合には文法はアルゴリズムで書けるので、辞書を丸ごと入力すればすむように思われたが、問題はそう簡単ではなかった。たとえばメアリーはスーザンの部屋を掃除したので、彼女はそれに感謝した
という文の「彼女」はメアリーかスーザンかという問題に、コンピュータは答えられない。それに答えるには、部屋を掃除するとはどういうことか、感謝は何に対してする行動か…といった文脈(フレーム)を入力しなければならない。
これはフレーム問題と呼ばれる難問だが、コンピュータの計算能力が大きくなれば腕力で解決できる、と多くのエンジニアが考えた。ICOTはそれを論理型言語で解決しようとした。掃除の目的語は部屋なので、感謝するのはその部屋の持ち主だ…といった論理で言葉を整理したのだ。
しかしこの方法は、すぐ行き詰まった。日常語は曖昧なので、単語をどんな文脈で解釈するかという例外処理が膨大になり、組み合わせの爆発が起こってしまうのだ。人間が機械に教える限り、その入力コストが出力を上回ってしまうので、機械が自分で学習しないと実用にならない。
大規模言語モデルという「第3のAI」
論理でフレーム問題を解こうとする限り、失敗は目に見えていた。大事なのはコンピュータにフレームを学習させることだ。このような機械学習の発想は当時もあった。甘利俊一氏は1967年の論文でニューラルネットの原理を数学的に定式化したが、当時それはまったく実用にならなかった。しかし1990年代にインターネットでデータを学習できるようになってニューラルネットが見直され、深層学習が画像処理や音声認識に応用されるようになった。それを自然言語処理に応用したたのが、2017年にグーグルの発表したトランスフォーマーという大規模言語モデル(LLM)だった。
古典的人工知能を第1のAI、ニューラルネットを第2のAIとすると、LLMは第3のAIである。それが画期的だったのは、意味を括弧に入れて記号接地問題(意味の決定)を回避したことだ。LLMでは言葉はすべて文脈で決まるので「部屋」とか「掃除」という言葉の辞書的な定義はどうでもよい。
意味はどういう言葉と一緒に使われるかという共起確率と考え、それを多次元のベクトルで表現する。単語の類似性はベクトルの内積であらわし、それが大きいほどよく似ている単語をあらわす。その集合(コーパス)はベクトルを並べたものだから行列になり、文の生成は行列計算になる。
これは画像処理で画素を複数の色を組み合わせたベクトルと考えるのと同じで、NVIDIAのGPU(画像処理半導体)がLLMに使えるのは、同じ行列計算だからである。ここでもフレーム問題は起こっているが、組み合わせの爆発を共起確率で割り切り、確率最大の言葉を並べる。文法は単なる語順の問題なので、チョムスキーのような統辞論は必要ない。
これをどう考えるかは二つの考え方がある。一つはLLMがやっているのは単なる文書作成であり、本質的な意味は理解していないというものだが、もう一つは言語に「本質」はないという考え方である。これはウィトゲンシュタインの言語ゲームに近い。もちろん今のLLMがやっているのは人間に比べるとはるかに幼稚なゲームだが、それは程度の差にすぎないのかもしれない。