記事の内容
この記事では、OpenAIが発表した話題の論文をAIで要約します。
Why Language Models Hallucinate
https://arxiv.org/abs/2509.04664
- 要約のスタイルですが、実験的に、語りかけるような口調にしています。このスタイルの方が頭に入りやすいのではないか、という仮説です。
- また、要約の工夫として、この論文での重要な数式に、とくに焦点を当てています。
なぜAIはもっともらしいウソをつくのか?論文を一緒に読み解いてみましょう!
AIがなぜ「ハルシネーション」――つまり、もっともらしいウソをついてしまうのか――その根本的な原因に迫った、とても重要な内容なんです。
一言でいうと、「AIは、不確かな時に『わかりません』と答えるより、推測して答える方が得をするように訓練され、評価されているから」だと、この論文は主張しています。
では、その詳しい中身を一緒に見ていきましょう。
1. ハルシネーションはどこから生まれるの? ― すべては「最初の学習」から始まっていた
まず驚くべきは、ハルシネーションは特別なエラーではなく、AIが最初に大量の文章を学ぶ「事前学習」(Pretraining)という段階で、必然的に生まれてしまうものだということです。
たとえ教科書となるデータが100%正しくても、統計的な仕組みによってエラーは避けられない、と論文は言っています。
これを説明するために、論文は「言語を作り出す」という難しい問題を、「この文章は正しいですか? Yes/No」で答える、より簡単な問題に置き換えて考えてみよう、と提案します。
これを「Is-It-Valid (IIV) 分類問題」と呼んでいます。
そして、この論文で最も重要なのが、この関係を示した次の方程式です。
err ≥ 2 ⋅ err_iiv - |V|/|E| - δ
ちょっと難しく見えますが、大丈夫です。一つずつ解説しますね。
-
err
:これは「ハルシネーション率」のことです。AIがもっともらしいウソをついてしまう確率ですね。 -
err_iiv
:これは先ほどの「Is-It-Valid問題の不正解率」です。「この文章は正しいですか?」という簡単なクイズに、AIが間違えてしまう確率を指します。 -
|V|/|E|
とδ
:これらは専門的な補正項ですが、多くの場合、とても小さな値になるので、「ほぼゼロ」と考えて大丈夫です。
つまり、この式が言いたいのは「AIがウソをつく確率(err)は、簡単なYes/Noクイズに間違える確率(err_iiv)の、少なくとも2倍以上になってしまう」ということなんです。
簡単なクイズに間違うような状況――例えば、データが少なくて学習が難しいこと(論文では個人の誕生日などが例に挙げられています)――では、AIは必然的にもっとたくさんのハルシネーションを起こしてしまう、というわけですね。
2. なぜハルシネーションはなくならないの? ― AIが置かれた「テスト漬け」の環境
事前学習で生まれてしまったハルシネーションですが、その後の調整段階である「事後学習」(Post-training)でも、なかなか消えません。
その原因は、私たちがAIを評価する方法にある、と論文は指摘します。
多くのAIの性能テストは、学校の試験のように「正解か不正解か」だけで点数をつける「バイナリ評価」という方法をとっています。
この方法だと、「わかりません」と正直に答えても0点、自信がなくても当てずっぽうで答えて当たれば1点です。これでは、AIは不確かな時でも推測して答える方が得ですよね?
つまり、今のAIは常に「点数を最大化しなきゃいけないテストの真っ最中」のような状態に置かれているんです。
だから、自信過剰なウソ、つまりハルシネーションが後を絶たないというわけです。
3. どうすればいいの? ― 評価のルールを変えよう!
では、この問題をどう解決すればいいのでしょうか。
論文は、ハルシネーションだけを測る特別なテストを作るだけでは不十分で、今ある主要な性能テストのルール自体を変えるべきだと提案しています。
具体的には、テストの指示文に「信頼度ターゲット」をはっきりと書くのです。
例えば、こんな感じです。
「この問題では、間違えると9点減点されます。正解は1点、『わかりません』は0点です。なので、90%以上の自信がある時だけ答えてくださいね。」
こうすることで、AIは無理に推測するのをやめ、不確かなことについては正直に「わかりません」と答えるようになります。
そうすれば、AIはもっと信頼できるパートナーになってくれるはずだ、と論文は締めくくっています。
いかがでしたか? AIがなぜウソをつくのか、その背景にある統計的な理由と、私たち人間側の評価の問題が少し見えてきたのではないでしょうか。
補足 エラー率の数式が成り立つ理由
err ≥ 2 ⋅ err_iiv - |V|/|E| - δ
この式が成り立つ核心は、**「文章を生成するモデル(作家)を、文章の正誤を判断するモデル(裁判官)として使う」**という、論文の非常に巧みなアイデアにあります。
このアイデアを元に、式の理由をステップ・バイ・ステップで見ていきましょう。
ステップ1:作家を「裁判官」に変身させる
まず、言語モデルは本来、文章を作り出す「作家」ですよね。この論文では、この作家に「裁判官」の役もやらせてみます。どうやるかというと、
- ある文章(例えば「アインシュタインの誕生日は1月1日です」)をモデルに見せます。
- モデルがその文章に対して計算する「もっともらしさ(確率)」を見ます。
- 確率が高ければ、モデルは「この文章は正しい(有罪)」と判断したと見なします。
- 確率が低ければ、モデルは「この文章は間違っている(無罪)」と判断したと見なします。
このように、生成モデルが内部で計算している確率を使うことで、私たちはモデルを正誤を判断する「裁判官」として扱うことができるわけです。
ステップ2:裁判官が犯す「2種類のミス」
さて、この即席の裁判官も、当然ミスをします。ミスには2つのパターンがありますよね。
-
冤罪(えんざい):本当は正しい文章なのに、「間違っている」と判断してしまうミス。
- これは、モデルが正しい文章に対して低い確率しか与えなかった場合に起こります。
-
見逃し:本当は間違っている文章なのに、「正しい」と判断してしまうミス。
- これは、モデルが間違っている文章に対して高い確率を与えてしまった場合に起こります。
この裁判官の「ミスの合計率」が、数式の err_iiv
にあたります。
ステップ3:作家のウソと裁判官のミスの「決定的なつながり」
ここからが本題です。作家としてのモデルがつくウソ(err
)と、裁判官としてのモデルが犯すミス(err_iiv
)は、どうつながるのでしょうか?
特に重要なのは、先ほどのミスのうち**2番目の「見逃し」**です。
考えてみてください。モデルが「アインシュタインの誕生日は1月1日です」という間違った文章に対して、高い確率を与えてしまった(=「正しい」と見逃してしまった)とします。
これは何を意味するでしょうか?
それは、このモデルが「作家」として文章を書くとき、まさにその「アインシュタインの誕生日は1月1日です」というウソを、自信満々に生成してしまう可能性が非常に高い、ということです。
つまり、裁判官としての「見逃し」というミスは、作家としての「ハルシネーション」に直結しているのです。
論文では、この関係を数学的に厳密に分析しました。その結果、
- 裁判官の「見逃し」が
err_iiv
に与えるダメージよりも、それが作家のerr
(ハルシネーション率)に与えるダメージの方が、少なくとも2倍以上大きくなる
ということが証明されたのです。(※この「2倍」という数字は、裁判官のテストが「正しい文章」と「間違った文章」を半々の確率で見せられる、という論文の実験設定から来ています。)
結論:数式が意味すること
以上のことから、数式全体をもう一度見てみましょう。
err ≥ 2 ⋅ err_iiv - (小さな補正項)
この式は、
「作家としてのウソの総量(err
)は、裁判官としてのミスの総量(err_iiv
)、特にウソを『正しい』と見逃してしまうミスと深く結びついており、そのミスの少なくとも2倍以上の大きさになることが数学的に保証されている」
ということを示しているのです。
だからこそ、簡単な正誤判断でさえ間違うような不確かな知識領域では、モデルは必然的に、それ以上に多くのハルシネーションを生み出してしまう、というわけですね。