前期の授業も、いよいよ最終回になりました。今回は前期の総まとめとして、これまで積み上げてきた「良い証明=良い言語」の条件を物差しにして、いま話題の大規模言語モデル(LLM)の「ハルシネーション(もっともらしい嘘)」を診断してみます。
今回の目次は、次のとおりです。まず前回の宿題の答え合わせから始めて、LLM が文章をどう作るのかを概説します。そのうえで「LLM は意味を分布意味論で近似している」という見方を立て、それが意味の全体論の一種であること、そして本物の意味(分子論)とのズレこそがハルシネーションであることを見ます。最後に、そのズレを前期に完成させた三層ハーモニー(局所・中間・大域)で分類し、対策も同じ枠で読み替えます。
大きな結論を先に言ってしまうと、''「計算している」ことは「証明している」ことを含意しない''、ということです。LLM は確かに計算していますが、論理が要求する三つの条件をどれも保証してくれません。前期にやってきた「走って・止まって・積み上がる」という三つの物差しは、そのまま AI を測る物差しでもあった、というのが最終回のメッセージです。
授業日時
7月21日(火)16:45〜18:15
文学部第4講義室
授業内容
- 前回のおさらい(宿題の答え合わせ:次数・tonk・否定の略記)
- LLM は文章をどう作るのか(一語ずつ・確率・尤度)
- 分布意味論——意味を「使われ方」で近似する
- 分子論は「全体論の決定可能な断片」——カノニカルフォーム
- 近似だから差分が出る=それがハルシネーション
- 三層診断:局所(詰まらなさの偽装)/中間(止まるが証明でない)/大域(積み上がる保証がない)
- 処方を三層で読み替える(RAG・棄権・自己検証)
- オチ:LLM の中に「システム2」を=それが論理
- 演習(身近なハルシネーションを三層で診断せよ)
https://speakerdeck.com/player/PRESENTATION_ID speakerdeck.com
解説
前回の宿題の答え合わせ
最終回は、前回(7/14)の宿題の答え合わせから始めました。
問1は、遠回りを一つ含む証明を描き、β簡約すると次数が下がることを確かめる問題でした。→I(ならばの導入)の直後に →E(ならばの除去)が来ると、そこに「峰」として命題 A→B が立ちます。この遠回りを消す(A の証明を仮定 [A] に代入する)と、峰の A→B が消えて B の直接証明になります。残る遠回りは A や B についてのものだけで、必ず次数が小さくなります。だから証明はいつか正規形にたどり着く(弱正規化)、というのが答えです。
問2は、tonk という結合子を足すと保存拡大が壊れることを示す問題でした。tonk は導入で A ⊢ A tonk B、除去で A tonk B ⊢ B とすると、この二つをつなぐだけで A ⊢ B が任意の B について導けてしまいます。つまり、どんな前提からどんな結論も出る「爆発」が起き、古い語彙のままで新しい定理を無限に増やしてしまいます。これが「保存拡大が壊れる」ということでした。
エクストラ問は、否定を ¬A ≔ A→⊥ という「略記」として足すのは良い定義か、というものでした。答えは「はい、保存拡大です」。¬ はあくまで略記なので、いつでも A→⊥ に展開して消すことができます。だから ¬ を使った証明はすべて ¬ なしに書き直せて、⊥(¬)を含まない古い定理は一つも増えません。tonk が「展開して消せない=密輸をする」のと対照的です。''良い定義とは、略記であり、保存拡大である''。これは第10回でやったことの回収でした。
LLM は文章をどう作るのか
さて本題です。まず、今日の主役である LLM が何をしているのかを、素直に確認しました。
LLM(大規模言語モデル)は、大量のテキストで訓練された巨大なニューラルネットワークです。やっていることは、入力に続く文章を''一語ずつ''作ることです。「ここまで来たら次に何が来そうか」を予測し、一語選んで末尾に足し、それをまた入力に戻して次の語……を、止めどきまで繰り返します(自己回帰)。
次の一語は、確率で選ばれます。モデルは候補の語それぞれに点数をつけ、それを合計1の確率に変換して(softmax)、確率にしたがって一語を選びます。「京都は日本の___」なら、古都・都市・首都……に確率が割り振られます。ここで大事なのは、''必ずどれかの語に正の確率が付く''ということです。つまり LLM は「黙る」ことができません。この含意は、あとで効いてきます。
そして学習の目的は「もっともらしさ」です。訓練とは、人間が書いた大量のテキストをうまく再現できるように内部の数値を調整すること(尤度を上げる、最尤推定)です。最適化されるのは、真理性ではなく、もっともらしさです。
分布意味論——意味を「使われ方」で近似する
この仕組みを「意味の理論」として読み直すと、LLM は語の意味を「その語がどんな語と一緒に現れるか(使われ方の分布)」で捉えている、と言えます。これは''分布意味論''と呼ばれる立場で、「語は、そのつきあう仲間で分かる」(ファース)という分布仮説に基づきます。意味を「事実との対応」ではなく「言語内の使われ方」で捉えるわけです。
LLM が見ている「分布」は、ウェブ規模のコーパス(人間が書いた大量テキスト)での共起です。だから LLM が捉えるのは「その語のまわりに何が来やすいか」=コーパスでのもっともらしさであって、世界の事実でも証明でもありません。要するに、''LLM は意味を「分布」で近似している''のです。
分子論は「全体論の決定可能な断片」
分布意味論は、実は「意味の全体論」(意味は言語全体の使われ方に溶けている、クワイン)の一バリエーションです。これに対して、この授業でやってきたのは''分子論''(ダメット)でした。分子論では、一つの語の意味は、その語の「使い方の規則」=導入規則と除去規則だけで決まり、言語全体を見る必要がありません。
面白いのは、分子論は全体論の反対というより、''全体論のうち「決定可能な断片」を取り出したもの''だ、という点です。全体論のまま(言語全体)だと、意味は見渡せず、決定できず、学べません。分子論は、使い方を「見渡せる・決定可能な断片」に限ることで、「意味=使い方」という長所は保ったまま、決定可能性・学習可能性・合成性を手に入れます。いわば「いいとこどり」です。そして前期にやった三層ハーモニー(詰まらない・止まる・積み上がる)は、まさにこの「決定可能な断片」を切り出すための条件でした。
具体例で言うと、「A ∧ B」(A かつ B)のカノニカルな証明(標準的な作り方)は、「A の証明と B の証明を組にしたもの」=ペアです。たとえば「雨が降っている ∧ 風が吹いている」の標準証明は〈雨の証拠, 風の証拠〉というペアで、確かめるのに要るのは「雨」と「風」の意味だけ、言語全体は要りません。しかも正規化定理によって、どんな回り道をした証明も、正規形(カノニカルフォーム)に直せばこのペアに戻ります。だから「A ∧ B が分かる」とは「A と B さえ分かればよい」ということなのです。これが「分子」の正体でした。
近似だから、差分が出る=それがハルシネーション
ここで背骨がつながります。LLM は意味を''全体論の網ごと''近似しています。分子論のように「決定可能な断片(ペアやカノニカルフォーム)」に収める保証がありません。だから、本物(証明の資格ある意味)との間に、断片からはみ出す「差分」が必ず残ります。
''この差分こそが、ハルシネーションです''。「幻覚」という言い方は、じつは誤称です(LLM は感覚を持ちませんし、誤りはデータと目的関数から生じます)。この授業の言葉に直すと、ハルシネーションとは「証明の資格のない項を、全域性を装って差し出す構造的性質」=〈近似〉と〈本物〉のズレなのです。では、そのズレはどう現れるか。前期に完成させた三つのハーモニーが、差分を分類する物差しになります。
三層診断
''局所(詰まらない)の破れ''。論理の「詰まらない」は、根拠(簡約規則)があるから進めることでした。ところが LLM の softmax はいつでも次の語を出せます。これは「詰まらなさの偽装」です。根拠がなくても前に進めてしまう=根拠なき前進。ソース参照乖離(主張がソースに依拠しない)が典型で、意味の分子構造がないために「この主張の根拠」を部品として取り出せないのです。
''中間(止まる=全域性)の破れ''。ここが今日の心臓です。論理の中間は「止まって、証明の資格ある値を返す(全域性)」でした。LLM は生成を止めて答えを差し出しますが、その値は証明の資格を持ちません=「差し出したふり」=永遠に履行されない約束手形です。ではどうやって止まっているのか。証明の正規化のように内側から保証されて止まるのではなく、外から課された「打ち切り」(トークン予算・時間・学習した終了傾向)で止まっています。しかも重要なのは、''推論そのものの正規化と、出力(文章)の正規化が分離している''ことです。内部推論は正規化しないことがあっても、「したがって」で文章を閉じることは学習済みなので、''LLM は証明を正規化できなくても、証明「らしい文書」を正規化して出せる''のです。だから、詰まったときほど最後だけ堂々とした誤答が出ます。理論的にも、Kalai らは「ハルシネーションは二値分類の誤りであり、学習データが誤りゼロでも、生成の誤り率は識別の誤り率のおよそ2倍を下回れない」と示しています。さらに、多くの評価が「わからない」と言う棄権を罰するので、当てずっぽうが最適になり、全域性が偽装されるのです。
''大域(積み上がる=保存拡大)の破れ''。論理の大域は「増築しても既存が壊れない(保存拡大・モジュラリティ)」でした。LLM の再学習では、破滅的忘却——新しく学ぶと既習の性能が急落しうる現象——が起きえます。ここは精度が大事で、破滅的忘却は「必ず起きる」わけではありません(EWC やリプレイなどで大きく緩和できます)。しかし、どの手法も「非忘却」を保証しません。論理は保存拡大を内在的に「保証」するのに対し、LLM の再学習にはその保証がない——だから「積み上がる」と言い切れないのです。追従(sycophancy、話者に迎合して結論が動く)も、同じく非保存的な症状です。
三つの破れは、根が一つでした。''意味の分子構造の欠如''です。分子がないから、(局所)根拠に結べず、(中間)値を検証できず、(大域)部品を足せない。これは前期の「有限性の三つの顔」のちょうど裏返しになっています。
処方を三層で読み替える
対策も、同じ三層で「どの層の要求を補強するか」で読めます。局所を補強するのが RAG(検索で主張を根拠に結ぶ)や記号的検証。中間を補強するのが棄権(わからないと言う訓練)・評価改革・自己検証(SelfCheckGPT)・DoLa。大域を補強するのが RAG(知識の外部化=非破壊的更新)や継続学習です。どれも「システム1の上に、あとから足場を組む」試みだと見ることができます。
オチ:LLM の中に「システム2」を=それが論理
最後のオチです。第2回で、人間の脳は速くて直感的な「システム1」の上に、ゆっくり規則にしたがう「システム2」を育てた、という話をしました。システム2は脳の上の仮想計算機で、その起源は社会的・言語的実践にあり、プログラマブル(学べる・直せる)でした。LLM は、このシステム1(もっともらしさの模倣)に当たります。足りないのは''システム2=証明を走らせる仮想計算機''=今日の三層ハーモニーです。今日見た処方は、どれも「システム1の上にシステム2を後付けする」試みでした。だとすれば、''論理こそ、その「システム2」の仕様書''なのです。速度の代償はあります(システム2は遅くて高価です)。でも、証明の資格は、そこにしかありません。
前期の一行にまとめれば、''「計算している」ことは「証明している」ことを含意しない''。LLM は走ります(むしろ走りすぎます)。けれど、止まって証明を差し出すことも、壊れずに積み上がることも、保証してくれません。論理とは、走って・止まって・積み上がる営みです。その三層の物差しは、AI を測る物差しでもありました。半年間、おつかれさまでした。
今回のキーワード
分布意味論, 意味の使用説, 分布仮説, 意味の全体論, 分子論(ダメット), カノニカルフォーム, 正規化, 全域性, 保存拡大, モジュラリティ, ハルシネーション, 二値分類の誤り, 破滅的忘却, 継続学習, RAG, 棄権, システム1/システム2, 仮想計算機, カリー・ハワード対応