前回の、「58歳の文系エンジニアがCourseraのMachine Learningを苦労して完走した話」という記事が、思いのほか多くの方々に読んでいただけたことに驚いています。たくさんの「いいね」をありがとうございました。イマニミテイロとイイネに勇気づけられました。
僕には機械学習の勉強を始める前からひとつ気になっていたことがあります。それは、未来のAIは「ロボット三原則」がデプロイされた「良心回路」を持つのだろうかという疑問です。人間の脳を超えるAIが登場すると言われるシンギュラリティ。その時代がやってくるのなら、そのAIは良心というモデルをもち、それに照らし合わせてPredictするのでしょうか?
ロボット三原則と良心回路
小学生の頃からSF大好きで、日本人作家だけではなく外国人作家の翻訳物も片っ端から読みました。ロボット三原則はアイザック・アシモフの「われはロボット」という小説の中で発表されたルールで、ロボットと人間はこの三原則のジレンマに悩みながら徐々に関係を築いていきます。以下Wikipediaから引用しますね。
第一条 ロボットは人間に危害を加えてはならない。また、その危険を看過することによって、人間に危害を及ぼしてはならない。
第二条 ロボットは人間にあたえられた命令に服従しなければならない。ただし、あたえられた命令が、第一条に反する場合は、この限りでない。
第三条 ロボットは、前掲第一条および第二条に反するおそれのないかぎり、自己をまもらなければならない。― 2058年の「ロボット工学ハンドブック」第56版
、『われはロボット』より
良心回路は、石森章太原作の漫画およびテレビ番組「人造人間キカイダー」というロボットに搭載されていた、ロボット三原則がデプロイされた良心モデルを持つ善悪の二値分類器です。ただし、不完全というか脆弱性があったのでよくダークサイドにおちていました。
悪者側にはハカイダーというのがいて、命令に絶対服従を是とする「服従回路」というのものがインストールされており、キカイダーにもこの回路がインストールされてしまったため、良心回路と服従回路の両方が司る善と悪の狭間で揺れ動く人間らしい心を持つことになります。
では、このロボット三原則をどうすれば良心モデルとして作ることができるのでしょうか。どんなフィーチャーのトレーニングセットを用意するのか。その学習方法は、教師「あり」なのか「なし」なのか。アルゴリズムはニューラルネットワークなのか僕の知らない他の何かなのか。推測の結果をどうすれば定量的に評価できるのか。
日常にある一例
汎化されたお題を考えるのが難しい時は、スコープを限定して特化したお題にするのが一番だとおじいちゃんに教わりました。ですからこの問題を、例えば自動運転という技術の1シーンで考えてみましょう。
制限速度で2車線のそれなりに交通量のある幹線道路を直進している時、突然目の前をスズメが横切りぶつかると予測できたとしましょう。この時、自動運転車が取りうる制御としては以下の4つくらいが考えられます。
1)急減速して衝突を回避
2)急な進路変更で衝突を回避
3)上記のコンビネーションで衝突を回避
4)そのままの速度と進路を維持して衝突
さて、このシチュエーションで自動運転車はどういう行動を取るべきなのでしょうか?
僕は、4)のそのまま衝突を選んでほしいと思います。理由は周囲を走っている車両と乗員及び自分自身に損害を与える可能性が一番少ないと考えるからです。急ブレーキで追突される、急ハンドルで隣の車に接触、あるいは歩道に乗り上げなど、回避行動が事故につながる可能性が高くなります。
では、カラスが正面からフロントガラスに突っ込んで来た場合どうでしょう?カラスの大きさと質量だとくちばしでガラスを破壊して乗員に損害を与える可能性もあります。
あるいは人間が横切ったのだったらどうでしょう。急ブレーキも急ハンドルも全て動員して回避することにみなさん同意いただけると思います。生身の人間よりボディとエアバッグに守られた自分や他車の乗員の方が安全であると考えられるからです。
実際、このような時、自動運転車はどのような選択をし、誰を守り誰を犠牲にするのでしょうか?歩行者?自車の乗員?他車の乗員?
もし周りにいるのが車ではなく簡単に転けるバイクだったら。もし後ろにいるのが慣性質量が大きく頑丈なトラックだったら。もし、回避行動に驚いた隣の車が対向車線にはみ出してしまったら。ハーバード白熱教室並みに厳しいシチュエーションですが、自動運転車はどう行動すべきなのでしょうか。
ロボット三原則は、未来のシンギュラリティではなく、すぐそこにある自動運転車にすでに必要とされているのではありませんか?人間に危害を加えず、危険を看過することで危害を加えない。人間に危害が加わらない限り命令に従う。人間に危害が加わらず命令に反しない限り自車を守る。
機械学習モデルの品質
製造業が、レジやATMなどのB2Bハードウェア製品に機械学習のモデルを組み込む場合、クラウド利用のサービス産業とは異なる品質基準とライフサイクル管理が必要になります。組込製品にDevOpsは適用できません。運用環境下でABテスト?無理で〜す。
もちろん開発ステージでは、我々製造業のソフトエンジニアもアジャイルだったりCI/CDだったりのアプローチは取っています。しかし何万箇所もの異なるベニューに納品された製品に、一気にデプロイとかABテスト切り替えとかは実運用上できないのです。
我々製造業の作る製品は、稼働中に扉を開けるとベルトなどに指を挟まれないよう可動部の電源をカットし、誤動作が物理的に発生しない状況にします。それが、購買者がハードウェア製品に求める安全性であり品質なのです。同じことは機械学習モデルにも言えます。
もしそれが、自動運転などのように人命に関わる部分に使われるのならば、必要とされる品質基準はとても厳しく、何段ものフェイルセーフ機構が要求され、様々なシチュエーションを想定したテストが実施されます。そのような品質基準が設定された製品に運用環境下で頻繁なデプロイを行ったりABテストを実施することは品質基準上もできないのです。
機械学習モデルを、製品に適用する際の品質保証については、先日コンソーシアムが立ち上がり活動を開始しました。こういった活動が、製造業における機械学習モデルの製品への組み込みをためらう壁の除去に結びつくことを期待します。その時にロボット三原則と良心回路も議論してほしいな。
最後に
もし未来のAIが、とてつもない量のデータと桁違いのコンピューティング・パワーを元に暴力的なパワーで推論を重ねて、シンギュラリティに到達し「AIの勘」としか表現しようがない人知の及ばない領域でPredictするのなら、その頃のAIにはきっとロボット三原則や良心回路を自分で発見しPrincipleとして組み込む程度の知性があると思いたいですね。
シンギュラリティは2045年。1959年生まれの僕は86歳になっています。自分の意思で進路と速度を維持し、目の前を横切った小鳥を2度も死なせた罪を背負った僕は、最後の晩餐を終えているでしょうか。
もし、スナック曙橋で、JUJUの東京を生カラで聴きながら、ゆり子さんの注いだ泡だらけのビールを片手に焼きちくわ。天海ねえさんと、渋谷で5時あたりをデュエットできたら、最高の最後の晩餐だと思いませんか?