❦
純粋に本能的な水準では、どんな人間の計画者も、手段と目的を区別しているかのように振る舞う。チョコレートが欲しい? Publixスーパーマーケットにチョコレートがある。Washington Ave.を南へ1マイル運転すればスーパーに着く。車に乗れば運転できる。ドアを開ければ車に乗れる。車の鍵があればドアを開けられる。そこで車の鍵をポケットに入れ、家を出る準備をする……。
……すると突然、地元のPublixにあるチョコレートがすべて地震で壊滅した、という知らせがラジオから流れる。なるほど、そこにチョコレートがないならPublixまで運転する意味はなく、どこにも運転しないなら車に乗る意味もなく、運転しないなら車の鍵をポケットに入れておく意味もない。そこで車の鍵をポケットから出し、地元のピザ店に電話して、チョコレートピザを配達してもらう。うーん、おいしい。
自分で考案した計画を見失う人には、めったに気づかない。チョコレートがなくなったと知っていれば、普通はスーパーまで運転しない。だが、目標体系について明示的に語り始めると――物事を単に欲しがるのではなく、「目標」に言及するのであって、目標を使うのではないとき――人々はしばしば混乱することにも気づいた。人間は計画の専門家であって、計画についての専門家ではない。そうでなければ、この世界にはもっと多くの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に系列全体を表させれば、この形式体系でも簡単に表現できる。だがこれにより、百文字で入力できるあらゆる文の空間のように、指数関数的に大きな空間が生まれる。単純な例として、最初の番で可能な行為の一つが「自分の足を撃ち落とす」なら、人間の計画者は、これは一般に悪い考えだと判断し――この行動で始まるすべての系列を除外する。だが私たちの表現では、この構造を平坦化してしまった。行為の系列はなく、平坦な「行動」しかない。
そう、いくつかの些細な複雑さはある。明らかだ。そうでなければ、この方法で本物のAIをさっそく作っているだろう。その意味では、ベイズ確率論それ自体とほぼ同じである。
しかし、これは、大げさな複雑さを加える前に、馬鹿げるほど単純な版を考えることが驚くほどよい考えとなる場合の一つである。
こう主張する哲学者を考えてみよう。「私たちは皆、究極的には利己的であり、自分自身の心の状態にしか関心がない。息子の幸福を気にかけると主張する母親が本当に望むのは、息子が元気にしていると信じることだ――母親を幸福にするのは、この信念である。彼女が息子を助けるのは、息子の幸福ではなく、自分の幸福のためだ」。あなたは言う。「では、母親が、向かってくるトラックの進路から息子を押し出すため自分の命を犠牲にするとしよう。それでは幸福にならない。ただ死ぬだけだ」。哲学者はしばらく口ごもり、それから答える。「だが彼女は、それでもほかの選択肢より、その選択を自分が高く評価したからそうした――その決定に結びつけた重要性の感情のためだ」
そこで、あなたはこう言う。
TYPE ERROR: No constructor found for
Expected_Utility ⇒ Utility.
この返答を説明させてほしい。
単純な形式体系でさえ、期待効用――行動が持つもの――と、効用――結果が持つもの――の明確な区別を示す。たしかに、効用と期待効用のどちらも実数へ写すことができる。だがそれは、風速と温度のどちらも実数へ写せると観察するようなものだ。同じものにはならない。
哲学者はまず、あなたのすべての効用は、自分の心の状態からなる結果に対するものでなければならない、と主張する。これが真なら、あなたの知性は、自分が幸福である領域へ未来を導くエンジンとして働くだろう。未来の状態は自分の心の状態だけで区別され、心の状態が同じである二つの未来には、どちらにも違いを感じないだろう。
そして実際、他人を救うため自分の命を犠牲にすることは、かなりありそうにないだろう。
人はときに本当に命を犠牲にすると私たちが異議を唱えると、哲学者の返答は、行動に対する期待効用の議論へ移る。「その重要性の感情を、彼女はその決定に結びつけた」。これは、憤慨して椅子から飛び上がるべきほどの大飛躍である。Expected_UtilityをUtilityへ変換しようとすれば、私たちのプログラミング言語では即座にエラーとなる。だが英語では、すべて同じように聞こえる。
私たちの単純な意思決定体系が選ぶのは、最も高いExpected_Utilityを持つものだが、これは未来をどこへ導くかについて一切何も述べない。意思決定者が割り当てる効用についても、その結果として現実世界のどの結果が起こりそうかについても、何も述べない。エンジンとしての心の機能について、何も述べない。
物理的行動の物理的原因は認知状態であり、理想的意思決定者においてはExpected_Utilityである。この期待効用は、想像した帰結に対して効用関数を評価することで計算される。息子の命を救うには、息子の命が救われる出来事を想像しなければならないが、この想像は出来事それ自体ではない。それは「雪」と雪の違いのような引用である。だが、それは引用符の内側にあるものそれ自体が認知状態でなければならないという意味ではない。「息子がまだ生きている」と表現する未来へ至る行動を選ぶなら、あなたは息子がまだ生きている領域へ未来を導くエンジンとして機能したのである。自分が「息子はまだ生きている」という文を表現する領域へ、未来を導くエンジンではない。未来をそこへ導くには、引用の引用、自分が想像していることについての想像である「『息子はまだ生きている』」を入力されたとき、効用関数が高い効用を返さなければならない。レシピをすり潰し、生地へ投げ込んでも、出来のよいケーキにはならない。
だから、最初に単純な意思決定体系を考えるのが役立つ。十分多くの複雑さを体系へ混ぜ込むと、それまで明確だった区別が見えにくくなる。
では、いくつか複雑さを見てみよう。明らかにUtility関数(OutcomesをUtilitiesへ写すもの)は、先ほど「終端価値」、すなわち帰結に左右されない価値と呼んだものを形式化するためのものだ。妹の命を救うと、ブラックホールが地球を破壊する場合はどうなるのか? 私たちの形式体系では、この可能性を平坦化している。OutcomesがOutcomesへつながるのではなく、行動だけが結果へつながる。妹が肺炎から回復し、その後に地球がブラックホールに食べ尽くされることは、一つの「可能な結果」へ平坦化される。
では、この単純な形式体系のどこに「道具的価値」があるのか? 実のところ、完全に消えてしまった! この形式体系では、途中の出来事を介さず、行動が結果へ直接つながる。空中を飛ぶ石を投げ、その石が枝からリンゴを叩き落とし、リンゴが地面に落ちるという概念はない。石を投げることがActionであり、それは、あるActionをOutcomes上のProbability分布へ直接変える条件付き確率関数に従って、リンゴが地面に落ちているというOutcomeへまっすぐつながる。
条件付き確率関数を実際に計算するため、そして妹の肺炎と、ブラックホールが地球をのみ込むことの効用を別々に考えるためには、因果関係のネットワーク構造――出来事がほかの出来事へつながる仕方――を表現しなければならない。
そうすれば、道具的価値が戻り始める。因果ネットワークが十分に規則的なら、状態BがCへつながる傾向を持ち、どうやってBを実現したかに左右されないことを見いだせる。すると何らかの理由でCを実現したい場合、まずBを割り出し、それがCへつながるようにし、それからBへつながるAを割り出すことで、効率的に計画できる。これが「道具的価値」という現象である――BはCへつながるため、「道具的価値」を持つ。状態C自体は、終端的に価値づけられているかもしれない――結果全体に対する効用関数の一項である。あるいはCも単なる道具的価値、効用関数によって直接価値づけられないノードかもしれない。
この形式体系において、道具的価値は、計画を効率的に計算する助けにすぎない。この種の規則性が存在しないところでは、捨てることができ、そうすべきである。
たとえば、Bの特定の値があり、それがCへつながらないとしよう。そのBへつながるAを選ぶだろうか? 抽象哲学の話はやめよう。チョコレートを買いにスーパーへ行きたくて、スーパーへ車で行きたくて、車に乗る必要があるとき、パワーショベルで車のドアを引き剝がして乗り込むだろうか?(しない。)プログラマーが言うように、道具的価値は「漏れのある抽象化」である。キャッシュされた値を捨て、実際の期待効用を計算し直さなければならないことがある。効率的でありながら自殺的でないことの一部は、便利な近道が破綻する時点に気づくことである。この形式体系は道具的価値を生み出すが、それは必要な規則性が存在するところだけであり、厳密に言えば計算上便利な近道としてである。
だが単純な版を理解する前に形式体系を複雑にすると、道具的価値が規範的な意味でさえ、何か奇妙な生命を持っていると思い始めるかもしれない。ひとたびBは普通はよい、それがCへつながるからだと言えば、常にBを目指すと誓約したことになり、たとえCがなくてもそうしなければならない、というように。人々は抽象哲学でこの種の過ちを犯すが、現実生活ではパワーショベルで車のドアをこじ開けたりしない。包括適応度だけを最大化する帰結主義者は開発できないと思い始めるかもしれない。「食べ物を食べる」という明示的な終端価値を含めなければ餓死するからだ。人々は、車のドアを開ける終端価値がなければ車の外へ締め出されることを恐れて、一日中立ち尽くして車のドアを開けたりは決してしないのに、この過ちを犯す。
道具的価値は、条件付き確率関数(のネットワーク構造)の中に存在する。そのため、固定された効用関数のもとで、道具的価値は事実についての信念に厳密に依存する。ペニシリンが肺炎を引き起こし、ペニシリンがないと肺炎が治ると信じるなら、私が知覚するペニシリンの道具的価値は高から低へ変わる。事実についての信念――行動を信じられた帰結へ結びつける条件付き確率関数――を変えれば、道具的価値も一斉に変わる。
道徳的議論では、一部の不一致は道具的な帰結についてであり、一部の不一致は終端価値についてである。論敵が、銃を禁止すれば犯罪が減ると言い、あなたが銃を禁止すれば犯罪が増えると言うなら、上位の道具的価値(犯罪は悪い)については同意しているが、どの中間的出来事がどの帰結へつながるかについては意見を異にする。しかし、女性器切除についての議論が、女性を公正に扱う、または幸福にするという共有価値を最善に実現する方法についての、実際には事実上の議論だとは思わない。
怒りに満ちた論争では、この重要な区別がしばしば便所へ流される。事実について意見を異にし、価値を共有する人々が、それぞれ論敵は反社会的人間に違いないと決める。憎むべき敵、銃規制/銃所持権の支持者が、本当は人を殺したがっているかのように。これは現実的な心理としてもっともらしくないはずである。
人間の脳は、終端的な道徳的信念と道具的な道徳的信念の区別を、強く型づけてはいないのではないか。「銃を禁止すべきだ」と「命を救うべきだ」は、視覚と聴覚の感じが異なるようには、道徳的信念として違って感じられない。人間の目標体系は、ほかのあらゆる方法で目に入るものを何でも複雑にするにもかかわらず、この一つの区別を、条件つき価値を持つもののごた混ぜへ潰すことには成功している。
終端価値を取り出すため、価値あるもののごた混ぜを調べ、どれがどこか別の場所から価値を得ているかを突き止めなければならない。難しい事業である! 犯罪を減らすため銃を禁止したいと言うなら、「犯罪を減らすこと」が終端価値ではなく、人命と人間の幸福という終端価値につながる、上位の道具的価値だと気づくまで少し時間がかかるかもしれない。そして銃所持権の支持者は、上位の道具的価値「犯罪を減らすこと」へのつながりに加え、「自由」という価値へのつながりを持つかもしれない。それはその人にとってそれ自体が終端価値かもしれず、あるいは別の道具的価値かもしれない……。
ほかの価値から派生した価値の完全なネットワークを印刷することはできない。おそらく、価値がどうしてそこへ至ったかという歴史全体を保存してさえいない。適切な道徳的ジレンマ――「Xをするのは、Yの場合でもか」――を考えることで、自分の価値がどこから来たかを突き止められる場合は多い。だが、この事業自体も、誤解を招くジレンマや、隙間だらけの哲学的論証など、落とし穴に満ちている。私たちは自分自身の価値が何かも、どこから来たかも知らず、誤りやすい認知考古学の事業に乗り出す以外に、知る方法はない。「終端価値」と「道具的価値」の意識的な区別を形づくり、その意味を把握し、正しく使うだけでも大仕事である。単純な形式体系を調べて初めて、原理上はそれがどれほど容易であるべきかを理解できる。
しかも、人間の報酬体系が持つ、ほかのあらゆる複雑さについては何も述べていない――強化構造の利用全体、チョコレートを食べることが快く、チョコレートを食べると予期することも快いが、それぞれ異なる種類の快であること……。
だが、この混乱にそれほど文句は言わない。
自分の価値を知らないことは、いつも楽しいとは限らないが、少なくとも退屈ではない。