THE長文日記

長文とか短文とかのクレームは一切受け付けません

先入観を捨てて非決定論的ゲームをAlphaZeroに学習させてみる

https://i.gyazo.com/6a635a55997919ae8a5d474b61982e32.png


 先入観は敵である。

 ことAIに関していえばそれは真実だと思う。


 でもAIの専門家であればあるほど先入観に囚われる。

 まるで光速に近づけば近づくほど、必要なエネルギーが増大するように。

 知っていれば知っているほど、「はじめの一歩」に躊躇する。


 なにが大事かといえば、直感だと思う。

 

 「AlphaZeroってポーカー強くなるのかな」


 「ポーカーや麻雀は将棋やチェスとは違うんじゃないですか」


 「どのへんが?」


 「盤面に全部の情報があるわけじゃないし、決定論的(deterministic)ゲームではないですよね」



 確かに、AlphaZeroはそのままでは確率論的ゲーム、非決定論的ゲーム(ちなみに確率的決定論という言葉があるけれどもここでは決定論的ゲームをチェス、将棋、囲碁、オセロなど盤面に全ての情報がありランダムな動作をしないものと定義する)を扱えるようになっていなかった。でも、ポーカーや麻雀でどのカードを捨てるか、どの牌を切るかという判断は直感で決める。


 AlphaZeroはゲームにおける直感力を身につけるアルゴリズムなのだから、直感力で強さが決まるポーカーや麻雀を学習できない道理がない。


 そこで確率的事象を導入しても、場面場面で最適な手を学習すれば、たとえばある時の判断は正解で、また別のときの判断は間違っていたとしても、学習過程において確率的にバランスするのではないかとかんがえて、AlphaZeroを確率的事象を扱えるような改造を加えた。


 そして結論から言えばポーカーもブラックジャックも学習できてしまった。もっと確率的事象が入り込んでも、おそらく学習できるだろう。


 もちろんAlphaZero自体に多少の改造を加える必要はあった(そのためこれはAlphaZeroと呼ぶべきではないかもしれない)が、結果としてはできてしまったのだ。


 もちろんDeepMindも同様の実験を内部ではしているだろうし、なんらかの指標をクリアしたら大々的に発表するだろう。


 「将棋はこのアルゴリズムがなければ解けない」「囲碁はこのアルゴリズムを使ったほうが効率的」と「専門家」はみんな言っていたが、結果的にAlphaZeroだけで良いことがわかった。


 そうしたこれまでの常識、先入観、固定観念をまず取っ払って、純粋に「知性とはなにか」という疑問すらいったん忘れて、「まずやってみて、結果を見て、それから理屈を考える」というプロセスを経なくては深層学習を理解するのは難しいと思う。


 でも、だからこそ、面白い


 ちなみにRadeon環境でPlaidMLでもAlphaZeroは動作する

https://i.gyazo.com/6d525cf71e7d47b01303fec863b35044.jpg