無関係なものを忘れる技術

Share

知性とは何かと聞かれたら、たいていの人は「考える力」と答えるだろう。推論する力。分析する力。問題を解く力。

だがAIの歴史が数十年かけて暴いたのは、ほぼ真逆の事実だった。知性の核にあるのは、考えない力かもしれない。関係のないことを無視し、必要のない推論を止め、世界の大部分を放っておく力。それを私たちは「常識」と呼ぶ。そして常識がどれほど途方もないものであるかを最初に突きつけたのは、哲学者でも心理学者でもなく、ロボットに爆弾を片付けさせようとした計算機科学者たちだった。

三台のロボットの末路

哲学者ダニエル・デネットは「認知の車輪」と題した論文のなかで、三台のロボットの寓話を語った。

一台目のロボット、R1。部屋のなかに時限爆弾がある。同じ部屋にR1のバッテリーも置かれていて、バッテリーは台車に載っている。R1は台車を引き出せばバッテリーを救えると推論し、実行する。だが台車の上には爆弾も載っていた。R1は「台車を引くと台車の上のものが一緒に動く」という副次的効果を推論できなかった。

二台目、R1D1。行動の副次的効果をすべて考慮するよう設計された。台車を引く前に、R1D1はあらゆる帰結を検討し始める。台車を引くと壁の色は変わるか。天井は落ちるか。隣の部屋の気温は変わるか。R1D1はまだ計算している。爆弾が爆発する。

三台目、R1D1D1。「関係のない帰結」を無視するよう設計された。だが今度は、何が関係ないかを判定する作業に没頭し始める。壁の色が変わらないことは関係あるか。関係ないという判断は関係あるか。R1D1D1もまた、計算の途中で爆発する。

デネットの寓話は滑稽だが、笑っていられるのは私たちが問題の外側にいるからにすぎない。

変わらないものの重さ

この寓話が戯画化しているのは、1969年にジョン・マッカーシーとパトリック・ヘイズが定式化した「フレーム問題」と呼ばれる難題だ。

形式論理で世界を記述するとき、行動の「効果」を書くのは比較的簡単だ。「物体xを色cで塗ると、xの色はcになる」。問題は「変わらないこと」の記述にある。物体を塗っても、その物体の位置は変わらない。重さも変わらない。隣の物体の色も変わらない。部屋の気温も変わらない。地球の自転速度も変わらない。

これらの「変わらない」事実を明示的に書き下す必要がある。これを「フレーム公理」と呼ぶ。M個の行動とN個の性質がある世界では、最大でM×N個のフレーム公理が必要になる。行動の数と世界の性質が増えるたびに、「変わらないことの記述」は爆発的に膨張していく。

直感的には簡単な解決策がある。「特に記述がない限り、すべてのものは変わらないと仮定する」。これは「常識的慣性の法則」と呼ばれている。だが古典論理は単調だ。新しい情報を追加すると、導出できる結論は増えることはあっても減ることはない。「例外がない限り変わらない」という、例外に開かれた原則を古典論理のなかで表現することは、構造的に不可能なのだ。

非単調推論や限定理論といった技術的な解法は開発されてきた。狭い意味での論理的フレーム問題は、ある程度「解かれた」とされている。だが解かれたのは表面だけかもしれない。

文脈の無限後退

技術的な問題の背後に、はるかに厄介な問いが控えている。哲学者たちが「認識論的フレーム問題」と呼ぶものだ。

ティーカップを戸棚から取り出すロボットを想像してほしい。カップの位置は変わる。戸棚の中身も変わる。だがカップのなかにスプーンが入っていたら、スプーンの位置も更新する必要がある。室温は変わらない。ティーポットの色も変わらない。今日の日付も変わらない。

どこで「確認」を打ち切ればいいのか。

ジェリー・フォーダーはこの問いを「ハムレットの問題」と呼んだ。考えるのをいつやめるか。フォーダーの見立てでは、何が関連し何が関連しないかを決定する問題は、合理性の分析と同じ深さにまで根を張っている。

「関連性」に訴えれば解決するように見える。だが何が関連するかは文脈に依存する。お茶を入れるためにカップを取るなら、ティーポットとの位置関係が重要になる。戸棚を掃除するためなら、カップが置かれていた棚の表面が重要になる。文脈を特定するにはさらに上位の文脈が必要で、その上位の文脈もまた別の文脈を要求する。

文脈の無限後退。そしてこの後退に底はない。

底が抜けたのは論理学の基礎だけではなかったということだ。私たちの「世界理解」そのものが、底のない構造の上に浮いているのかもしれない。

常識は書けなかった

フレーム問題が暴いた最も不穏な事実は、「常識」の正体に関わる。

1984年、ダグラス・レナートはCycプロジェクトを立ち上げた。人間の常識をすべて命題として符号化し、コンピュータに搭載するという壮大な試みだった。数十年にわたって数百万の規則が蓄積された。「水は上から下に流れる」「死んだ人間は投票しない」「猫はたいてい足が四本ある」。だがCycは常識的推論を獲得しなかった。

