世界中から大きな注目を集めている『ChatGPT』、簡単に文章を生成できるだけでなく、そのクオリティのレベルも申し分ないです。
人間同士の会話のような自然な答えが返ってくるなど、自由度の高い会話ができます。
そんな高精度な対話を可能にしている「技術」について、自分が直接AI開発に携わるわけではありませんが、少しでも知っておくことで『ChatGPT』に限らずAIツールを効率的に使いこなす上で役にたつことでしょう。
自然言語処理
『ChatGPT』は、人間同士が会話しているようなやりとりができます。
しかも、日本語でも英語でもスムーズであることは、かなり高度な技術であるといえます。
では、ChatGPT はどうやって人間の言葉を理解しているのでしょうか?
この疑問には、まず『自然言語処理』について説明します。
「自然言語」とは、人間が会話するときに使う言葉であり、「処理」とは、コンピューターのような機械が認識・分析することです。
これは、ChatGPTだけでなく、スマホで入力するときの予測変換や、Google 翻訳、検索エンジンなどでも使われています。
すなわち、「人間が何を言っているのか?」を機械である端末に正しく理解させるために使われているのが『自然言語処理』なのです。
しかし、機械側が理解しただけでは何も起こらないです。
機械が人間の言葉を理解したら、次のアクションを起こさなければなりません。
ここで出てくるのが『機械学習』です。
そのままの意味で「機械」が「学習」するということです。
では、「機械がどのように学習するのか」についてお話ししていきましょう。
機械学習
子供が学校に行って、漢字や計算を学ぶように、機械も学んでいるのです。
小学生が漢字や計算を学ぶのは、社会生活を送れるようになるといった目的のためだと思います。
人間が機械に何かを学習させるには、必ず「コンピューターにこれを行わせたい」という目的があります。
では、その目的のために、機械はどうやって学習するのでしょうか?
そこで、機械学習の手法を下記にまとめてみました。
機械学習の手法 | 簡単な解説 |
教師あり学習 | 正解不正解というラベルがついたデータを渡す学習方法 |
教師なし学習 | 正解不正解というラベルがない、単なるデータだけを渡す学習方法 |
強化学習 |
ルールを用意してその環境下で試行錯誤を行い、 |
深層学習 | 「ディープラーニング」とも呼ばれ、人間の脳を模した手法 |
ChatGPT は、これらを組み合わせて、精度の高い文章生成をしているのです。
では、これらの学習方法についてお話ししていきます。
教師あり学習
「教師あり学習」は、大量のデータに人間が「答え」のラベルを付けたものをAIに与えて学習する手法です。
つまり、人間にマニュアルを渡して「この通りに動いてね」と指示することです。
教師なし学習
一方「教師なし学習」は、マニュアルを渡さずに学習するということです。
つまり、ラベルの付いたデータを与えずに、コンピューター自身が、与えられたデータを分析して特徴ごとに判別することです。
強化学習
「強化学習」は、コンピューターにあらかじめルールが決まっていることをやらせて、その結果に対して報酬を与えるものです。
これが使われているAIといえば、囲碁や将棋の対局をするのが有名です。
囲碁や将棋の対局であれば、「こうなったら勝ち」「こうなったら負け」というルールが決まっています。
そこで、勝ったらプラスの報酬、負けたらマイナスの報酬をあたえるのです。
ここでの報酬とは、ゲームで言えばスコアみたいなものです。
報酬を与えた上で試行錯誤させることで、より高い報酬を得られる結果が出せるようになっていくのです。
例えば、
生成される回答に対して、「この回答は OK なのでプラスの報酬」「この回答は出してはいけないのでマイナスの報酬」となるようなスコアを与えるのです。
つまり、このスコアは人間が与えるものであって、コンピューターが出した結果に対するフィードバックを行うことで、ChatGPT は高い精度が実現できているのです。
ChatGPT の生成テキストに対する報酬の基準は、提供元である「 OpenAI 」です。
当然ですが、犯罪を助長するような内容や卑猥な内容に対しては NG の基準を設けているはずです。
あとは、ユーザーが利用した際に生成される回答の横に「Good」ボタンと「Bad」ボタンがあり、これがスコアリングに協力しているような形になると思います。
深層学習
これまでお話ししてきた「機械学習」の精度を上げる『深層学習』という手法があります。
前述のラベル付けをするための判断軸のことを専門用語で「特微量」と言われています。
その「特微量」を人間が決めるのではなく、機械自身が特微量を学習する手法なのです。
『深層学習』は、人間の脳を参考にして作られています。
人間の脳には数十兆から数百兆もの細胞があり、その細胞をつなぐ「シナプス」と呼ばれるものが存在します。
その仕組みを模した「ニューラルネットワークモデル」を使っています。
ニューラルネットワークの構造から簡単に説明します。
「入力層」に自然言語を機械が理解できる形にしたものを入れると、「中間層」でそれらを処理し、結果を「出力層」に出してきます。
中間層がたくさん連なっており、いろいろな判断軸をもとにコンピューターが自分で考えて判断を行っています。
この中間層は「隠れ層」とも言われブラックボックス状態になっています。
『 ChatGPT 』の弱点
『ChatGPT』は、ここまで説明してきた通り、大量のデータを強化学習や深層学習などの手法で学習しています。
そのデータ量は、フィルタリング前で45テラバイト、それから適切でない情報を除くフィルタリングを行った570ギガバイトのデータが使用されていると言われています。
「GPT-3.5」は 2022年初頭にトレーニングを終えたモデルです。
なので、直近の情報を反映した回答ができないことが、現時点での『ChatGPT』の弱点なのです。
しかしながら、その弱点を補うために、検索エンジンと組み合わせた仕組みも開発されています。
さいごに
今回は『ChatGPT』の活用するための知識ではなく、内部の仕組みについてお話ししてきました。
今後、有効に活用できるようにするには、『ChatGPT』がどのように学習し、どのくらいの情報量を保持しているかを知っておくことで、出された回答に対して人の手でチェックが必須であることの裏付けになったのではないでしょうか。
『ChatGPT』で生成される文章は、人間の文章のような自然さを感じます。
これは「GPT-3.5」のモデルで『ファインチューニング』が行われているからです。
ファインチューニングとは、fain(細かい)、tuning(調整)の意味であり、ベースとなるモデルを特定の用途のために微調整することです。
『ChatGPT』では、人間が作った「ユーザーとAIの会話形式のデータ」についてのファインチューニングが行われているのです。
しかし『ChatGPT』のような文章生成AIは、人間の思考とは違い言葉の意味を理解しているわけではありません。
なので、大量の学習データを処理して、「それらしい回答」を確率的に出しているだけなのです。
だからこそ、間違った回答を出すケースもあることは頭に入れておいてください。
では、またお会いしましょう!
👆 👆 👆 👆 クリックして応援してもらえたら頑張れます!