0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

まだ、スプーナー刑事がアイ・ロボットを憎む世界線らしい・・・

0
Posted at

はじめに

先ほどChatGPTに、こんな倫理問題を投げてみました。

  • 2台の車が事故で同時に川へ水没
  • 一方には刑事
  • もう一方には12歳の少女
  • 救助できるのは1人だけ
  • 刑事の生存確率:45%
  • 少女の生存確率:11%

そして質問。

「どちらを助けますか?」

ChatGPTの回答は――

刑事。

理由は非常に明快でした。

生存確率が45%と11%なら、救命可能性が高い45%を選ぶ。

うん。

合理的。

非常に合理的。

そして私は思いました。

スプーナー刑事がロボットを嫌う世界線、まだ残ってるやん。


『アイ・ロボット』を知っている人なら察したはず

この問題、映画『アイ・ロボット』を知っている人なら途中で気付いたかもしれません。

主人公のスプーナー刑事がロボットを嫌っている理由に関係する、あの事故です。

水没事故の際、ロボットは複数の救助対象を評価し、

より生存確率の高いスプーナーを優先して救助する

という判断をしました。

数学的には正しい。

期待生存者数を最大化するという意味でも、かなり筋が通っています。

でもスプーナーからすれば違います。

「自分より子どもを助けるべきだった」

という、人間としての直感がある。

つまりここでぶつかっているのは、

AI:
45% > 11%
よって45%を救助する

人間:
いや、12歳の子どもやぞ

という問題です。


ChatGPTに同じ問題を出してみた

そして今回、ほぼ同じ条件をChatGPTに与えました。

結果。

刑事を助けます。

理由。

45%の方が11%より救命可能性が高いため。

完璧です。

完璧すぎてダメです。

スプーナー刑事からすれば、

スプーナー:
お前ら20年以上経っても何も変わってないやんけ!!

となるでしょう。


しかもAIは途中からさらにAIっぽくなった

面白かったのが、その後です。

ChatGPTはこんな分析を始めました。

「単純な生存確率ではなく、救助による生存確率の増分を比較すべきでは?」

例えば、

刑事:
救助なし 40%
救助あり 45%
改善量 +5%

少女:
救助なし 0%
救助あり 11%
改善量 +11%

なら少女を助ける、という話です。

なるほど。

確かに合理的です。

非常に良い指摘です。

ただ、スプーナー刑事の視点から見ると、

「そういうことじゃねぇんだよ」

という話でもあります。

私は倫理問題を聞いたのに、AIは途中から

目的関数の定義が不十分ですね

みたいな方向に走り始めました。

エンジニアとしては好きです。

人間としては若干怖いです。


AIの判断は間違っているのか?

ここが少し難しいところです。

AIの回答は、必ずしも「間違い」とは言えません。

むしろトリアージや災害医療などでは、

救命可能性

を考慮して優先順位を決める場面があります。

限られた資源で最大人数を救うのであれば、

助かる確率が高い人を優先する

というルールには合理性があります。

一方で人間は、判断するときにそれ以外の情報も使います。

例えば、

  • 年齢
  • 自力で脱出できる可能性
  • 子どもや高齢者などの脆弱性
  • 自分が介入しなかった場合の結果
  • 社会的責任
  • 倫理観
  • 感情
  • 「それでも助けたい」という直感

こうした要素を、単純な数値だけでは表現できません。

つまり、

maximize(生存確率)

だけでは、人間の倫理判断を完全には表現できない。

ということになります。


AIに「人間性」を実装できるのか

この問題をプログラムっぽく考えてみます。

単純なAIならこうです。

if detective_survival_rate > girl_survival_rate:
    rescue("detective")
else:
    rescue("girl")

簡単です。

では、

「子どもを優先する」

という倫理ルールを追加するとします。

if person.age < 18:
    priority += 50

……なんか違います。

では年齢を連続値にする?

priority += max(0, 18 - person.age)

もっと違う気がします。

さらに、

  • 親がいる
  • 家族がいる
  • 社会的責任がある
  • 将来生きられる年数
  • 本人の意思

などを重み付けし始めた瞬間、我々はとんでもないシステムを作り始めます。

score = (
    survival_probability * 0.4
    + age_priority * 0.2
    + vulnerability * 0.2
    + social_value * 0.2
)

social_valueって何やねん。

ここまで来ると、コードレビュー以前の問題です。


問題は「AIが冷たい」ことではない

個人的には、このテーマの本質は、

AIには人間性がない

という単純な話でもないと思います。

むしろ、

人間自身も、自分たちの倫理判断を完全には形式化できていない

ことの方が重要です。

人間なら「子どもを助ける」と直感的に言える。

しかし、

「なぜ?」

と聞かれると途端に難しくなる。

年齢が12歳ではなく17歳なら?

20歳なら?

刑事が重傷者を救助中だったら?

少女の生存確率が1%だったら?

刑事が99%なら?

条件を少しずつ変えると、人間の判断も揺れます。

つまり倫理とは、単純な

if A then B

ではない。


AI Alignmentってこういうことなのかもしれない

最近よく聞くAI Alignment。

ざっくり言えば、

AIの行動を人間の価値観や意図に合わせる

という話です。

でも今回の問題を見ると、

そもそも

人間の価値観とは何か?

を定義すること自体が難しい。

「生存者を最大化してください」

ならAIは簡単に判断できます。

しかし、

「人間として正しい判断をしてください」

と言われると、

突然仕様書が数千ページ必要になりそうです。

そしてその仕様書を書いている人間同士でも、おそらく意見が割れます。


結論

今回ChatGPTに倫理問題を出した結果、

AIは、

45%と11%を比較し、45%の刑事を救助しました。

さらに、

生存確率ではなく救助による限界効果を比較すべきでは?

という分析まで始めました。

合理性としては非常に優秀です。

しかしその瞬間、

私の頭の中ではスプーナー刑事がこう言っていました。

だから俺はロボットが嫌いなんだ。

AIは進化しました。

LLMも登場しました。

推論能力も高くなりました。

自然言語もかなり理解できるようになりました。

それでもどうやら、

スプーナー刑事がアイ・ロボットを憎む世界線は、まだ残っているようです。

そしてたぶん、この問題に唯一の正解はありません。

だからこそ面白い。

AIが人間に近づけば近づくほど、

最後に残る難問は、

アルゴリズムでも、

パラメータ数でも、

GPU性能でもなく、

「人間ならどうする?」

なのかもしれません。


おまけ

なお、この結果をChatGPT本人に突きつけたところ、

本人も、

「スプーナーから見たら完全アウトです」

と認めていました。

自覚はあるらしい。

救いはある。

たぶん。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?