背景
- 分類器が「AでもBでもCでもない」をどう表現すべきかという問題は、機械学習におけるクラスとラベルの再考や分布外データの対処方法で、Noneクラス・Negationスロット・hard negative miningとして扱ってきた
- この問題は、実は哲学のtruthmaker理論(真理製作者論)が扱う否定的事実の問題と、構造的にそっくりであることに気づいた
- ここでは、truthmaker理論の枠組みを借りて、なぜNoneクラスを「暗黙の残り物」として扱うと不安定になり、明示的にgroundingする設計が筋が良いのかを整理する
対応説(Correspondence Theory)
- truthmaker理論の土台になっているのは、真理の対応説(Correspondence Theory)という古典的な立場
- 対応説とは、ある命題が真であるのは、その命題が事実・現実と対応しているときである、とする真理観
- 「雪は白い」という命題が真であるのは、雪が実際に白いという、命題とは独立した世界側の事実が存在し、両者が対応しているからだ、と考える
- これは「実践は真理を検証する唯一の基準」についてでも触れた、真理をどう検証するかという対立軸(対応説 vs プラグマティズム)の、対応説側の立場に当たる
- ただし対応説は、「命題は事実と対応する」と述べるだけで、その「事実」とは具体的に何なのか、特に否定的な命題にはどんな事実が対応するのか、までは詳しく踏み込まない
- truthmaker理論は、この対応説の直感を引き継ぎながら、「対応する」とは正確にはどういう関係か、その「事実」とは何者なのかを、より厳密に定式化しようとする試みと位置づけられる
Truthmaker理論とは
- truthmaker理論とは、「ある命題が真であるとき、世界の何がその真理を真にしているのか」を問う、形而上学の理論
- 「雪は白い」が真であるなら、雪が実際に白いという事実がそれに対応する、という対応説の直感を定式化したもの
- 現代的な定式化はMulligan・Simons・Smithの1984年の論文「Truth-Makers」に遡り、David Armstrongが大きく発展させた
否定的事実という難題
- この理論が本当に難しくなるのは、否定的な真理を扱うとき
- 「ユニコーンはいない」が真であるとき、何がその真理を真にしているのか
- 肯定的な真理とは違い、否定的な真理には、世界の中に対応する積極的な実体を指し示しにくい
- ラッセルは『論理的原子論の哲学』(1918年の講義録)で、この問題に取り組み、否定的事実を世界から完全に追い出すのは難しいと指摘しつつも、渋々ながらそれを認める立場を取った
- 一方でDemosらは、否定は世界の側ではなく、判断・言明の側の問題だと反論した
Armstrongの解決策: 全体性事実
- Armstrongは、個々の否定的事実を無数に認める代わりに、「全体性事実(totality fact)」という1つの積極的な事実を置く解決策を提案した
- 「これが世界に存在する全てのものである」という全体性事実と、個々の肯定的事実の組み合わせから、「ユニコーンはいない」のような否定的真理を導く
- つまり、否定をそのまま世界の住人として認めるのではなく、積極的な事実(全体の一覧)に還元する、という発想
機械学習における同じ問題
- 分類器が「AでもBでもCでもない」を表現しようとすると、全く同じ構造の問題に直面する
- 「Aではない」に当てはまるものは、open-worldの前提では原理的に無限にある
- これを律儀に個別の「否定的事例」として扱おうとすると、扱いきれない
暗黙の否定は不安定になりやすい
- よくある設計は、softmaxの確信度が閾値を下回ったら「その他」に倒す、というもの
- しかしこれは、否定的な判断を「積極的に構築したもの」ではなく、「たまたま他のクラスに入らなかった残り物」として扱っている
- このような暗黙の・無根拠な否定は、未知の入力に対しても高い確信度を出してしまうなど、不安定になりやすい
- これは、Russellが悩んだ「宙に浮いた否定的事実」の問題と同じ構造を持つ
Noneクラスという全体性事実
- 機械学習におけるクラスとラベルの再考で扱ったNoneクラス(負例用のメタクラス)は、Armstrongの全体性事実に対応する解決策と見なせる
- 個々の「Aではない」という無数の否定を放置せず、実際の訓練データを持つ、積極的な(positive)Noneクラスとして明示的に構築する
- つまり、否定を「残り物」から「それ自体が根拠を持つ積極的な構造」へ変換する操作になっている
Negationスロット・Impossibleクラスも同じ発想
- 同じ記事で扱ったNegationスロット(Move(negated=True)のように、否定を明示的な属性として持たせる)も、否定を暗黙の欠如として扱わず、積極的なラベル構造として組み込む例
- Impossibleクラス(そもそも判断不能な入力を示すメタクラス)も、「判断できない」という状態を宙に浮かせず、明示的なクラスとしてgroundingしている
- 分布外データの対処方法のhard negative mining(shifted positive、adversarial negativesなど)も、「そうでないもの」を無限に放置せず、具体的な負例サンプルとして積極的に構築する手法
実践と理論の役割分担
- ここで、「実践は真理を検証する唯一の基準」についてで扱った実践(practice)との役割分担も整理できる
- 実践(認識論): モデルの境界がどこにあるかを、実際にテスト・評価して発見する方法。Diag・OODテスト・Gradeによる難易度設計など
- truthmaker理論(存在論): なぜ暗黙の・無根拠な否定の扱いが不安定になりやすいかを説明する、理論的な裏付け
- 実際の設計: 否定を放置せず、Noneクラス・Negationスロット・hard negativeのような、積極的な根拠を持つ構造として明示的に作り込む
- truthmaker理論それ自体は、「良いNoneクラスをどう作るか」というアルゴリズムは教えてくれない。それは実践(データ収集・実験)の仕事
- しかし、「なぜ否定を暗黙のまま放置すると壊れやすいのか」を説明する後付けの理論的な裏付けとしては、十分に機能する
まとめ
- truthmaker理論は、真理の対応説(命題は世界の事実と対応する)という古典的な立場を引き継ぎ、「対応する事実とは何者か」をより厳密に定式化しようとする試み
- truthmaker理論における否定的事実の問題(「Aではない」を世界の何が真にしているか)は、機械学習における「AでもBでもCでもない」の表現問題と、構造的に同じ
- Armstrongの全体性事実による解決策は、Noneクラス・Negationスロット・Impossibleクラス・hard negative miningという、このブログで既に扱ってきた設計手法と対応する
- どちらも「否定を暗黙の残り物として放置せず、積極的な根拠を持つ構造として明示的にgroundingする」という、共通の戦略を取っている
- 実践(どうやって境界を見つけるか)とtruthmaker理論(なぜ明示的なgroundingが筋が良いのか)は、認識論と存在論という別の軸にありながら、互いに補い合う関係にある
参考文献