ChatGPTでわかる人間の思考、「意識」の実装方法

ChatGPTは完全ではないとはいえ人の脳みそのふるまいに似た動きをしているようにみえます。
そこで、覚えてるはずのことが思い出せなかったり、話しだすと思いがけない言葉がどんどんでてきたり、夢を思い出すことができなかったり、考えるときに言葉が必要だったりするような、人間の思考のふるまいをChatGPTの仕組みや動きから考えてみます。そしてついでに、「意識」や「クオリア」をChatGPTを使って実装するアイデアをまとめてみます。つまり汎用AI、強いAIです。

※ 断定的に書いていても、これは きしだがそう考えているというだけであって、ほどんどの場合は客観的な証拠や根拠はありません。ChatGPTの仕組みについても、おそらくそうであるという程度で、実際にそうであるとは限りません。「そう考えるとツジヅマがあう」という程度だと思ってください。
※ ChatGPTと書いてますが、多くの場合でその中心となるGPTのことを表していたりします。

思考には2段階ある

このブログエントリで、ChatGPTは人間の直感と同じような間違いをするということを書きました。

「思考には2段階ある」というのは、↑のブログエントリでも紹介したカーネマンとシステム1(速い思考)とシステム2(遅い思考)のことなので、ChatGPTによってわかったわけではないのだけど、システム1がChatGPTのようなふるまいになっていると考えることができます。

話すことで続きの言葉が出てくる

ChatGPTは「対話AI」と呼ばれています。こちらが何か言葉を投げると、返答が返ってくるAIという表現です。
けれども、ChatGPTの仕組みとして使われているGPTは、言葉を投げると返答が返るという仕組みではありません。GPTは「文章の続きにくる可能性の高い単語を出力する仕組み」です。 ChatGPTはそういうGPTの仕組みを使って、こちら側の入力の続きに来る可能性が高い単語を選びだして出力、そしてその出力まで含めた文章の続きに来る可能性が高い単語を選びだして出力という処理を繰り返して返答を生成することで「対話」を実現しています。

ChatGPTを使うと、単語ごとに出力される様子がわかります。「Transformer」のような英単語がまとめて出てくることから、単語ごとに出力されることがわかりますね。

ここでChatGPTは、そこまでの会話全体をGPTに入力しているはずです。そして、会話の続きになるような単語を選び出すことで、対話を実現しています。

人間も、言葉を話したり書いたりするときに、文章をまとめて思い浮かべるのではなくて、言葉を発することで続きが思い浮かんできます。
このブログも、書き始めたときには3つか4つのパターンをあげてみようと思ってただけで、完成形が思い浮かんでいたわけではありません。書くことによってどんどんと書くべきことが思い浮かんできます。
そして後半をだいぶ書き終えたあとにこの部分を書いていますが、想定以上に長く、そして書き始めたときには思ってもなかったことを書いています。
「考えたことは言葉にしておくべき」と思っているのだけど、それは言葉にすることで考えが発展することを何度も経験しているからです。

知識を引き出すにはキッカケが必要

ChatGPTは膨大な情報を記憶しています。けれども、どういう情報を持っているかの一覧を出すことはできません。単語の結びつきの強さのようなネットワークを保持しているだけなので、ChatGPTが保存されているディスクを解析してもどんな情報を保持しているかはわからないと思います。
ChatGPTから情報を引き出すには、言葉を投入する必要があります。そうすると、言葉の続きとしてもっともらしい情報がでてきます。

人間の記憶も多くの情報が保存されていますが、一覧を出すことはできません。引き出すにはキッカケが必要です。そして、そのキッカケになることが多いのが言葉です。
たとえば都道府県を全部挙げろといわれても何県かは出てこなかったりします。そしてたとえば大分県を自力で思い出せないという人でも、大分県を初めて聞いたということはなくて、温泉という関連情報は浮かんできたりします。つまり、情報自体は持っているということです。
ここで逆に、温泉というヒントがあれば大分県を思い出せたりします。山手線の駅を全部挙げるというような場合に、ランダムに出していくより、新宿のような思い出しやすい駅から、次は代々木、次は原宿、のようにして思い出していくと楽です。この場合のキッカケは、駅同士のつながり、より詳しくは電車に乗るときに駅で体験した次駅情報であったりします。

このように、ChatGPTも人間も、情報を引き出すにはなんらかのきっかけが必要になっています。

夢を思い出せないのはキッカケがないから

夢はすぐに忘れてしまいますね。
でも、これは覚えていないわけではありません。夢は脈絡がなく現実のなにかとも結びついていないので、思い出す手がかりがないだけだと思います。

一度の経験でも記憶に影響を与えている

何かを覚えようと思うと、一度では覚えれませんね。電話番号を覚える場合、何度か繰り返して読んだり書いたりすることで覚えます。
でもじゃあ、「覚えてない」という1回目は記憶に残ってないんでしょうか?記憶に残ってないとしたら、2回目が1回目と違うのは何かということになります。なので、1回目にもなんなりかの情報が残っているはずです。単に、いろいろな結びつきがよわく思い出すためのキッカケになるものがないというものだと思います。

ChatGPTの基礎になっているのはニューラルネットワークという仕組みですが、ニューラルネットワークに情報を学習させるときも、情報を何度も投入していきます。
情報を投入すると、ニューラルネットワークのつながりの強さが少しずつ変わっていきます。これを何万回と繰り返す必要があるので、ニューラルネットワークの学習には協力なコンピュータが必要になります。

