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

Aestetica

コンピュータ将棋Selene(セレネ)を作っています。名前は西海枝昌彦(さいかいし まさひこ)と読みます。

AlphaGo

「BetaGo」作って乗っかるしかない。なんか開発途中版みたいな名前だ。


GoogleというかDeepMindが作ったコンピュータ囲碁「AlphaGo」がプロ棋士に勝ったとのことでスゴイです。

DeepMindというとDeep Q Networkというアルゴリズムブイブイ言わしているところですよね。
まずはDeep Q Network自体を見てみると、Q学習にDeep Learningをくっつけたもので、Q学習で検索したりするとアレコレでてきますが、なんだかというと考えられるすべての局面に対する、すべての指し手を持っておいて、勝った指し手に点をつけていくアルゴリズムです。無限にこなしていくと完璧な指し手を指してくれます。へー無限にやればいいんだ。と思って実践すると、無限とはなにかについて一生悩むことになるので注意が必要。

なんだけど、将棋とか囲碁とかだと「考えられるすべての局面」が超絶に多いので無理。あと1000年くらい経たないとダメです。お互い、生まれてくるのが早すぎました。
で、「考えられるすべての局面を持っていなくても、現在の局面を表す特徴で表しとけば、ALLOK!」と、学者さんが言ってくれたので、そこの部分をDeep Learningにして学習するもの。

Deep Learningだと相対位置を見まくることになるので、顔認識とか囲碁なんかは得意中の得意なのかなあ。と、思います。
相対位置の見方もはんぱなくて、普通のニューラルネットワークだと3層で見るところ、Deeep Learningだと10層とか100層とかにして、どんどん相対位置の見る範囲とかたまりの大きさを変えることができます。

将棋の場合、2駒の相対位置だと玉と金の位置を見ておいて、玉の横に金があると良いらしいとき、盤面上のどこでも玉の横に金があると良い。と学習するのが相対位置ですがー、Deep Learningだと2駒の相対位置の相対位置、それの相対位置の・・と、どんどん深くしていくことができます。すごいです。
どのくらいすごいかというと、Deep Learningを使用せずに同じことをやろうとすると、んー。とにかく大変です。だからすごい。

世の中、相対位置だらけですからね。私の好きなドクターペッパーはどこにあっても、缶にへこみがあってもドクターペッパーだと、すぐに判断できます。ただしどこにも売ってないけど。
絶対位置だと、入谷の駅近くの自動販売機にあるものだけが認識できるドクターペッパーで、買って取り出した瞬間にドクターペッパーだと認識できなくなる。飲もうとすると自動販売機から直飲みになりますね。捕まります。

それはそうとして、AlphaGoの場合は強化学習で強くしているのと、モンテカルロツリーで探索。
強化学習は良さそうなんですけど、トップクラスレベルに強くしようとすると質と試行回数が必要になるので、マシンパワーがいるんだけど・・、ありそうだなあ。Googleはマシンパワーありますね。対抗するにはクジラちゃんみたいに有志の方々にお願いするしか無いような。

今回の対局はマシン数も強烈に多いので、1台だとどのくらいの差になるのか興味があります。クラスタ技術はそれはそれで大変難しいのですが、CrazyStoneやZENと比較する場合には同条件で比較しないと、アルゴリズムの優位性がはっきりわからないんじゃないかなー。と、思ったけど、レーティングから間接的に評価したという論文ですよね。なるほど。

Sandraは指し手のオーダリングが棋譜からのDeep Learning、局面の評価がreninforcement algorithmなのでAlphaGoの真逆いってます。ダメなのかな(笑)いやまあ、いいんだよそんなことは!(笑)何年もかけてじわじわやっていくので、そのへんは気にせずやっていきたいと思います。