[副島隆彦の学問場道]#3115 最先端技術を直観的に理解する(3) 2024/04/01

0 views
Skip to first unread message

Ken Horiuchi

unread,
Apr 1, 2024, 2:45:19 AMApr 1
to Dentsudai Thai OBs & OGs
生成AI=ChatGPTを将棋のAIから理解する
 前回の将棋ソフトをプロ並みにする「機械学習」という仕組みが理解できれば、AIという技術そのものがわかったことになる。もし忘れていたら、もう一回読んでほしい。つまり、将棋のプログラムの中で使われた「機械学習」による「特徴表現のパラメーター値の決定」がAIの本質である。将棋をやったことがある人ならだれでもAIの仕組みが理解できるだろう。そこが重要だ。もう一度確認しておこう。まず、膨大な数の「特徴表現」を設定する。将棋なら「持ち駒」とか「王と金の位置関係」などが対応する。その特徴表現のパラメーター値を、「教師」(将棋で言えばプロ棋士の対局)を参考として、「機械学習」によって膨大なデータから決定する。その場合、評価関数とそれを合計した誤差関数というものを定め、それが最低になるように少しずつパラメーターの値を動かし最適化する。この数学的技法のことを「AI」を読んでいるわけだ。一回パラメータがすべて決まれば、どんな新しい局面にも対応できる。

 さて、今まで述べてきた将棋では、どの特徴表現(特徴ベクトル)を利用するかは、人間が決めている。しかし、最先端のAIでは、機械自らがこの特徴表現(特徴ベクトル)を探し当て決定していく。そして、それを可能にしたのが、深層学習(ディープラーニング)という方法である。「多段階のニューラルネットワーク」とも呼ばれる。今1,2,・・・・9までの画像上の数字を、どの数字か認識させる場合を例に考えてみよう。例えば、手書きの3という数字を考えてみる。汚い字は、この3が極端に歪んでいる。このままでは機械で認識できない。そこで、画像素子上でその汚い3を読み取った後、素子に重みをかけ、まわりの素子と足しあわせて変形していく。そして、そうした演算を何段階も行い、最後に3と認識する。つまり、タテ32×ヨコ32(合計1024個)の画像素子があるとすれば、これを「入力」、最後1から9までの9個を「出力」として設定する。出力が一番大きな数字をその数字の画像と判断するわけだ。機械学習としては、すでにある100枚とか1000枚の画像をつかう。これがすべて正解になるように上の「重み」と「足し合わせ」をパラメーターの値として変形していく。実際の画像と結果の違いを「誤差関数」として将棋の時と同様に、誤差関数が最小になるようにパラメーターの値を調整すればいい。ただし重要なのは将棋と違い、深層学習(ディープラーニング)では、この特徴量つまりパラメーターが何を意味するかさっぱりわからない点である。つまり、他の人にどのような過程をへて計算しているか、まったく説明できない。だからAIとは何をしているのかが、ほかの人に説明できない。

 さて、生成AIについても簡単に説明しておこう。生成AI(Generative Artificial Intelligence)とは、学習したデータをもとに、文章などの新たなデータを生成する人工知能(AI)である。代表的なのが chatGPTというソフトである。「生成AI=chatGPT」というのはあたかも人間の思考のように新たな文や文章をうみだしているように見える。しかし実際にやっていることは、将棋のAIソフトと同じである。これを大規模にやっているだけにすぎない。将棋のパラメータ数が数千万、chatGPTでは数億から数百億である。以下、スティーヴン・ウルフラムという有名な数学ソフト(Mathematica)の開発者が書いた本『ChatGPTの頭の中』という本から抜き出してその原理を説明してみよう。

<引用開始>
何よりもまず押さえておきたい点がある。ChatGPTは基本的に、そこまで出力された内容の「順当な続き」を出力しようと試みるということだ。「順当」とは「億単位のウエブページなどに書かれている内容を見たうえで人間が書きそうだと予測されるという意味である。<中略>
ChatGPTで驚異的なのは、たとえば小論文を書くときなどでも、基本的には「ここまでの文を受けて、次に続く単語は何か?」という質問を繰り返し、そのたびに1つずつ単語を追加しているにすぎないということだ。
<引用終了>

 つまり、ChatGPTは次々に単語を足していって文章をつくっていることになる。これは、極論すれば、将棋と同じことをしていることを意味する。将棋では場面場面で、何百手あるうちのある一手を選択する。ChatGPTは、数万あるうちからひとつの単語を選んで、単語の列につなげていく。つまり次に続くいちばんふさわしい単語と判断して、それを選択してつなげる。生成AI=chatGPTは文章をつくっているように思えるが、実際は単語をつなげているだけなのである。ただし、将棋との違いは、単語そのものがベクトルと呼ばれる値そのものをもっているところにある。これにより単語の意味がちかいなどの判断ができる。

<引用開始>
極論すれば、単語の特徴を数百から千単位、万単位の数値のリストによって表現している。これを埋め込みベクトルというが、元の形のままではあまり情報として利用できない。しかし、このようなベクトル間の距離を測るなどの処理を経ると単語どうしが「近いかどうか」などを確かめることができる。
<引用終了>

 以上、三回にわたってAIについて説明してきました。皆さんの生活、仕事に役立てていただければ幸いです。 下條竜夫拝
Reply all
Reply to author
Forward
0 new messages