この記事は日経Robotics 有料購読者向けの記事ですが
日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
著者の岡野原大輔氏
著者の岡野原大輔氏

 DeepMind社がAlphaGoの改良版であるAlphaGo Zeroの論文を『Nature』誌で発表した1)。AlphaGoは登場以来急速に強くなり続けている。2015年に登場したAlphaGo Fan(同社はAlphaGoの各バージョンに名前を付けている)はヨーロッパの囲碁チャンピオンであるFan Hui氏を破り、それから半年後に改良されたAlphaGo Leeは世界トップ棋士の1人であるLee Sedol氏を4-1で破った。その後もAlphaGoは強くなり続け、2017年初めころにネット囲碁対局で登場したAlphaGo Masterは世界中のトップ棋士達に60連勝した。今回のAlphaGo ZeroはそのAlphaGo Masterに100回中89回勝てるほど強い。

 AlphaGo Zeroは強いだけでなくこれまでのAlphaGoと大きく違う点がある。それは人の棋譜を真似てから学習するのではなく0から学習した点である。しかも学習を開始してから数日で多くの囲碁の定石を発見した。未知の定石も多く発見し、従来のAlphaGoよりはるかに強くなることができた。

 この実現の中心となったのが、自分より少し強い指し方を目標に学習する新しい強化学習手法である。AlphaGo Zeroは1つのネットワークfθ(s)を使う。従来のAlphaGoが次の手予測、盤面評価用、探索用と別々のネットワークを使っていたのに対し、AlphaGo Zeroではこれらのモデルを1つに共有することでこれらのタスクに共通して有用な特徴を抽出し学習を効率化できる。このモデルfθは盤面sが与えられた時、各手を打つ事前確率ベクトルpと、その盤面の評価値vのペア(p,v)=fθ(s,a)を出力する。

 次にこのネットワークを使って、モンテカルロ木探索(MCTS)を行う。探索木の各枝(s,a)には、事前確率P(s,a)、訪問回数N(s,a)、状態行動評価関数Q(s,a)を格納しておく。探索は現在の盤面に対応する根から始まり、各節点において次のように計算されるUCB(upper confidence bound)

Q(s,a)+U(s,a)

が大きい手aを選択し、次の状態s'へ移動する。ただし、Uはその手を探索した回数をN(s,a)とした時、U(s,a)∝P(s,a)/(1+N(s,a))で与えられる。また、Q(s,a)は現時点のシミュレーションで集められた評価であり、Q(s,a)=∑s'sas'V(s')/N(s,a)で与えられる、ただし、s,a→s'は盤面sで手aを選択した後、最終的に盤面s'に到達したことを示す。探索が葉に対応する盤面svまで到達したら、その盤面svを一度だけ評価し、(p,s)=fθ(sv)を得て、各枝にP(s,a)を格納する。各枝のUCBは最初(N(s,a)=0)は事前確率P(s,a)と一致し、探索回数が増えてくると実績値の平均Q(s,a)が支配的になってくる。

 最終的な手は最も多く探索された手、つまり最も有望な手の分布π(s,a)∝N(s,a)1/τに従って選択する。このτは温度パラメーターであり、温度が高いほど一様な手を選ぶように、低いほど探索回数が最大の手のみを選ぶようになる。

 この探索をした上で得られた分布πは元々のpよりも強い手を選べるような分布である。なぜなら、pは今の盤面だけから評価しているのに対し、πは実際に探索の過程で各手を試し、より先の状態で評価した結果をまとめた結果だからだ。

 今の方策分布pを、より強い分布πに合わせるようにすることでより強い手を打てるようになる。これはπとpのクロスエントロピー損失関数πTlogpの最小化で実現できる。

 一方、盤面評価の目標はその手を打つことで勝てるかどうかとなる。盤面がsの時に、その時の手番の人が勝った場合z=1、負けた場合z=−1という確率変数zを用意しこれをvが予測できるように最小二乗法で最適化する。

 これら2つを合わせた最終的な目的関数は次の通りである。

(p,v)=fθ(s)
l=(z−v)2−πTlogp+c‖θ‖2

