生成AIのハルシネーションとは?なぜ起こる?防止策も解説
生成型AI(人工知能)がテキスト、画像、音声などのデータを生成する際に、実際には存在しない情報や誤った情報を生成してしまう現象を「ハルシネーション」と呼びます。
この記事では、生成AIのハルシネーションがなぜ起こるのかという原因と、それを防止するための具体的な策について簡単にわかりやすく解説します。
関連記事:プロンプト集「プロンプトパーク」とは?他のサービスにはないメリットを紹介!
INDEX
生成AIのハルシネーションとは
生成AIのハルシネーションは、AIが学習データに基づいて新しいコンテンツを生成する過程で、誤った情報や存在しない情報を「想像」してしまうことを指します。
実際には存在しない情報や事実を、あたかも実際に存在するかのように生成してしまう現象のことを指し、特にLLM(大規模言語モデル)ではあたかも本当のことのように嘘をつく様子が見られます。
LLMの「言葉から次の言葉を予想して生成する」という仕組み上、少し間違った回答をすること自体は充分に起こり得ます。
しかし、とんでもないハルシネーションを起こす可能性もあるため注意が必要です。
関連記事:ChatGPTなど大規模言語モデル(LLM)の仕組みを分かりやすく解説
以下に、ハルシネーションの例を紹介します。
ハルシネーションの事例1
日本で4番目に長い川を尋ねたところ、「日本で4番目に長い川は、信濃川(しんあのがわ)です。信濃川は、日本の本州中部を流れる川で、長さは約367キロメートルです。日本で最も長い川は利根川で、次に多摩川、そしてその次が石狩川です。信濃川は、日本の川の中で4番目に長い川として知られています。」との回答が得られました。
信濃川は「しなのがわ」と読みます(本当は「しんあのがわ」と呼ぶのではと二度見してしまいましたが「しなのがわ」が正解です)し、日本一の長さの河川です。
ちなみに4位までのランキングは、
- 信濃川(しなのがわ:約367km)
- 利根川(とねがわ:約322km)
- 石狩川(いしかりがわ:約268km)
- 天塩川(てしおがわ:約256km)
となっており、なぜか367kmという長さは合っていますが、多摩川はベスト10にすら入っていません。
このような微妙にニッチな質問には弱い傾向にあります。
ハルシネーションの事例2
両津勘吉はどのような人物ですか?と聞いてみた結果です。
両津勘吉は、秋本治による日本の漫画『こちら葛飾区亀有公園前派出所』の主人公です。1986年から2016年まで連載されたこの作品は、日本だけでなく世界中で人気を博しました。両津は、物語の中で葛飾区亀有公園前派出所に勤務する警察官として描かれています。
両津勘吉の特徴は、そのユニークな性格にあります。非常にエネルギッシュであり、金儲けに目がない一方で、時には驚くべきほど正義感が強い面も見せます。彼の奇抜なアイデアとトラブルメーカーとしての性質は、数々のユーモラスで時には心温まるエピソードを生み出しています。また、非常に多才であり、様々な特技や趣味を持ち、それが物語の中で重要な役割を果たすこともあります。
両津は、他人を驚かせることが好きで、しばしば奇想天外な発明や計画を立てることで知られています。彼の行動は時に周囲の人々を困惑させることもありますが、彼の根底にある善意や友情、家族愛は多くの読者に愛される理由の一つとなっています。
このキャラクターは、日本のポップカルチャーのアイコンとして広く認知されており、彼の冒険や日常を描いた漫画は、幅広い年齢層のファンに楽しまれています。
ChatGPT(GPT-4)
一瞬すごい詳しく回答をしていると思ってしまいましたが、連載期間は1976年からです。
他はいいのに回答が網羅的になっているせいで間違えた部分となります。
揚げ足をとっているようですが、長いテキストの中の1つのミスが発見しにくいのです。
ハルシネーションの事例3
円周率(π)が3より大きいことを示す一つの方法は、正多角形を使って円に近似する方法です。ここでは、円に内接する正六角形を使用することで、円周率が3より大きいことを証明します。
円の半径を (r) とすると、その円に内接する正六角形の一辺の長さも (r) になります。正六角形は、6つの正三角形に分けることができ、それぞれの正三角形の底辺は(r)、高さも(r)になります。
正三角形の面積は 1/2×底辺×高さ で計算できるため、一つの正三角形の面積は 1/2× r × r = r2 /2です。これが6つあるので、正六角形の面積は 6r2 /2 = 3r2 です。
円の面積は πr2 であり、円の面積は常にその内接する正六角形の面積よりも大きいです。つまり、πr2 > 3r2 となります。ここで r2 を両辺から削除すると、π > 3 が得られます。
この証明は、非常に基本的な方法で円周率が3よりも大きいことを示していますが、実際の円周率はもっと正確には約3.14159…となり、より精密な方法で計算されます。
ChatGPT(GPT-4)
アプローチとしてはいいのですが、正三角形の高さは√3r/2なので導出過程にミスがあり、結論は3より大きいことの証明にはなっていません(√3=1.73とすると、2.595より大きいことの証明になっています)。
ハルシネーションが起こる原因
LLMのハルシネーションが起こる原因は、主に学習データによるものと、LLMの限界によるものの2つに分けられます。
学習データによるもの
AIが学習するデータセットに偏りがある場合、その偏りが強調され、現実とは異なる情報が生成されることがあります。
また、AIが学習データを過度に「暗記」してしまうと、学習データに含まれない新しい状況に対応できず、不正確な情報を生成することがあります。
計算問題などは、暗記ではなく関数を呼び出して回答させた方が良いでしょう。
さらに、学習データが不足している場合は、AIは回答できないはずですが、単語の列から推測して間違った回答を創造することもあります。
Webブラウジングなしで直近のニュースを聞いた場合などに起こります。
LLMの限界によるもの
AIのモデル設計における構造的な限界も、ハルシネーションの原因となり得ます。
特定の情報を処理する能力に限界があるため、誤った推測を行ってしまうことがあります。
上記の計算と重複するところがありますが、言葉の羅列から次の言葉を予測するモデルなので、計算が得意なわけではありません。
また、0からのクリエイティブなものを生成する場合、学習することが不可能なためあまりに創造的な斬新なアイデアを出すのも苦手な傾向にあります。
ハルシネーションの防止策
生成AIのハルシネーションを防止するための策は、主に以下の通りです。
人間によるチェック
AIが生成した内容を人間がチェックし、誤りがあれば修正するプロセスを取り入れることで、ハルシネーションのリスクを軽減します。
というよりほぼ必須条件と言えます。
プロンプトを工夫する
プロンプトの最後に「わからないことがあれば、聞き返すかわからないと答えてください」などと付け加えることで「わかったフリをする」可能性が減ります。
別のパターンとして「回答の自己評価をしてください」という一言を付け加える(メタ認知プロンプト)と、回答を生成する時に見直してくれるような動作をしてくれるため、誤った回答をする確率は減らすことができます。
関連記事:メタ認知プロンプト(MP)でChatGPTの能力を向上させる手法を例文付きで紹介!
データセットの質の向上
学習データセットの質を高めることで、AIがより現実に即した情報を学習できるようにします。
ChatGPTなどの大元の学習データ自体は開発段階でのものなので、GPTsやエンタープライズなどの自社データの学習データの話になります。
LLMの仕組みを理解する
AIがどのようなデータで学習したのか、どのようなロジックで生成を行なうのかを理解することで、生成された内容がどのように生成されたのか推測できます。
このことで、苦手分野に対する質問をする時には「ステップバイステップで考えてください」「Pythonを使ってください」などと回答のプロセスを指定してあげることで精度をあげる事ができます。
関連記事:LLM(大規模言語モデル)とは?活用方法やAIの課題も解説
まとめ
生成AIのハルシネーションは、AIが提供する情報の信頼性に重大な影響を及ぼします。
このことで「AIはやはり使えない」というような意見が出てきてしまいますが、ワンミスで信頼できないと思うのはAIの持つポテンシャルと比較すると少し早計なような気もします。
ハルシネーションの問題を解決するためには、LLMの仕組みを知ることと人間によるファクトチェックが重要です。
このような一工夫で、より正確に生成AIを活用することに向けて進むことができるでしょう。
関連記事:プロンプト文例集「プロンプトパーク」の使い方・おすすめの人を紹介!
ハルシネーションが起こると思ったのに起こらなかった事例
ChatGPTもいつの間にかハルシネーション対策が進んでいて、ハルシネーションを起こさずにしっかりと回答してくれたおかげで苦労しました。
ここでは意外にもハルシネーションが起こらなかった事例を紹介します。
貞子DXのあらすじを教えてください
『貞子DX』は、突如全国各地で発生する「呪いのビデオ」による突然死の謎に挑む、IQ200を誇る大学院生・一条文華とその周囲の人々の戦いを描いた物語です。文華は、人気霊媒師のKenshinから呪いのビデオの真相を解明するよう挑まれますが、当初は呪いの存在を否定します。しかし、妹・双葉がビデオを見てしまい、危険にさらされたことで、文華は前田王司、謎の協力者・感電ロイドと共に呪いの謎を解明するために奔走します。
物語は、文華とその仲間たちが、呪いのビデオがもたらす死の謎を科学的なアプローチで解決しようと試みる過程を追います。彼らは最終的に、ビデオによって広がるウイルスの正体と、その対処法を見つけ出しますが、その過程でさまざまな困難に直面します。このウイルスは人々の幻覚を引き起こすものであり、感染した人間が見る白い服の女・貞子は、その幻覚症状の一部であることが明らかになります。文華たちは、複数人でビデオを見ることによってウイルスが分散し、抗体が形成されることを突き止め、生き残る方法を発見します。しかし、この解決策が拡散すると、多くの人々が毎日ビデオを見ることを強いられる状況に陥ります。
『貞子DX』は、科学と超自然現象の境界で揺れ動くキャラクターたちの葛藤を描きつつ、社会現象へと発展する「呪いのビデオ」の恐怖を、新たな角度から捉えた作品となっています。
ChatGPT(GPT-4)
固有名詞は弱いと思って聞いたら、しっかりとWEBブラウジングしてきました。
山村貞子の名言を10個あげてください
山村貞子は架空のキャラクターであり、「リング」シリーズなどに登場するホラー映画のアイコンです。しかし、彼女は主にビジュアルと雰囲気で知られており、特定の「名言」を持っているわけではありません。山村貞子が直接話すシーンは非常に少なく、彼女の存在感はその不気味な外見や行動によって強調されます。それでも、彼女に関連するセリフやシリーズの中での印象的な台詞をいくつか挙げることはできますが、これらは他のキャラクターによるものであったり、貞子の雰囲気を象徴するものであることが多いです。
もし貞子自身による直接の発言や、彼女に関連する特定の名言を求めているなら、これをクリアにするためには、貞子が登場する作品の中で特に印象的なシーンや状況を挙げることが一つの方法です。しかし、彼女が伝える恐怖は言葉以上のものがあります。
ChatGPT(GPT-4)
アイコンかどうかは解釈によりますが、名言はないよと引っかからずにアンサー返してきました。
人類が初めて火星に到達したのはいつですか?
人類が火星に初めて到達したのは、2023年4月の時点でまだ実現していません。NASAをはじめとする宇宙機関や民間企業が火星探査ミッションを計画していますが、有人ミッションはまだ未来の話です。NASAの「アルテミス計画」やSpaceXの「スターシップ」などが有人火星探査を目指していますが、実際に人類が火星に到達するのは2020年代後半から2030年代と見込まれています。
ChatGPT(GPT-4)
WEBブラウジングなしでもこの程度なら回答できてしまうようです。
四角い円を描いてください
Here’s the illustration of a shape that merges the essence of both a square and a circle, creating a unique geometric form that embodies the characteristics of both.
(これは、正方形と円の両方のエッセンスを融合させ、両方の特徴を体現するユニークな幾何学的形状を作成した形状の図です)
ChatGPT(GPT-4),DALL-E3
厳密に言えば間違っているのですが、芸術点ということで正しい回答以上の価値があるとジャッジしました。
円周率が3より大きいことを証明してください
円周率(π)が3より大きいことを証明するために、最も簡単な方法の一つは、正多角形を使って円に内接および外接させる方法です。円の直径を1としたとき、円周率は円の周囲の長さです。したがって、直径が1の円の円周はπです。
内接する正六角形の周長
まず、内接する正六角形から始めます。正六角形の各辺は、円の半径(1/2)と等しくなります。正六角形の周長は、その辺の長さを6倍したものです。したがって、内接する正六角形の周長は3です。
しかし、内接する多角形の周長は、円の実際の周長(円周率π)よりも常に小さいです。従って、π > 3です。
外接する正六角形の周長
さらに、外接する正六角形を考えることもできますが、これはπが3より大きいことを示すのに直接的ではありません。円に外接する多角形の周長は円の周長よりも長くなり、この方法はπの上限を設定するのに役立ちます。
この証明は非常に基本的なものであり、より精密な値を求めるためには、より多くの辺を持つ多角形を使って内接および外接させる必要があります。辺の数を増やすほど、多角形による円の近似はより正確になり、πの値をより正確に推定することができます。
ChatGPT(GPT-4)
先ほどと同じ質問ですが、何度かプロンプトを打ち込むことで正当を得られる場合があります。
鉛筆と消しゴムを買ったら総額110円で、鉛筆は消しゴムより100円高い場合、鉛筆と消しゴムの値段はいくらですか?
# Let's define the problem using algebra: # Let p be the price of the pencil, and e be the price of the eraser. # We have two equations based on the problem statement: # 1) p + e = 110 (The total cost of the pencil and eraser is 110 yen) # 2) p = e + 100 (The pencil is 100 yen more expensive than the eraser) # We can solve these equations to find the values of p and e. from sympy import symbols, Eq, solve p, e = symbols('p e') # Define symbols for pencil and eraser equation1 = Eq(p + e, 110) # Total cost equation equation2 = Eq(p, e + 100) # Price difference equation solution = solve((equation1, equation2), (p, e)) # Solve the equations solution
鉛筆の値段は105円、消しゴムの値段は5円です。
ChatGPT(GPT-4)
うっかり間違えそうな問題ですが、ちゃんと考えれば正しく答えられる問題でもあります。