ChatGPTにディープラーニングか聞いてみました。

この記事は約7分で読めます。
広告

ChatGPTは、OpenAIによって訓練された大規模な言語モデルです。このモデルは、自然言語処理タスクに使用され、文章の生成、翻訳、質問応答などを行うことができます。

ChatGPTに聞いてみました。

質問:ChatGPTはディープラーニングですか
ChatGPT:はい、ChatGPTはディープラーニングモデルです。

何でこんなこと聞いてみたかというと、ChatGPTの仕組みがどうなっているのか気になったからです。DeepLeaningを勉強していて、ちょっと気づいたので、素人の私が、にわか知識で推論してみました。

広告

Deep Learningの勉強におすすめYoutube

まずDeepLeaningについて勉強するのにおすすめYoutubeで、この3本で結構、学びがありました。

「何の加工もされていない生の入力データから所望の出力が直接得られるように学習したほうが(end-to-end)で解いたほうが高い性能が期待できるというセオリがあります。これは人間が前処理や後処理を設計するよりも、すべての処理をニューラルネットワークにまかせてデータから学習してしまったほうが前処理に相当する処理もニューラルネットワークはデータから自動的により適したものを獲得していくことができるという理由です。」引用元実践Deep Learning:波形データの入出力

この言葉が私の中でポイントになりました。それで以下のように考察しました。

私の考察

ここからは私の考察で当然間違っているので、あとで「chatgpt ディープラーニング」で検索して専門家の見解で補正してください。

しかし、あえて私が最初に思ったことを残しておきます。初心者目線ゆえ初心者の人の理解の役に立つかなと思いました。

初心者の妄想です。
入力に対する正解(出力)のデータセットがたくさんあれば、あとは力わざ(コンピューターの性能等)で高性能なAIができると思いました。

英語から日本語の翻訳は、そこら中に人間が訳したデータセットがあります。
例)This is a pen.→これはペンです。
これを入力、出力として、途中の過程を人間があれこれ気にせず、ひたすら学習させれば翻訳機ができそうです。

しかしChatGPTは日本語で聞いたら日本語で返答します。同じ言語の場合、質問と回答のセットしか学習に使えるものがないような気がしたので、誘導尋問的にChatGPTに聞きました。

質問:ChatGPTは質問応答のデータセットを使っていますか
ChatGPT:はい、ChatGPTは質問と回答を含む大量のテキストデータをトレーニングデータとして使用しています。これにより、質問応答タスクにおいて適切な回答を生成することができるよう学習されました。

質問:具体的に教えてください
ChatGPT:ChatGPTはOpenAIが開発したAI言語モデルで、テキストの生成にディープラーニングを使用します。トレーニング中に、質問と回答を含む大量のテキストデータに暴露されました。これにより、質問に対する適切な回答を生成することができるよう学習されました。

具体的には教えてくれませんし、これ以上つづけても答えは得られるような気がしません。

日本語の質問と回答のデータセットで思いつくのはこれ。
質問:日本一の山は? 回答:富士山
こんな感じのデータセットを作るのか?クイズとか学校の問題集とかあるけどそれを使うのか?でもそんなんじゃ数少ないし他に日本語の質問と回答のセットがたくさんあるとは思えません。

そこで思ったのが
英語と日本語の翻訳も英語を質問、日本語を回答と考えれば、質問と回答の関係になっています。人間が英語と日本語と分けているけどコンピューターの中では数字なので質問と回答の関係に色はありません。これで学習させておけば日本語で聞いたら日本語で返すかもしれません。ChatGPTに日本語で聞くと、たまに英語になるのも怪しいです。日本語と英語に限ったはなしではなく、いろんな言語で翻訳データはあるので、これを一色単にするといっぱい質問と回答のテストデータができます。普通に考えると、こんなデータで日本語の対話型はできないような感じがしますが。
コンピューターからしてみれば今、翻訳している。今、対話しているなんて切り分けてない。ただ入ってきた数字に対して出力に適した出力を推論しているだけ。
ということでChatGPTは翻訳機みたいなものではないでしょうか。(どや顔で結論書いたけど)

