なぜ、大規模言語モデルは、数学が苦手なのか?
【 なぜ、大規模言語モデルは、数学が苦手なのか? 】
なぜ、大規模言語モデルは、数学ができないのか? それには理由があると思います。
大規模言語モデルは、機械翻訳モデルから派生したものです。それはある言語の文法的に正しい文を受理し、他の言語の文法的に正しい文に変換・生成する能力を持ちます。それはそれで素晴らしいものです。
そこでの意味理解は、基本的には、翻訳的意味理解ともいうべきものです。それは、
「 "I love you" の意味は、"私はあなたを愛している" ということである。」
と考えることです。
あるいは、同じことだと思いますが
「システムTが、 "I love you" を"私はあなたを愛している" に変換できるなら、システムTは、"I love you" の意味を理解している」
と考えることです。
システムTは、入力に与えられた語の並びS1を、別の語の並びS2に変換するシステムと考えることができます。ただ、こうした変換が可能であるためには、システムTに課せられる最低限の条件があります。それは、S1もS2も「文法的」に正しい語の並びでなければならないということです。
" I you love"は英語の文法にあっていませんのでシステムTは、それを入力として受け付けることはできません。また "私愛するあなた”は、日本語の文法にあっていませんので、システムTは、そうした出力をすることはできません。
システムTが、こうした入力と出力の文法性・構成性の要件を満たしているとして、次のように考えることができるでしょうか?
「システムTが、文法的に正しいシーケンスS1を文法的に正しいシーケンスS2に変換できる時、システムTはS1の意味を理解していると考えることができる。」
これは少しおかしいですね。こう言えるのは、出力S2の意味を我々が理解できる場合だけですね。少し変更しましょう。
「システムTが、文法的に正しいシーケンスS1を文法的に正しいシーケンスS2に変換でき、S2の意味を我々が理解できる時、システムTはS1の意味を理解していると考えることができる。」
これは、機械の意味理解についてのいい解釈かもしれません。大方の場合はそれでうまくいきそうです。機械の意味理解を、人間がその意味を理解できることに還元しているのが気になりますが、そこは当面は目をつぶることにしましょう。
ただ、こうした意味の理解だと、数学の問題の意味を考えると、そうそうに少し困ったことが起きます。多分、それは人間の意味理解の能力が、非常に広いからだと思います。一つの逃げ道は、数学のことなど考えないことなのですが。
「 1 + 1 = 2 」という文を考えましょう。この構文的に正しい式をシステムTは、「1たす1は2である」と正しい日本語に変換できるでしょう。我々はこの日本語の意味を理解できますので、Tは「 1 + 1 = 2 」の意味を理解していると考えることができます。
今度は、「 1 + 1 = 3 」という文を考えましょう。この構文的に正しい式をシステムTは、「1たす1は3である」と正しい日本語に変換できるでしょう。
ただ困ったことに、我々はこの日本語の意味を、そのまま理解できるのです。ですから、先の解釈に従えば、Tは「 1 + 1 = 3 」の意味を理解していると考えるしかないのです。たとえ、我々は、「それは、数学的には間違っている」とわかっていたとしても。
別の言い方をすれば、変換システムT自体には、数学的には真である「 1 + 1 = 2 」と数学的には偽である「 1 + 1 = 3 」を区別する能力はないのです。「 1 = 1 」と「 1 = 0 」の区別のできないシステムに、数学的能力を期待することはできません。
もっと一般的に言えば、ある命題が現実の世界で真であるとか、物理的実在の世界で真であるとかの判断を機械に期待することはできません。ただ、そのことで機械の無能力さをあげつらうのは、僕の本意ではありません。それは、まず、なによりも、現実の中で生き、物理的実在に取り囲まれている人間に求められている仕事なのですから。
それでは、機械に数学的能力を期待するのは、難しいのでしょうか? 大規模言語モデルの上に数学的能力を構築するのが難しいからといって、まったくそうではないのです。
機械には、そうした回り道をせずとも、直接に、自分の力だけで、論理的・数学的に正しい推論を行う能力を持っているのです。
現在の「人工知能」ブームの中で、多くの人はそのことを見落としています。
それについては、別稿で。
https://www.marulabo.net/docs/AI+Math/
コメント
コメントを投稿