最先端技術を直観的に理解する(1) - AI(人工知能、artificial intelligence)とは何か?、chatGPT(Chat Generative Pre-trained Transformer)は何か?

ジョー(下條竜夫) 投稿日:2024/03/05 17:03

AI(人工知能、artificial intelligence)ということばは、ここ数年で本当に身近になった。ちょっとしたソフトやアプリであれば、AIということばが入っている。一日に何度も目にする。AIはあと数十年で、いわゆるシンギュラリティ(技術的特異点)を越え、人間の知能を身につけるともうわさされている。

 

ところが、実はAIとは何のことだか誰もわからない。「ちょっと賢い人間みたいなコンピューター」というのが多くの人の定義だろう。一般向けの解説本で何度か、この定義を目にしたことがある。しかし、これでは具体的な説明になっていない。

 

もちろん専門家ならAIとは何かがわかっている。しかし、ここには大きな問題がある。実は専門家でもAIが何かは、わかりやすく説明できないのである。

 

ちょっと古いが下の記事が昨年話題になった。ディープラーニングというAIの技術についての説明に関する記事である。

 

<引用開始>

「ディープラーニングは、原理的には単純な最小二乗法にすぎない」――2月18日付けで日本経済新聞電子版が公開した記事について、Twitterでは「ディープラーニング=最小二乗法」という解釈は異なるのではという指摘が相次いだ。19日には「ディープラーニング」「最小二乗法」といったワードがTwitterでトレンド入りし、波紋が広がっていた。

 

 日経の記事では、慶應義塾大学経済学部の小林慶一郎教授がAI技術について解説。「近年、驚異的な発展を見せているAIのディープラーニング(深層学習)は、原理的には単純な最小二乗法(誤差を最小にする近似計算の一手法)にすぎない」と言及し、「ディープラーニングは『最小二乗法』」と題する図版が掲載された。

 

 最小二乗法は、測定で得られたデータの組を、1次関数など特定の関数を用いて近似するときに、想定する関数が測定値に対してよい近似となるように、モデル関数の値と測定値の差の2乗和を最小とするような係数を決定する方法。ディープラーニングに詳しい東京大学の松尾豊特任准教授は、2018年8月に登壇したイベントで、「ディープラーニングは最小二乗法のお化けのようなもの」「従来のマシンラーニングは(階層的に)『浅い』関数を使っていたが、ディープラーニングは『深い』関数を使っている」と説明していた。

 

 松尾氏は2月20日、Twitterの公式アカウントで「小林慶一郎先生はよく議論させていただくので、少し責任を感じています」とツイート。ディープラーニングを簡潔に解説するため「深い関数を使った最小二乗法」という言葉を使ってきたが、「深い関数を使った」という説明がいつも抜け落ちてしまうと嘆く。

 

 続けて、「深い関数により表現力が革命的に上がり、アルゴリズム的な挙動も含め表現できるのは驚くべきこと」「『最小二乗法』は、損失関数を最小化することで、モデルのパラメータをデータから推定すること(略)深いことに比べるとそれほど重要ではありません」と投稿。経営者や政治家など、AIに詳しくない非エンジニアに正しく理解してもらうための解説は「大変難しい」と痛感しているようだ。Twitterでも同様に、AI技術について上司や同僚にどう解説すればいいかを嘆くエンジニアの声も見られた。

ITmedia NEWS

「ディープラーニングは最小二乗法」で物議 東大・松尾豊氏「深い関数の方が重要」より引用

<引用終了>

 

ここで、書いておくとこの小林教授の「ディープラーニングは最小二乗法」という発言は正しい。それに対して、松尾豊氏の「深い関数」という発言はよくわからない。

 

理科系の人間はこんな感じだ。「おまえがわからなくても、それはお前がわるいんだから、俺は知らないよ」みたいな感じで突き放して書く。上の記事は典型的なその例のひとつだ。

 

実は松尾豊氏のいう「深い関数」は誤訳である。本当は「×深い関数」ではなくて「〇厚い、多層の関数」というのが正しい。y=f(g(h(x)))みたいな関数だ(これだと3層)。実際、Deep learning ということばがあるが、これを「×深い学習」とはあえて訳さず、「〇深層学習」と訳してある。

 

さて、こんな感じで専門家でもAIが何かは(この場合はディープラーニング)、わかりやすく説明できない。いろいろな本や記事を読んだが、未だにAIとは何かをきちんとわかりやすく説明した文章はない。あるAIの専門家が「AIを学ぼうと思ったら5日かかりますから、きちんと全部勉強してください」みたいな高飛車なことを、大企業のお偉方に述べた記事を見たこともある。

 

そこで、AIとは何かを私が昔に書いた本の記事をもとに詳細にわかりやすく説明する。そして、いまはやりのAIのアプリケーションソフトであるchatGPTを有名なmathematica(マセマティカ)というソフトを開発したスティーブン・ウルフラムの解説文を参考に説明する。

 

しつこいようだが、AIとは何かをだれもわかっていない、専門家は説明できない。だから、もしこれを読んでいる方が、「なるほど、AIとは、こういうものなのか」と理解できれば、それは、その人の人生にとってものすごくためになる。

 

もし理解できれば(文系の人は特に)、今後、AIの話題が出てきたときに、「あーそうか、そうやって、応用することができるんだ」と仕組みまで納得することができます。本当です。

 

 

さて、AIを説明する前にAIを定義しておこう。キチンとことばの定義づけすることで、理解がすすむ。実は、AIとは、

『人間の経験を数値化するための数学的技法』

のことである。

 

数学的技法にいろいろある。高校で習う微分、積分、大学の時に習うベクトル解析もみんな数学的技法のひとつである。AIもそのうちのひとつである。だから賢いコンピューターとかそういうことではない。そして、そのやり方(アルゴリズム)が極めて、「最小二乗法」に似ているということに他ならない。

 

もし、この文章を最後まで読んで、「AIとは、実は、『人間の経験を数値化するための数学的技法』のことである。」ということばを、「あーなるほどなー、確かにそうだ」と素直に納得できたなら、あなたはAIを完璧に理解できたと考えることができます。

 

長くなるので、次回に続きます。

下條竜夫拝