裏を返さない

Share

4枚のカードがテーブルに置かれている。A、K、4、7。それぞれ片面にアルファベット、もう片面に数字が書かれている。

ルールはひとつ。「母音の裏には偶数がある」。このルールが正しいかどうかを確かめるために、あなたはどのカードを裏返すか。

1966年、心理学者ピーター・ウェイソンがこの課題を大学生に出した。正答率は10%に届かなかった。大半の被験者はAと4を選んだ。Aを裏返すのは正しい。母音の裏に偶数がなければルール違反だ。しかし4を裏返しても何もわからない。偶数の裏に母音がなくても、ルールは破られていない。ルールは「母音の裏は偶数」であって、「偶数の裏は母音」ではないからだ。

本当に裏返すべきは7だ。奇数の裏に母音があれば、ルールは崩壊する。しかし7を選んだ被験者はほとんどいなかった。

人は確認する。反証しない。ルールが正しいことを示すカードには手を伸ばし、ルールが間違っていることを示しうるカードには触れない。そしてそのことに、気づかない。

確認は快い

なぜ人は確認ばかりするのか。

ひとつの答えは、確認が気持ちいいからだ。自分の予想が当たったとき、脳の報酬系が反応する。「やっぱりそうだった」という感覚は、小さな快楽を伴う。予測と現実が一致したとき、脳はそれを報酬として処理する。

反証は逆だ。自分の予想が外れたとき、それは不快な信号として処理される。予測誤差。期待と現実のずれ。脳はそれを「何かがおかしい」という警告として受け取る。

だから人は、自分の仮説を支持する証拠を探すことに引き寄せられる。「やっぱりそうだった」を繰り返すことで、小さな報酬を積み重ねていく。反証を探すことは、自分の期待を壊しに行くことだ。壊しに行く動機は、確認しに行く動機に比べて、構造的に弱い。

ウェイソンの被験者が4を裏返したのは、ルールを確認したかったからだ。偶数の裏に母音があれば「やっぱり正しかった」と言える。7を裏返さなかったのは、ルールが崩壊する可能性に、無意識に近づきたくなかったからかもしれない。

カードの裏に何があるか知りたくない

カール・ポパーは科学をこう定義した。反証可能性。科学的仮説とは、原理的に間違いだと示しうる仮説のことだ。科学が進歩するのは、仮説が正しいと証明されるからではなく、間違った仮説が淘汰されるからだ。

しかしウェイソン選択課題が示したのは、人間の思考がポパー的にできていないということだ。人間は反証を探さない。確認を探す。正しいと示すカードには手を伸ばし、間違いだと示しうるカードは放置する。

ポパーが科学に要求したことは、人間の認知的傾向と真っ向から対立している。科学的態度とは、自分の仮説を壊しに行く態度だ。だが脳は、自分の仮説を守りに行くように設計されている。科学は、脳の設計に逆らうことで成立している。

知っているのに信じていないで触れたムーアのパラドックスの構造が、ここにも潜んでいる。「確証バイアスは存在する。しかし私の判断はそれに影響されていない」。この文は論理的に矛盾していない。しかし発話した瞬間に、何かが軋む。確証バイアスの存在を「知っている」のに、自分だけは例外だと「信じている」。知っていることと信じていることの乖離が、ここでもまた顔を出す。

裏切り者を探す目

ところが、話はそう単純ではない。

1989年、進化心理学者レダ・コスミデスは、ウェイソン選択課題に決定的な変形を加えた。論理構造はまったく同じまま、内容を社会的なルールに置き換えた。

「ビールを飲んでいるなら、21歳以上でなければならない」。4人の人物がいる。ビールを飲んでいる人、コーラを飲んでいる人、25歳の人、16歳の人。誰を確認すべきか。

ほとんどの被験者が正答した。ビールを飲んでいる人と16歳の人を選んだ。論理的には「Aと7を選ぶ」のと同じ構造だ。抽象的なカードでは10%しか正解できなかった課題が、社会契約のフレームに置き換えるだけで、正答率が70%を超えた。

コスミデスの解釈はこうだ。人間の推論能力は汎用的な論理エンジンではない。特定の適応課題、とりわけ社会的な裏切り者を検出するために特化した認知モジュールが存在する。「ただ乗りしている奴は誰だ」。この問いに対しては、人間は鋭い。「抽象的なルールが成り立つかどうか」には鈍いが、「ルールを破っている奴がいないか」には敏感だ。