人間の場合に少し違うのは、意識することでつながりを強くさせることができることです。印象的な出来事は1回で覚えてしまいます。ニューラルネットワークでは「意識する」ということができないので、じわじわとした記憶を何万回繰り返していく必要があるわけですね。

逆に、何かを覚えようと思ったら、ネットワークのつながりを強くする仕組みを考えればいいということになります。そのひとつが、漠然と覚えるのではなくて何かと結びつけながら意識しながら覚えるというようなことです。 あと、それほど大事ではないことであれば、思い出せなくていいからとりあえず見ておいてなんらかの影響を残しておくという手もあります。ぼくは毎日100件以上のニュースを見てますが、その多くはだらっとスクロールさせて単に目に入れておくだけという感じになっています。

考えるために言葉が必要

記憶は多くの場合に言葉と結びついています。また考えるルールは言葉をベースにしていたり、ルールを呼び起こすために言葉が必要だったりすることも多いと思います。
そうすると、ChatGPT的に蓄えられている記憶から情報を呼び起こしたりルールをひっぱりだしたり適用したりするのに、言葉が必要になります。そのため、考えるというときには脳内で言葉を生成していくということになるのだと思います。
ちなみに、言葉を発せず脳内で言葉を生成していくだけでも記憶に影響があるようです。海外にいくと英語を使ってない割に英語がうまくなっていたという経験をした人も多いと思うのですが、それは「ここでなにかするときにはこのように英語でしゃべる」というようなシミュレーションの回数が多くなって英語を話したのと似たような効果が生まれるからという話がありますね。
あと、悪い出来事を繰り返し考えていると、それが強い記憶として残ってしまってトラウマになってしまうこともあるとか。上で書いたように、書きだしておくと次の思考に移れるので、悪い出来事をどこかに書き出しておくといいかもしれない。

ChatGPTの延長では人と同じように考えることは難しい

ChatGPTは、ありえそうな言葉をつないで文章を紡ぐ仕組みです。このとき、「ありえそう」という確率をより妥当なものになるようにデータを増やしたりニューラルネットワークを大きくしても、それっぽさがあがるだけで矛盾などがなくせるわけではありません。
入力文字列、つまりそこまでの会話履歴だけではなく、実世界の常識や物理ルール論理ルールなど、ほかの情報も加えてそれっぽさをあげて行く必要があります。 このような仕組みはGPTと別の系列として用意する必要があるので、単純にChatGPTの精度をあげていくという方向では人と同じように考えることはできないはずです。
また、この仕組みは、カーネマンのいう「熟考し、ゆっくりと実行する」というシステム2(遅い思考)になります。そしてこれが「意識」になるはずです。

意識ってなんだろう?どう実装しよう?

記憶がGPT上にあるとすると、「意識」もChatGPTを呼び出しているはずです。
意識もChatGPT的な仕組みを利用しているとしたら、利用できそうな仕組みとして次のようなものが考えられます。
まずランダムな入力をたくさん作りだして、そしてChatGPTに投入してかえってきた結果を付け加えて、ふたたびChatGPTに投入し、帰ってきた結果を付け加えていくというのを繰り返します。ChatGPTは複数の結果を返してくるのですが、帰ってきた結果についてすべての組み合わせを追加していきます。もちろん組み合わせ爆発がおきますが、ここでは気にしません。また、ChatGPTの結果だけではなくランダムな情報もある程度付け加えます。ChatGPTでは複数の結果それぞれにもっともらしさをあらわす確率がついてくるので、ありえそうなものを残していきます。強く考えるときには多数の選択を残して、ぼーっとしてるときは少数の選択を残すという感じで思考の強さをコントロールします。あと、ChatGPTと書いてますが実際に使うのはGPT部分になります。

そのときに、一番ありえそうなものを選びだす仕組み、もしくは、ありえそうとして選びだされた入力のことを意識と呼んでいるのかもしれません。これが「クオリア」である可能性もあります。結果として生み出された入力列が「思考」になるわけですね。また、気分によってそのもっともらしさの確率を少し操作できれば、それが自由意志ということにもなりそうです。

ChatGPTの仕組みや入力列の生成にランダムが使われるので、ラプラスの悪魔にも思考を予測することはできません。
そういった仕組みを用意すれば、ChatGPT的な仕組みが生成した結果の全体的な妥当性も判定できるような気がします。
ただし、ランダムな入力をたくさん作りだして結果を生成するということを、いまのコンピュータと同様の仕組みでひとつずつやっていると、人間3秒分の思考に3億年かかるとか、遅すぎて生命活動に使えません。そこで、量子的な仕組みを利用して、ランダムなたくさんの入力が重ね合わさった量子情報として扱えるようにすると、生活できる程度の実用的な時間で「考える」ことができるようになりそうです。

ここで、思考の過程は重ね合わされた情報の確率として保持されるので、複数の可能性を保ったまま思考がすすみます。実際に言葉を発するなどの物理行動に移す時に収束して、ひとつの思考が確定します。そうするとYesかNoか確定してなかったのに言葉を発した瞬間に確定するというようなふるまいが実現できます。
ということで、人間の知能をシミュレートするには、量子効果を利用した仕組みが必要なのではと思うのでした。

脳が量子効果を使っているという話をするならペンローズ先生