1日後。

あ!チャットのやり取りとか、返信を正解にすれば成り立つか。あとネット上にQ&Aとかいっぱいあるか。yahoo知恵袋とか。ただの文章からだと質問と正解というふうにはわけれないと思うので、その辺を利用しているのか?

あとは余計なことしないで。余計なこととは人間にとって意味のある名詞などの品詞分けや前後の文脈を意識して処理すること。実際どうやっているかは分かりませんが、ここは複雑にならないように説明するためと、ディープラーニングのだいご味でもあるので、あえて以下のようなデータセットで説明します。

質問:日本一の山は?→「日、本、一、の、山、は」と一文字ずつ分解して入力
回答:富士山→「富、士、山」と一文字ずつ分解して出力とする。
ていうデータセットをいっぱい作って、こういう結果になるように学習させる方式だったら理解しやすいんだけど。
さすがに一文字ずつでは意味を持たないので単語単位でやっていると思います。英語なんかは単語単位でスペース開いてるので分けやすい。日本語も形態素解析という名前で、分離する技術は確立されてるし。文章なんて画像のデータ量より圧倒的に少ないんだから、いけそうな気はします。逆にデータセットの量が必要になるのかもしれないけど。

実際の運用は入力された値に対して学習したパラメータを使って、四則演算(違うかも)して出力してるだけ。

複雑なようで結構単純なんだよな~。
入力から出力の間のしくみ、パラメータを決定する方法も、難しい専門用語や数式がでてきます。でもYoutubeでわかりやすく解説していただけるのを聞いてると、そんなに難しくはありません。要するに入力されたデータ(コンピューターの中では数字)を正解の数字になるように変数(パラメター)を決定する。しかも与えられたデータセット全部で正解がでることを目指しています。そうやって作られたパラメータを使って未知の入力に対して計算して出しているだけです。

電卓が登場したときもキラキラしていました。能力だって=ボタンを押したところから人間とスピード勝負するんだったら50年以上前から人間を超えていたと思います。今は100円ショップで売ってます。でもその構造はとても難解です。AI技術も今までの技術の蓄積でできたと思うので特別扱いするのも変な気がします。

電卓は1+1=2など不変のルールで動いているので入力した値に対する答えは正確です。
ディープラーニングはどうかというと多量の質問と答えのデータセットから学習したパラメータを使って入力した値を計算し出力しています。学習するデータセットが1+1=2のほかに答えが3,5,10といった間違ったデータセットをもとに学習したら1+1=2とは答えられなくなります。質問と答えの関係は重要になってきます。なので何をもって正解かわからないデータを多量に学んでも、そのデータをもとにした答えしか返ってきません。

電卓みたいに正解を返してるわけではないことは認識していたほうがいいと思います。

仕組みを知るとChatGPTやAI技術ってコンピューターが自分で勝手に考えてるみたいないイメージは持たず入力値を計算してだしてるだけの機械だなってイメージになると思います。

以上、しろうとの私がディープラーニングには質問と回答のデータセットが重要だというところから推論しました。

あとがき

後日、「chatgpt ディープラーニング」で検索したら前後の記事とのレベル差に驚愕した。ここまで読んでくれてありがとうございます。
今後、私のChatGPTとの関わり方はChatGPTが無料のうちはGoogle検索と併用して使う。ChatGPTの APIに関しては基本、私は課金の可能性があるものは怖くて近寄らないようにしてるので使わない。英語サイトだしプログラムに入れてミスったときのことを想像してしまいます。リミット設定があるとはいえ躊躇してしまいます。ChatGPTやOpenaiなどAIの最新情報を横目で見つつ自分で情報を消化できるようにするためディープラーニングについてPyTorchで勉強していこうと思ってます。

この記事を書いたイチゲを応援する
Vプリカでのお支払いがおすすめです。
MENTAやってます(ichige)

コメント

タイトルとURLをコピーしました