ただし、最終項‖θ‖2は正則化項であり、c>0は正則化項の強さを決めるハイパーパラメータである。

 従来の強化学習ではベルマン方程式を基にしたTD(時間差)誤差を基に目標にしていたり、直接収益を最大化するように方策を最適化する方策勾配法が使われたりしていた。AlphaGo Zeroの新しい学習手法はMCTSによって得られたより良い手の分布πと実際の収益zを目標に学習することで安定にかつ効率的に改善することができる。

 従来もself-playからの強化学習手法が提案されていたが、学習が安定しない、昔学習した結果を忘れてしまうという問題が存在した。今回の提案手法はこれらの問題はみられなかったと報告されているが、理由の解明は今後の課題である。

 最初の実験ではAlphaGo Zeroには小さなモデルを利用し、既存のAlphaGoとの比較を行った。各盤面で手を選ぶためのMCTSは1600回のシミュレーションからなり、それは0.4秒間で実行された。各ミニバッチは2048個のサンプルであり合計で70万回の更新を行った。ニューラルネットワークは20層のResidual Networkを利用した。

 AlphaGo Zeroは学習を開始してから36時間後にはAlphaGo Leeの強さに到達し、72時間後には、AlphaGo Leeに対し100勝0敗するほどに強くなった。AlphaGo Leeの学習が数カ月必要だったのと比べると学習が非常に速くなっていることがわかる。また、人の対戦棋譜を予測するように教師あり学習されたモデルと比べ、AlphaGo Zeroは人の打つ手の予測精度は低いことが分かった。これはAlphaGo Zeroが人の指し方とは異なる指し方を学んだ上で強くなっていることを示している。

 AlphaGo Zeroは囲碁の最低限のルールのみ(どこに石を置くのがルール上許されるのか)を教えた状態から学習を開始し囲碁の基本的なルールや既知の定石を次々と見つけ、まだ見つかっていない新しい定石を見つけることができた。

 学習手法の改良のみならず、盤面評価と指し手の予測モデルを共有することも改善に大きな効果をもたらした(Eloレートで600点)。また、画像認識などで大きく成功しているネットワークであるResidual Networkを使うことも改善に大きく貢献(レートで600点)していることが分かった。

 最終的な性能を測るために40層からなる大きなネットワークを作り40日間学習させた。この学習では2900万局対戦を行い、2048個のサンプルで310万回更新を行った。このネットワークはAlphaGo Masterに89勝11敗で大きく勝っていることが分かった。AlphaGoの開発チームはAlphaGoをこれ以上強くする研究開発は終了すると発表している2)

 人が数千年かけて培ってきた囲碁の技術を数日で再現し上回ったことは大きな意義がある。また、学習アルゴリズム自体を変更することで、学習効率や得られるモデルも劇的に改善できることが示された。最終的に得られたモデルも4つのTPU(Tensor Processor Unit)を搭載した1台のマシンで実行することができ、計算能力の増加以外にも学習手法の改善でまだ大きな伸びしろがあることを示した。

 しかし、このAlphaGo Zeroの成果がそのまま他の問題に適用できるわけではない。今回のAlphaGo Zeroが成功した条件がいくつかある。1つ目は囲碁が完全情報ゲームであり情報が全てプレーヤーに提示されている点、2つ目はゼロサム対戦ゲームであり対戦相手も自分と同じモデルを使いシミュレーションできる点、3つ目は環境のシミュレーションができる点である。

 多くの問題ではこれらの条件は満たされない。例えばロボットのシミュレーションの場合、必要な情報は全て入手できず環境の一部分しか観測できない。相互作用する環境(例えば人など)も完全に再現できず、シミュレーションが困難である。多くの強化学習分野の研究はこれらの問題への解決に取り組みつつある。

1)D. Silver, et al.,“Mastering the game of Go without human knowledge,” Nature, vo.550, pp.345-359.
2)https://www.reddit.com/r/MachineLearning/comments/76xjb5/ama_we_are_david_silver_and_julian_schrittwieser/dolii1s/
岡野原 大輔(おかのはら・だいすけ)
Preferred Networks 取締役副社長
岡野原 大輔2006年にPreferred Infrastructureを共同創業。2010年、東京大学大学院博士課程修了。博士(情報理工学)。未踏ソフト創造事業スーパークリエータ認定。東京大学総長賞。