どうも、2日連続でブログを書いてる小野です。
先日あったチーム開発成果発表会で、「Chat-GPTにChat-GPTが出した回答の正しさを検証させる」というタスクを持ったチームがありました。
そこの発表で"それ本当に検証できてるの?あんまり意味なくない?"のようなくそでかマサカリ 質問をぶん投げてしまったので、少しでもその贖罪になればと、なんか似ているような気がするGAN(敵対性生成ネットワーク)の紹介をしていこうと思います。
GANとは
2つのネットワークを用意し、1つで偽データ生成(Generator)、もう1つで真偽識別(Discriminator)を行い、お互いに競い合いながら学習していく手法になります。
より具体的には、Generatorが生成した画像や動画などの偽データをDiscriminatorが判別します。そしてこのときに、GeneratorはよりDiscriminatorを騙せるように、DiscriminatorはよりGeneratorに騙されないように精度を高めていくわけです。
Chat-GPTへの活用
Chat-GPTはうそであることを見抜けないので真偽識別(Discriminator)の役割がこなせません。
なので回答の正しさをGANで上げていくのは難しそうですね。
ただ、プロンプトインジェクションの防止に使えそうな気がします。
片方のChat-GPTで悪意あるプロンプトを生成し、もう片方のChat-GPTに悪意あるプロンプトを解釈させないプロンプトを生成させれば、より確実に、より多くのプロンプトインジェクションを防ぐプロンプトを作ることができそうです。
1つ欠点を挙げるならば、自前で学習を行うには圧倒的にコンピュータリソースが足らず、またこれをできるサービスが自分の知る限り存在しないことですね。
まぁ所詮は机上の空論ということで。
最後に
お互いに検証しあうっていう部分で何となく卒業研究で聞いた覚えのあるGANについて書き始めましたが、ちゃんと調べなおしたらあまり適切な手法ではなさそうでした。やはりChat-GPTに間違いなく正しいことを言わせるのは難しそうですね。一方でもし万が一実現できたのならばちょっと有益そうな使い方も思いついたので個人的には満足です。







![Microsoft Power BI [実践] 入門 ―― BI初心者でもすぐできる! リアルタイム分析・可視化の手引きとリファレンス](/assets/img/banner-power-bi.c9bd875.png)
![Microsoft Power Apps ローコード開発[実践]入門――ノンプログラマーにやさしいアプリ開発の手引きとリファレンス](/assets/img/banner-powerplatform-2.213ebee.png)
![Microsoft PowerPlatformローコード開発[活用]入門 ――現場で使える業務アプリのレシピ集](/assets/img/banner-powerplatform-1.a01c0c2.png)


