❦
純粋に本能的な水準では、計画を立てる人間は誰でも、手段と目的を区別しているかのように振る舞う。チョコレートが欲しい? パブリックスというスーパーにある。ワシントン通りを車で1マイル南へ走れば着く。車に乗れば運転できる。ドアを開ければ乗れる。鍵があればドアを開けられる。そこで鍵をポケットに入れ、家を出る準備をする……。
……そのとき突然、近所のパブリックスのチョコレートが地震ですべてだめになったという知らせが、ラジオから聞こえる。ならば、チョコレートがないのにパブリックスへ車で行く意味はない。どこへも運転しないなら車に乗る意味はなく、運転しないなら鍵をポケットに入れておく意味もない。そこで鍵を取り出し、近所のピザ屋に電話して、チョコレートピザを届けてもらう。うん、おいしい。
人が自分で立てた計画の筋道を見失うのは、あまり見かけない。チョコレートがないと知っているのに、普通はスーパーへ車を走らせたりしない。だが、単に何かを欲するのでなく、目標体系について明示的に話し始め、目標を使うのでなく「目標」に言及すると、人はよく混乱する、とも気づいた。人間は計画を立てる名人であって、計画についての専門家ではない。そうでなければ、世界にはもっとAI開発者がいるだろう。
特に、日常生活でなく抽象的な哲学の議論で、手段と目的、より形式的には「道具的価値」と「終端価値」の区別を考えるとき、人が混乱するのを見てきた。
問題の一部は、人間の心が目標を管理する仕組みは、かなり場当たり的だということにあると思う。動くには動くが、整然とはしていない。英語では手段と目的がはっきり区別されない。「妹の命を救いたい」と「妹にペニシリンを投与したい」は、英語では同じ「want」を使う。
失われているこの区別を、普通の言葉だけで記述できるだろうか。
まず試みるなら、
「道具的価値」は、予期される帰結を条件としてのみ望ましい。「妹にペニシリンを投与したい」のは、ペニシリンでいっぱいの妹がそれ自体で善だからでなく、妹の組織を侵す肺炎が治ると予期するからだ。逆に、注射すれば妹が西の悪い魔女のように溶けて水たまりになると予期するなら、ペニシリンを与えないために同じくらい懸命に戦うだろう。
「終端価値」は、ほかの帰結を条件とせず望ましい。「妹の命を救いたい」は、その後ペニシリンを注射されるかどうかの予期とは無関係だ。
この最初の試みには、明らかな欠陥がある。妹の命を救うと地球がブラックホールに飲まれるのなら、私はどこかへ行ってしばらく泣くだろうが、ペニシリンは投与しない。すると、理論上は帰結に条件づけられているから、妹の命を救うことは「終端的」あるいは「内在的」な価値ではなかったのか。後で地球が飲まれないと信じるからだけ、妹を救おうとしているのか。常識的には、そうではないはずだ。
だから、普通の言葉はいったん忘れよう。終端価値と道具的価値が、別々で互換性のない型となる意思決定システムを、数学的に記述できる。自動変換のないプログラミング言語における整数と浮動小数点数のように。
理想的なベイズ意思決定システムは、四つの要素だけで構成できる。
- Outcomes : type Outcome[]
- ありうる結果の一覧
- { 妹が生きる、妹が死ぬ }
- Actions : type Action[]
- 取りうる行動の一覧
- { ペニシリンを投与する、投与しない }
- Utility_function : type Outcome ⇒ Utility
- 各結果を効用に対応づける効用関数
- (効用は負の無限大と正の無限大のあいだの実数で表せる)
- Conditional_probability_function :
type Action ⇒ (Outcome ⇒ Probability)- 各行動を結果の確率分布に対応づける条件付き確率関数
- (確率は0から1のあいだの実数で表せる)
では、意思決定システムそのものは?
- Expected_Utility : Action A ⇒
(Sum O in Outcomes: Utility(O) * Probability(O|A))- 行動の「期待効用」は、ありうるすべての結果について、その結果の効用に、その行動をした場合にその結果になる条件付き確率を掛け、足し合わせたものに等しい。
- Choose :
⇒ (Argmax A in Actions: Expected_Utility(A))- 「期待効用」が最大の行動を選ぶ。
- { 戻り値:ペニシリンを投与する }
すべての行動について、その後に続きうる全帰結の条件付き確率を計算し、それぞれの効用に条件付き確率を掛けて足す。そして、最善の行動を選ぶ。
これは意思決定システムの、数学的に単純な見取り図だ。現実世界で意思決定を計算する効率的な方法ではない。
たとえば、計画の実行に一連の行動が必要ならどうか。各Actionが系列全体を表すとすれば、形式的には簡単に表現できる。だが、それでは100文字で書けるすべての文の空間のように、指数的に大きな空間ができる。単純な例として、最初の手の一つが「自分の足を撃ち落とす」だったら、人間はこれは一般に悪い考えだと判断し、この行動で始まる系列をすべて除く。だが、今の表現ではこの構造を平らにしてしまった。行動の系列はなく、平らな「行動」だけがある。
だから確かに、少々の細かい複雑さはある。明らかにそうでなければ、さっさとこの方法で本物のAIを作っているだろう。その意味では、ベイズ確率論そのものとよく似ている。
だがこれは、高尚な複雑さを加える前に、ばかばかしいほど単純な版を考えるのが、驚くほどよい考えである場合の一つだ。
「私たちは結局みな利己的で、自分の心の状態だけを大切にする。息子の幸福を気にかけると言う母親も、本当は、息子が元気だと信じたいのだ。その信念で母親は幸せになる。息子でなく、自分の幸せのために助けるのだ」と主張する哲学者を考えよう。あなたは言う。「では、迫るトラックの進路から息子を押し出すため、母親が自分の命を犠牲にしたとしよう。それで幸せになるのではなく、死ぬだけだ」。哲学者はしばらく口ごもり、こう答える。「それでも、彼女がその選択をほかより重要だと感じて価値を置いたから、そうしたのだ」。
そこで、あなたはこう言う。
TYPE ERROR: No constructor found for
Expected_Utility ⇒ Utility.
この返答を説明しよう。
この単純な形式化でも、行動がもつ期待効用と、結果がもつ効用は、はっきり区別される。もちろん、効用も期待効用も実数に対応づけられる。だが、それは風速と気温をどちらも実数に対応づけられると指摘するようなものだ。同じものにはならない。
哲学者は初めに、効用のすべては、自分の心の状態からなる結果に対して定められているはずだと論じる。これが正しければ、あなたの知性は、自分が幸せになる領域へ未来を導く機関として働く。未来の状態は、自分の心の状態だけで区別され、心の状態が同じである二つの未来は、あなたにとって無差別になる。
そして確かに、他人を救うため自分の命を犠牲にすることは、かなり起きにくいだろう。
人は実際に命を犠牲にすることもあると反論すると、哲学者の返答は、行動に対する期待効用の話へ移る。「その決定に対して感じた重要さ」だ。これは、憤って椅子から飛び上がるべきほど大きな飛躍だ。私たちのプログラミング言語では、Expected_UtilityをUtilityへ変換しようとすれば、明白なエラーになる。だが、日常の言葉では同じように聞こえる。
この単純な意思決定システムが選ぶのは、Expected_Utilityが最も高い行動だ。だが、それは未来をどこへ導くかについて、何も述べない。意思決定者が割り当てる効用も、その結果どんな現実の帰結が起きそうかも、何も述べない。心が機関としてどう働くかについても、何も述べない。
物理的行動の物理的原因は認知状態であり、この理想的意思決定者ではExpected_Utilityだ。この期待効用は、想像した帰結について効用関数を評価して計算される。息子の命を救うには、息子の命が救われる出来事を想像しなければならない。その想像は、出来事そのものではない。「雪」と雪の違いのような、引用だ。だが、だからといって、引用符の中も認知状態である必要はない。「息子はまだ生きている」と表す未来へ至る行動を選ぶなら、息子がまだ生きている領域へ未来を導く機関として働いたことになる。あなたが「息子はまだ生きている」という文を表象する領域へ導く機関ではない。後者へ導くには、効用関数は「『息子はまだ生きている』」という、引用の引用、自分が想像しているところを想像したものを入力されると、高い効用を返さなければならない。レシピをすりつぶして生地へ入れても、おいしいケーキにはならない。
だから、まず単純な意思決定システムを考えるのが役立つ。複雑さを十分に混ぜれば、初めは明白だった区別も見えにくくなる。
では、複雑さをいくつか見よう。OutcomesをUtilitiesへ対応づけるUtility関数は、明らかに、先ほど「終端価値」と呼んだ、帰結に依存しない価値を形式化するためのものだ。妹を救うとブラックホールが地球を破壊する場合はどうなるか。この形式化では、その可能性を平らにしている。OutcomesがOutcomesにつながることはなく、行動だけが結果につながる。妹の肺炎が治り、その後地球がブラックホールに飲まれることは、一つの「ありうる結果」に平らにまとめられる。
この単純な形式化のどこに「道具的価値」はあるのか。実は、完全に消えている! ここでは行動は、中間の出来事を挟まず、直接結果につながる。投げた石が空を飛び、枝からリンゴを落とし、それが地面に落ちるという概念はない。石を投げるのがActionであり、リンゴが地面にあるというOutcomeへ直接つながる。Actionを直接、Outcomes上のProbability分布へ変換する、条件付き確率関数に従って。
条件付き確率関数を実際に計算するため、また妹の肺炎と地球を飲むブラックホールの効用を別々に考えるためには、因果のネットワーク構造、つまり出来事から別の出来事が生じる仕方を表す必要がある。
すると、道具的価値が戻ってくる。因果ネットワークに十分な規則性があれば、どのようにBを達成したかにかかわらず、Cにつながりやすい状態Bを見つけられる。すると、何らかの理由でCを達成したいなら、まずCへ至るBを見つけ、次にBへ至るAを見つけることで、効率よく計画できる。これが「道具的価値」という現象だ。BはCへ至るため、「道具的価値」をもつ。Cそのものは終端的に価値を置かれ、結果全体に対する効用関数の一項かもしれない。あるいはCも、効用関数から直接価値を与えられないノード、単なる道具的価値かもしれない。
この形式化では、道具的価値は、計画を効率よく計算するための補助にすぎない。この種の規則性がないところでは、捨ててよいし、捨てるべきだ。
たとえば、Bのある特定の値はCにつながらないとする。そのBへ至るAを選ぶだろうか。抽象的な哲学は忘れてもよい。チョコレートを買いにスーパーへ行きたい、車で行きたい、そのため車に入る必要があるとする。蒸気ショベルで車のドアを引きはがして乗り込むだろうか。(答えは、いいえ。)道具的価値は、プログラマーの言う「漏れのある抽象化」だ。キャッシュした価値を捨て、実際の期待効用を計算しなければならないこともある。自滅的でなく効率的であるためには、便利な近道がいつ通用しなくなるかに気づくことが必要だ。この形式化は道具的価値を生むが、必要な規則性がある場所でだけ、しかもあくまで計算上の便利な近道として生む。
だが、単純な版を理解する前に形式化を複雑にすると、道具的価値が、規範的な意味でも奇妙な独立の命をもつかのように考え始めるかもしれない。BはCにつながるから普通はよいと言った以上、Cがなくても、いつもBを目指すと約束したことになる、と。現実には蒸気ショベルでドアをこじ開けない人も、抽象的哲学ではこういう間違いをする。「食べること」という明示的な終端価値を入れなければ飢えるのだから、包括遺伝適応度だけを最大化する帰結主義者は作れない、と思い始めるかもしれない。車のドアを開ける終端価値がないと車に入れなくなるのが怖くて、一日じゅうドアを開け続けることなど決してしないのに、人はこの誤りを犯す。
道具的価値は、条件付き確率関数のネットワーク構造にある。だから、効用関数が一定なら、道具的価値は厳密に事実についての信念に依存する。ペニシリンは肺炎を起こし、ペニシリンがないと肺炎が治ると信じれば、私が認めるペニシリンの道具的価値は、高いものから低いものになる。事実の信念、つまり行動を予想される帰結に結びつける条件付き確率関数を変えれば、道具的価値も一緒に変わる。
道徳的議論には、手段としての帰結についての争いも、終端価値についての争いもある。相手が銃を禁じれば犯罪が減ると言い、あなたが増えると言うなら、上位の道具的価値、犯罪は悪い、という点では一致し、どの中間の出来事がどの帰結につながるかで違っている。だが、女性器切除をめぐる議論が、女性を公平に扱い、幸せにするという共有された価値をどう実現するかの事実上の議論だとは、私は思わない。
怒りに満ちた議論では、この重要な区別が、よくトイレに流されてしまう。価値は共有し、事実だけで食い違う人たちが、相手は反社会的な人間に違いないと決めつける。憎い敵である銃規制派や銃保有権擁護派が、本当に人を殺したがっているかのように。そんなことは、現実的な心理としては考えにくいはずなのに。
人間の脳は、道徳的信念が終端的か道具的かを、強い型で区別していないように思う。「銃を禁じるべきだ」と「命を救うべきだ」は、見ることと聞くことが違って感じられるようには、道徳的信念として違って感じられない。人間の目標体系は、ほかのあらゆる点では物事を複雑にするのに、この一つの区別は、条件付きで価値のあるものの寄せ集めへ崩してしまう。
終端価値を取り出すには、この価値あるものの寄せ集めを調べ、どれがほかから価値を得ているか見極めなければならない。難しい仕事だ! 犯罪を減らすため銃を禁じたいと言うとき、「犯罪を減らすこと」も終端価値ではなく、人命や人間の幸福という終端価値につながる、上位の道具的価値だと気づくまで、少し間が要るかもしれない。一方、銃保有権を擁護する人には、「犯罪を減らす」という上位の道具的価値に加え、「自由」の価値へのつながりもあるかもしれない。その人にとって自由は終端価値か、別の道具的価値かもしれない……。
ほかの価値から導かれた価値のネットワーク全体を、印刷して取り出すことはできない。価値ができた経緯のすべても、おそらく保存していない。「YならXをするか?」という適切な道徳的ジレンマを考えれば、価値がどこから来たか、わかることは多い。だが、この作業自体にも、誤解させるジレンマや穴だらけの哲学的議論など、落とし穴がある。私たちは、自分の価値が何か、どこから来たかを知らず、間違いやすい認知の考古学に取り組むほかに、知る方法がない。「終端価値」と「道具的価値」を意識的に区別し、意味を見失わず、正しく使うだけでも、骨が折れる。単純な形式化を調べて初めて、原理的にはどれほど簡単なはずなのかがわかる。
そして、人間の報酬体系のほかの複雑さは、まだ何も述べていない。強化の構造全体や、チョコレートを食べるのも、食べることを予期するのも快いが、それぞれ違う種類の快さであることなど……。
だが私は、このごちゃごちゃにあまり不平は言わない。
自分の価値について無知なのは、いつでも楽しいわけではない。だが少なくとも、退屈ではない。