【個人解釈】なぜChatGPTは嘘をつくのか
本記事の目次
はじめに
みなさんはChatGPTを利用したことがありますか?
近年話題のAIですが、実はChatGPTは結構嘘をつきます。
それも数学の問題とかではかなりついているんです。
ではなぜ嘘をつくのか?を仕組みから解説していこうという試みです。
ではいきましょう。
ChatGPTの大まかな仕組み
ChatGPTは言語モデルです。
と言ってもわからないので簡単にいうと、
文章をいい感じに区切って分類して、それらをいい感じにまたつなぎ合わせて文を生成する感じのAIです。
例えば、「うんこはおいしい」と入力すると「うんこ・は・おいしい」みたいに分割されて「おいしいはうんこ」みたいに文章が出来上がるわけです。
では、まずはいい感じに区切って分類するやつの解説をします。
いい感じに区切って分類するには、ある程度その言語に対して知識が必要です。
我々は日本人なので「うんこ」やら「薔薇」などを一つの単語として認識し分類可能ですが、AIにそんなことはできません。
そこでどうするかというと、バカ長い文章をたくさん学習させるんです。
もちろん比較的短めの文章とかをあらかじめ人間が分類しておいて、これはこうだよと教える学習方法(教師あり学習)もあるんですが、そんなことに手間をとっていたらChatGPTのような大規模AIは実現不可能です。
とりあえずめちゃくちゃいろんな文章をブチ込むことで、数の暴力でコンピュータに文章の類似性から切れ目を探してもらうんです。
これをいわゆる教師なし学習と言います。
では、これでいい感じに区切って分類するやつの解説は終わったので、次にいい感じに繋ぎ合わせて文章生成するやつの解説をします。
いい感じに繋ぎ合わせて文章生成するやつは、いわゆるマルコフ連鎖というやつです。
さっきいい感じに分類した単語の中から、文中で連鎖した単語を探して繋ぎ合わせるという操作をするんです。
例えば
「うんこはとてもカレーに似ているが、臭い。」
という文章があったとします。
この場合例えば「うんこ」の後に連鎖している単語は「は」、その後に連鎖している単語は「とても」というふうに連鎖ができるわけです。これをマルコフチェーンと言ったりします。
ですが、数の暴力で大量の文章を学習させているので、うんこの後にくる単語はたくさんあります。
その中からどう選ぶのでしょうか?そう、それは頻出から選ぶんです。
例えば、「うんこ」の後にくる単語が「は」か「は」か「は」か「が」か「の」であれば、うんこの後が「は」になる確率は1/3になり、「が」か「の」になる確率は1/5になります。
このように、より頻出の単語につなぎ合わせるのです。
ここでは単語の名前のみで判断を行っていますが、実際はもっとパラメータ(使う要素)を多くしています。
こうすることで、例えば「がキャベツうんこペペロンチーノで丸。」みたいな怪文書は生まれなくなるわけですね。
ここまで言うと大体わかっていただけたかと思いますが、ChatGPTも深層学習やら何やら使っていますが、結局は確率、マルコフ連鎖に収束するわけです。
ただ、確率の話は文章生成AIだけにとどまらないため知っておいて損はないでしょう。
ではその上でなぜ嘘をつくのか
ここまでの話ではChatGPTは確率で文章を予測しながら書いていると言いましたね。
これは裏を掻けば類似データが少ない時はあまり頻出でない単語に連鎖してしまうということなんです。
なので、数学など類似度の判定が難しいものは変な解答が返って来たりするんですね。
まあ細かいことはわかりませんが。
まとめ
今回はとても噛み砕いてChatGPT、およびマルコフ連鎖の解説をしました。
実際マルコフ連鎖を実装すると簡単にAIもどきが作れるのでおすすめです。
目指せChatGPT!!¥
スポンサーリンク
