読者です 読者をやめる 読者になる 読者になる

PGは電子羊の夢を見るのか?

データとパターンのあいだ

AlphaGoとかそれ関連のニュースに関して思うことなど

AlphaGoがプロの囲碁棋士に勝った。 将棋ではすでに人工知能が勝利を収めている。

相変わらず「人工知能」は熱い話題のようで。 ただ、はてブとかQiitaを見ていたら、去年ほど投稿数は伸びていない印象を受ける。 去年はChainerの公開があったりして、特に深層学習系の記事が沢山上がってきていた。

AlphaGoに関しては2016年3月20日のフジテレビ「ワイドナショー」でも取り上げられ、その中での竹俣紅(女流棋士)さんと厚切りジェイソンさんのコメントが印象的だった。 竹俣さんは今回のAlphaGoとプロ囲碁棋士との対戦の結果を受けて「疲れや動揺のない機械に対して、初戦から連敗するという精神的なショックや連日の対戦での疲れという中で4戦目に棋士が勝ったことはとても感動した」とコメントしていて、厚切りジェイソンさんはAlphaGoに対して「やってることは確率の計算、決まったルールの中で有限な手を取り合うゲームであればリソースをかければすべて計算できる」とコメントした。

全くその通りだろう。 確かに今回の結果は「人間の作った囲碁というゲームにおいて、プログラムが人間よりも強くなれる」ということを示した。 ただ、それ自体は将棋やチェスで人工知能が結果を収めた時点でわかっていたことで、ルールの設定を変えて調整を行いこれまでの対局データを学習させれば同種のゲームで同じような結果になる。 コンディションというハンデがある以上、疲れも知らず精神的にブレることのない機械に今後人間が勝利をおさめるのは難しくなってくるだろう。

こういったプログラムがやっていることは「過去の対戦結果を解析し、それを元に今の局面から勝利にたどり着くにはどれを選択すればよいか?」であり、要はデータ解析と確率論。 囲碁や将棋のゲームにおいては、その場面その場面での最善の一手を打ち続けるようになっている。(ゲームの展開に合わせて、どれぐらい深読みするかの調整はあるが。)

というわけなので、プログラマ的な観点から大事なことは「人工知能すごい!」ということではなく、統計やデータ解析やアルゴリズムを組み合わせて「過去の傾向を知り、未来を予測し、その時点での最善の一手を判断する」事ができる実装が書けるかどうか、ということ。