ヒューバート・ドレイファスは1972年の著書『コンピュータには何ができないか』で、この種の失敗を予見するかのような議論を展開していた。ドレイファスによれば、常識は命題の集合ではない。それはハイデガーが「世界内存在」と呼んだもの、身体を持った存在が世界のなかで生きることを通じて獲得される、言語化以前の了解のようなものだ。

私たちが朝食を作るとき、「地球の裏側の天気は変わらない」ことを確認しない。フライパンの油が跳ねないかは気にするが、冷蔵庫の中身のリストは走査しない。関係のないことを無視しているのではなく、そもそも関係のないことが意識に上ってこない。その沈黙は、膨大な暗黙知の体系が背後で動いていることの証拠かもしれない。

考えることしかできないというモラヴェックのパラドックスは、この問題の裏面にあたる。高度な推論は比較的簡単に再現できる。しかし知覚、運動、そして「世界のなかにいること」は、途方もなく難しい。フレーム問題はこの非対称性を、推論の側から照らしている。

理解のない部屋

ジョン・サールの「中国語の部屋」は、フレーム問題とは異なる問いを立てている。

中国語を一文字も理解しない人間が、マニュアルに従って中国語の質問に中国語で回答する。外から見れば中国語を理解しているように見える。しかし部屋の中の人間は何も理解していない。操作だけがあり、理解がない。

フレーム問題は別の角度から同じ崖に近づいている。こちらは「文脈なき推論」の問題だ。形式的な操作は遂行できる。しかしどの操作がいま関係があるのかを判断するためには、操作の外に出なければならない。操作の体系のなかにいる限り、関連性は見えない。

中国語の部屋は「理解なき操作」。フレーム問題は「文脈なき推論」。表面は違うが、どちらもひとつの結論に収束するように見える。形式的な記号操作だけでは、知性と呼ばれるものには到達しないのではないか、という結論に。

もっとも、「到達しない」と言い切れるかどうかも分からない。あなたには何も見えていないのと同じように、理解の有無を外側から判定する手段を、私たちは持っていないのかもしれないのだから。

述語の地獄

フォーダーは「フリッジオン」という思考実験を提出した。任意の粒子が「フリッジオン」であるのは、フォーダーの冷蔵庫が稼働しているときに限る、と定義する。すると冷蔵庫のスイッチを入れるだけで、宇宙のすべての粒子の状態が変わることになる。

「大部分のものは変わらない」という常識的慣性の法則は、述語の選び方次第で崩壊する。

この議論はグッドマンの「グルー」に酷似している。「グルー」は、ある時点までは緑で、それ以降は青であるような対象に適用される述語だ。明日、青くなる可能性は論理的に排除できない。帰納が機能するためには「正しい述語」の選択が前提になるが、何をもって正しいとするかは帰納の外部にある。

フレーム問題も同じ構造を持っている。常識的慣性の法則が機能するためには「正しい存在論」、つまり世界を切り分ける正しい述語の集合が必要だ。フリッジオンを含む存在論ではこの法則は成り立たない。だが何をもってフリッジオンを排除するのか。その原理は論理の内部からは出てこない。

あなたは足し算ができないのと同じ深淵がここにもある。規則を適用するとき、どの規則が「正しい」適用であるかは規則そのものからは決定できない。フレーム問題では、どの事実が「関連する」かは形式体系の内部からは決定できない。どちらも同じ穴を異なる角度から覗いている。

統計は答えたのか

大規模言語モデルは、フレーム問題をある程度「回避」しているように見える。GPTに「台車を引いたら台車の上のものはどうなるか」と聞けば、正しく答える。常識的慣性の法則を明示的に符号化しなくても、膨大なテキストデータからそのパターンを統計的に抽出しているからだ。

だがこれは「解決」と呼べるものなのか。

統計的パターンマッチングは、過去のテキストに含まれていた常識を再現しているだけかもしれない。まだ誰も書いたことのない状況、まだ誰も言語化したことのない文脈では、同じ手法がどこまで通用するかは誰にも分からない。

それに、仮にパターンマッチングで実用上の問題が解消されたとしても、フレーム問題が突きつけた哲学的な問いは残る。知性とは何か。理解とは何か。世界のなかにいるとはどういうことか。これらの問いは、正しい出力を返す能力とは別の次元にある。

あるいは、別の次元になどないのかもしれない。正しい出力を返し続けることと「理解している」こととの間に、本当に境界線があるのか。何も確かではないという認識論の底なしの井戸は、ここにもつながっている。


フレーム問題は1969年に名前を与えられた。半世紀以上が経ち、狭い意味での技術的問題は解かれたとされている。だが哲学的な問いとしてのフレーム問題は、解かれるどころか、問いの射程を広げ続けている。

知性の核心が「考えないこと」にあるとすれば、それは形式化にもっとも抵抗するものだということになる。考えないことを考えようとした瞬間、それは考えることになってしまう。この循環から抜け出す道を、少なくとも論理は持っていない。

私たちは毎朝、何十億もの無関係な事実を確認することなく朝食を作り、駅まで歩き、誰かに挨拶する。その沈黙のなかで働いている何かを、私たちは「常識」と呼ぶ。だがその正体を問われたとき、返せるのは沈黙だけだ。

知性について語ろうとするたびに、語れないものの領域が広がっていく。フレーム問題が教えてくれたのは、おそらくその一点に尽きる。

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