つまり、確証バイアスは論理能力の欠陥というよりも、推論の設計思想の問題かもしれない。人間の脳は「真理を発見する」ためではなく、「社会を監視する」ために推論能力を獲得した。真理の追求は、裏切り者の検出の、いわば副産物だ。副産物が本来の機能ほどうまく働かないのは、ある意味で当然のことだ。

正しくありたい人ほど間違える

確証バイアスの最も不穏な特徴は、それが怠惰から生じるのではなく、真剣さから生じることだ。

適当に判断する人は、適当に間違える。しかし真剣に調べる人は、真剣に偏る。なぜなら、真剣に調べるとは、多くの場合、自分の仮説を支持する証拠をより多く、より効率的に、より体系的に収集することを意味するからだ。

もう少しだけ調べてからで描いたように、情報量の増加は判断の質を改善しない。むしろ劣化させることがある。情報が増えれば増えるほど、自分の信念を裏付ける情報を選択的に拾う余地が広がる。検索エンジンは「調べる」という行為を、「自分の信念に合致するテキストを効率的に発見する」という行為に変えてしまった。

医療の現場では、これが「アンカリング診断」として知られている。最初に浮かんだ診断仮説に合致する症状ばかりに注目し、合致しない症状を「非典型例」として処理する。真剣な医師ほどこの罠に落ちることがある。なぜなら、真剣であるほど多くの情報を集め、集めた情報の中に仮説を支持するパターンを見出す能力が高いからだ。

ダーウィンはこの危険を直感的に理解していた。自分の理論に反する事実を見つけたら、すぐに書き留めるという習慣を持っていた。「そうしないと忘れてしまうから」。反証は快くない。だから記憶に残りにくい。記憶に残りにくいから、意識的に記録しなければ消える。確認は自然に積み重なるが、反証は意図的に保存しなければ揮発する。

科学は確証バイアスで動いている

ポパーは科学を反証で定義したが、トーマス・クーンは科学の実態がそうなっていないことを描いた。

クーンによれば、科学者の日常は「通常科学」だ。既存のパラダイムの枠内で、パラダイムが正しいことを前提にしたパズル解きを行う。実験結果がパラダイムに合わなければ、それは「異常」として一時的に棚上げされる。あるいは実験の側が間違っていたとされる。パラダイムそのものを疑うことは、通常科学の仕事ではない。

つまり科学という営み自体が、制度的な確証バイアスの上に成り立っている。科学者は日々、既存の理論を確認する作業をしている。反証するカードには手を出さない。出す必要がないように制度が設計されている。反証が蓄積して無視できなくなったとき、はじめて「科学革命」が起きる。しかしそれは例外であって、規則ではない。

再現性の危機もここにつながっている。ある仮説を支持する結果だけを選択的に公表し、支持しない結果はお蔵入りにする。出版バイアス。p-hacking。HARKing(結果を見てから仮説を書き換える)。これらはすべて、確証バイアスが制度化されたものだ。科学者が不誠実だからではない。確認することが報酬され、反証することが罰されるインセンティブ構造がそうさせている。

永遠の素振りで示したグッドハートの法則がここでも作動する。「良い科学者は仮説を検証する」という指標が目標になった瞬間、検証は確認に変わり、確認は発見を装い始める。

メタ認知の二重の呪い

確証バイアスの最も厄介な性質は、それがメタ認知を侵食することだ。

自分だけが知らないで描いたダニング=クルーガー効果と同じ構造がある。能力のない人は能力がないことに気づけない。偏った人は偏りに気づけない。確証バイアスに陥っている人は、自分が確証バイアスに陥っていることを検出するための認知リソースそのものが、すでにバイアスに汚染されている。

「自分は偏っていないか?」と自問してみる。すると脳は、自分が偏っていなかった事例を検索し始める。あのとき反対意見も聞いた。このとき自分の間違いを認めた。ほら、偏っていない。これもまた確証バイアスだ。「自分は偏っていない」という仮説に対して、確認する証拠だけを集めている。

あなたのことは何も書いていないで触れたバーナム効果はこの共犯者だ。バーナム効果は曖昧な記述を自分に当てはめる現象であり、確証バイアスはその当てはめを駆動するエンジンだ。「あなたには使いきれていない能力がある」と言われたとき、人は自分の過去を検索して、その証拠をひとつでも見つければ十分だと感じる。反例は探さない。カードの裏は返さない。

