人工知能がスーパーマリオをクリア
人工知能を使って、スーパーマリオをクリアする動画が公開されています。
NEATと呼ばれる遺伝アルゴリズムを使っているのですが、1000行足らずのコードでキレイに実装されており、とても感心しました。
「人工知能」という言葉が招く誤解
最近、人工知能に高い関心が寄せられ、ニュースのトピックによく上がるようになってきました。(車の自動運転や、音声認識で会話するSiriなど)
ただ、「人工知能」という言葉は誤解を招きやすいと思います。その言葉の響きは、「いずれ人間の仕事がなくなる」「自分の意思で動く」など、とかく妄想を掻き立ててくれるのですが、実際にやっていることは「統計を取って、尤もらしい方を選ぶだけ」です。
例えば、MarI/Oはこんな感じで動いています。
目指すゴール
クリアするまで右に進み続ける。コインやアイテムを集めることはしない。
戦略
1. 右矢印は、ずっと押し続ける。他のボタンは「ランダムに」押したり押さなかったりする。これを、数千回繰り返しプレイする。(当然、こんな雑なやり方では、数千回程度繰り返したところでクリアできない)
2. 各プレイを見てみると、ゴールにより近づけたプレイとそうでないプレイがある。ゴールにより近づけたプレイに共通する操作(何秒後にどのボタンを押すか?)を見つける。
3. もう一度1からやり直し。ただし、他のボタンはただ「ランダムに」押すのではなく、見つけた特徴をまねして操作する。過去のどのプレイよりもゴールに近づき、まねるべき特徴がなくなったら、再び「ランダムに」押したり押さなかったりする。
これをひたすら鬼のように繰り返していると、いつかゴールに着く気がしますよね。
右へ倣え!前例を探せ!それがなかったら・・・ダメモトでやってみるしかない!
なんか、人工知能ってすごい保守的で残念な社員みたいです。(笑)
ですが、この残念な社員には素晴らしいポイントが2つあります。
・徹底的に前例を探してくれる
・タダ同然で働いてくれる
どちらも、人工知能に限った話ではなくコンピューター処理全般に当てはまります。人の限界を超えるビッグデータを、極めて正確かつ高速に捌けるコンピューターだから実現できるのです。
人工知能は、人間の仕事を駆逐する?
「人間が今やっている仕事は、いずれ人工知能に置き換わる」という風説がありますが、実際にそうなると私も思っています。
付け加えるなら、それは、何も人工知能に限った話ではないということです。コンピューターの応用分野が広がると共に、人間の仕事がなくなる状況は昔からある事です。セルフ方式のガソリンスタンドやネットバンキングなどがいい例です。
さらに言うと、「全ての」仕事が人工知能に置き換われるとも思っていません。
保守的で残念な社員だけで構成された会社は、時代の流れについていけないからです。しかし、この会社に優秀な社員(=生身の人間)が1人加わり、残念な社員達(=人工知能)を上手にコントロールできれば、優秀な社員1人分よりもずっと良い仕事が期待できます。
人工知能を研究中の私は、人工知能をこんな風に捉えています。