覚え書きブログ

強化学習の覚え書き(アルファ碁と入門書)

2016年3月に、グーグル・ディープマインド社の囲碁人工知能「アルファ碁」が、世界で最も強い棋士である韓国の李セドル氏に4勝1敗の大差で勝利した。このニュースは、人工知能機械学習分野に限らず多くのメディアでも取り上げられていたので、一般の人でも耳にする機会があったと思う。
f:id:hirotaka_hachiya:20160525231609j:plain
http://mainichi.jp/premier/business/articles/20160413/biz/00m/010/011000c
https://gogameguru.com/lee-sedol-defeats-alphago-masterful-comeback-game-4/

アルファ碁は、value networks(価値ネットワーク)という碁石を打つ位置を評価するディープニューラルネットワーク(Deep Neural Network:DNN)を、2つのステップの機械学習方法を用いて学習している。

1ステップ目は、KGS Go Serverの3000万の盤面からなるプロ棋士の対戦データ(棋譜データ)を用いて、各盤面(入力)において各位置(出力)の打たれる条件付き確率を教師あり学習する。この条件付き確率はpolicy networks(政策ネットワーク)と呼ばれるDNNによりモデル化されている。

つまり、1ステップ目で、政策ネットワークは、プロ棋士の手を”真似”をするように学習されている。

2ステップ目は、上記の政策ネットワークをpolicy gradient法と呼ばれる強化学習の方法を用いて、さらに強くなるようにする。ここでself-playと呼ばれる、ランダムにpolicy networks同士を対戦させて、その勝敗結果(フィードバック)に基づきpolicy networksを強化学習する方法が採用されている。

この2つのステップにより強くなったpolicy networksに従い碁石を打っていった場合に将来的に得られる価値(報酬の割り引き和の期待値)を予測するvalue networksを上記のself-playを用いたデータから教師あり学習する。そして、このvalue networksを用いて各盤面にて最大の価値を得られる碁石の打ち位置を選択している。

アルファ碁で用いられている強化学習の基礎から三目並べとロボット制御の事例を通した応用までを幅広く紹介している書籍「強くなるロボティック・ゲームプレイヤーの作り方」のオンデマンド版(プレミアムブックス版)が、2016年6月にマイナビ出版から発売される。

現在予約受付中で、5月31日までに注文するとTポイントが5倍とのこと。

ちなみに、Amazonでも発売中。