「なんとなく嫌」の分解で論じた感情ヒューリスティックもまた、ここで合流する。対象にネガティブな感情タグがつくと、そのネガティブさを裏付ける情報ばかり収集してしまう。ポジティブなタグがつけば逆になる。感情が先に判定し、確証バイアスがその判定を事後的に正当化する。直感と偏見の境界がつかないのと同じく、確認と発見の境界もつかない。

反証は自分を壊しに行くことだ

なぜ反証はこれほど難しいのか。技術的な理由だけではない。

信念は自己の一部だ。「地球温暖化は人為的だ」と信じることは、単にひとつの命題を受け入れることではない。その信念に基づいて行動し、その信念を共有する人々と連帯し、その信念と矛盾する人々と距離を置いてきた歴史がある。信念を覆すことは、過去の自分を否定することだ。過去の判断を、過去の人間関係を、過去の行動を、すべて遡及的に再評価しなければならない。

だから反証は、認知的な作業であるだけでなく、実存的な脅威でもある。自分が間違っているかもしれないと本気で考えることは、自分という存在の連続性に亀裂を入れることだ。なぜ物を捨てても満たされないかで書いたように、物を捨てるとき捨てているのは物ではなく過去の自分だ。信念を捨てるとき捨てているのも、信念ではなく、その信念とともに生きてきた自分だ。

確証バイアスは、その意味で、防衛機制でもある。自分を壊さないための無意識的な戦略。正しくありたいのではなく、正しかったままでいたい。裏を返さないのは、裏に何があるか知りたくないからだ。

決断の潤滑油

逆説的だが、確証バイアスには機能がある。

決断できない状態の構造が描いたように、選択肢が拮抗しているとき、人は動けなくなる。確証バイアスは、この麻痺を破る装置として機能しうる。片方の選択肢を支持する証拠だけを無意識に集めることで、拮抗を崩し、一方に傾ける。偏っているからこそ決められる。公平であれば立ち尽くすしかない。

努力できない仕組みの分析で示した現在バイアスとも接点がある。「努力は報われる」と信じる人は、報われた事例ばかりを記憶し、報われなかった事例を無視することで、努力を継続するための動機を維持している。確証バイアスが消えたら、努力の根拠も消えるかもしれない。

もし人間が完全に合理的で、すべての証拠を公平に評価し、つねに反証を探し、自分の信念を絶えず修正し続けたら、おそらくその人間は何も信じられないだろう。何も信じられなければ何も決められない。何も決められなければ何もできない。

確証バイアスは認知の欠陥であると同時に、行動を可能にする条件でもある。欠陥を取り除けば、行動の足場ごと崩壊する。

カードはまだテーブルの上にある

確証バイアスについて知ったところで、確証バイアスから逃れられるか。

おそらく逃れられない。

この記事を読んだあなたは、次に何かを調べるとき、自分が確証バイアスに陥っていないか注意するだろう。しかしその「注意」は、すでに述べたように、確証バイアスに汚染された自己点検にすぎない。偏りを検出する装置そのものが偏っている。鏡で鏡の歪みを確認することはできない。

最初から知っていたで触れたメノンのパラドックスがここにも顔を出す。確証バイアスを克服するためには、自分の信念のどこが偏っているかをすでに知っていなければならない。知っているなら克服は不要だ。知らないなら克服はできない。

考えないことができないで描いたフレーム問題の構造もここに重なる。フレーム問題は「関連する情報をどう選別するか」という困難を扱う。確証バイアスは、その選別を仮説に有利な方向へ歪めている。人間はフレーム問題を「解いている」が、その解き方自体にバイアスが組み込まれている。常識というフィルターが世界を理解可能にしているのと同じように、確証バイアスというフィルターが信念を維持可能にしている。フィルターを外せば、世界も信念も、情報の洪水のなかで溶解する。

それでも。

「なんとなく嫌」の分解の結語を、もう一度ここに置いておく。嫌だと思っていい。ただし、その嫌悪で誰かを裁くなら、理由を探す義務がある。確証バイアスについても同じことが言えるかもしれない。偏っていてもいい。しかし、その偏りで誰かを裁くなら、裏を返す義務がある。

4枚のカードはまだテーブルの上にある。あなたはAと4に手を伸ばしている。7はテーブルの端で、裏を見せないまま、静かに待っている。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu