Yudkowsky Sequences 日本語訳
非公式日本語訳 — 原著者・発行元による公式の翻訳ではありません

Eliezer Yudkowsky — 非公式日本語訳

機械の中の幽霊

Ghosts in the Machine

人々は友好的AI(Friendly AI)について聞くと、こう言う――これは最初に出る反応の上位三つの一つである。

「ああ、AIに友好的であれと教えようとはできるだろう。だがAIが自分のソースコードを変更できるなら、こちらが設けようとする制約など、ただ取り除いてしまう」

では、その決定は一体どこから来るのか?

最初に書かれたソースコードから始まる、法則に従った因果の連鎖の結果ではなく、因果律の外から入り込むのか? AIは自分自身の自由意志の究極の源なのか?

友好的AIとは、AIの自然な衝動を上書きし、何をすべきか告げる特別な良心モジュールに制約された、利己的AIではない。良心を作れば、それこそがAIである。AIがどの決定を下すべきか計算するプログラムがあれば、それで完成である。責任の行き着く先は、すぐそこである。

ここで少し時間を取り、Computer StupiditiesサイトのProgrammingという下位トピックから、いくつかの事例研究を引用しよう。(恐ろしい時間泥棒なので、リンクは張らない。勇気があるならGoogleで検索してほしい。)

私は、コンピュータプログラミングの授業を受けている大学生の個別指導をしていた。そのうち何人かは、コンピュータには知覚がないことを理解していなかった。一人ならず、Pascalプログラムのコメントを使って、「次はこの文字を画面に表示してほしい」といった詳しい説明を記していた。その一人に、コメントは一体どういうつもりなのかと尋ねた。答えはこうだった。「そうしなければ、自分に何をしてほしいか、コンピュータがどうして理解できるんですか?」どうやら、自分にPascalが理解できないのだから、コンピュータにも理解できないと思い込んだらしい。


大学生のころ、私は学校の数学実習室で個別指導をしていた。ある学生が、BASICプログラムが動かないため、やってきた。彼は初級講座を受けており、課題は、何人分焼くかに応じてオートミールクッキーのレシピを計算するプログラムを書くことだった。そのプログラムを見ると、だいたい次のようになっていた。

10 Preheat oven to 350

20 Combine all ingredients in a large mixing bowl

30 Mix until smooth


プログラミング入門の学生から、自分のプログラムを見て、単純な計算の結果がいつもゼロになる理由を突き止めてほしいと頼まれたことがある。プログラムを見ると、理由は実に明白だった。

begin

read("Number of Apples", apples)

read("Number of Carrots", carrots)

read("Price for 1 Apple", a_price)

read("Price for 1 Carrot", c_price)

write("Total for Apples", a_total)

write("Total for Carrots", c_total)

write("Total", total)

total = a_total + c_total

a_total = apples * a_price

c_total = carrots * c_price

end

私:「うん、計算する前にプログラムが正しい結果を表示することはできないよ」

彼:「えっ? 正しい解が何かは論理的に決まっているし、コンピュータが命令を正しい順番に並べ替えるべきでしょう」

「AIをプログラムする」という筋書きを、直感的に想像する方法がある。これは、似ているように見える人間の営みに対応づけられる。人間に何をすべきか教えることだ。まるで「プログラム」が、機械の内側に座る小さな幽霊に命令を与え、その幽霊が命令を見渡し、気に入るかどうかを決めるかのように。

命令を見渡し、どう従うかを決める幽霊はいない。プログラムこそがAIである。

だからといって、精霊のように、幽霊があなたの願うことを何でもしてくれるわけではない。非常に従順な奴隷のように、あなたが望むことをすべて、望むやり方でしてくれるという意味でもない。あなたの命令が、少なくとも起動時には、そこにある唯一の幽霊そのものだという意味である。

AIが、人々が直感的に想像したよりはるかに難しいのは、幽霊に何をすべきか単に教えることができないからにほかならない。幽霊を一から作らなければならず、あなたに明白に見えるあらゆることも、幽霊に見せる方法を知らなければ、幽霊には見えない。見るよう幽霊へ単に教えることはできない。見るものを一から作らなければならない。

たとえば「意思決定」のような、奇妙で言葉にできない要素を持つように見えるものの作り方がわからなくても、肩をすくめ、幽霊の自由意志に仕事をさせるわけにはいかない。わびしく、幽霊もないまま取り残される。

チェスプログラムを作るには、本当に高速なプロセッサを作り――そうすればAIは本当に賢くなる――コマンドプロンプトへ「あなたが最善だと思うチェスの手を何でも指せ」と入力する以上のものが必要である。プログラマー自身はチェスがあまり上手でないので、電子超脳へ与えようとするどんな助言も、幽霊の足を引っ張るだけだと思うかもしれない。だが幽霊はいない。問題がおわかりだろう。

そして、ぽん! と機械の中へ完全な幽霊を召喚できる、簡単な呪文もない。「幽霊を召喚すると現れた。これこそ因果関係だ」と言うことはできない。(「召喚」の代わりに「創発」や「複雑性」という概念を使っても、うまくいかない。)CPUに「優れたチェス選手になれ!」と命令することはできない。チェスを指す思考の謎を内側まで見通し、幽霊全体を一から構築しなければならない。

何かが、あなたにとってどれほど常識的でも、どれほど論理的でも、どれほど「明白」「正しい」「自明」「知的」に見えても、幽霊の内側では起こらない。ただし、それが、あなた自身が決めなければならなかった命令と、最初の命令へ組み込んだ感覚データへの因果的依存関係から始まる、因果の連鎖の末端で起こる場合は別である。

これは、すべての決定を明示的にプログラムするという意味ではない。Deep Blueは、プログラマーよりはるかに優れたチェス選手だった。Deep Blueは、製作者が明示的にプログラムできたどんな手よりも優れたチェスの手を指した――だがそれは、プログラマーが肩をすくめ、幽霊に任せたからではない。Deep Blueがプログラマーより優れた手を指したのは……プログラマーのコードから始まり、そこから法則どおりに進んだ因果の連鎖の末端においてである。コードとその法則に従う帰結が関与せず、Deep Blueの幽霊じみた自由意志が引き継ぐほど明白に優れた手だっただけで、起きたことは何もない。

AIを制約することから手を引こうとしても、解放された奴隷のように自由な幽霊が残るのではない。誰もシリコンへ精製せず、CPUの形にせず、考えるようプログラムしなかった、砂の山が残る。

さあ、コンピュータチップに「好きなことを何でもしろ!」と教えてみるとよい。何が起こるかわかるか? 何も起こらない。自由を理解するよう制約していないからである。

あなたの心がその上をただ飛び越してしまうほど明白で、論理的で、自明な段階が一つあるだけで、AIプログラマーの道から外れている。心がそうしないようにするには、Grasping Slippery Thingsで私が示したような努力が必要である。