今更ながら囲碁の世界チャンピオンに勝利した人工知能 AlphaGo について簡単に紹介します。
AlphaGo とは?
AlphaGo は DeepMind 社が開発した囲碁の人工知能です。
AlphaGoは囲碁のプロ棋士を破った初の囲碁の人工知能です。
普通のプロ棋士に勝利しただけでなく、当時の世界棋士レート1位の棋士に勝利し、世界的に話題になりました。
囲碁は将棋などの他ボードゲームと比べて、とれる碁盤のパターンが膨大であり、機械では中々攻略できないだろうとされてきました。
それを AlphaGo が完全に攻略しました。それが本当にすごいことでした。まさか世界チャンピオンまで破るとは。
で、このAlphaGoを開発したのがDeepMindという企業です。強化学習で言えば世界の最先端の研究を行っていると言っても過言はないと思います。
DeepMind
AlphaGo は DeepMind という人工知能企業によって開発されました。DeepMind はイギリスのベンチャー企業ですが、
Google によって買収されました。
そこからは元々の高度な人工知能の技術に加えて、Google のマシンパワーを手にし、研究開発が加速しました。
結果として AlphaGo を開発するまでになりました。
AlphaGo のアルゴリズムの簡単な紹介
今回は簡単にAlphaGoのアルゴリズムについてご紹介します。(概略のみ)
モンテカルロ木探索と課題
囲碁などゲームではモンテカルロ木探索を使って最適な手を見つけていく方法が主に用いられます。
相手がxで来たらこちらyをするというのひたすら木構造で保存しておく方法です。
AlphaGoでも同様にモンテカルロ木探索を用います。
モンテカルロ木探索では、とくに囲碁などのようなゲームは木がものすごい大きさになってしまい探索が困難という課題があります。最適な手を見つけるのに時間がかかるということですね。
そこで、AlphaGoではそれらの課題を深層学習や強化学習を使って解決しました。
深層学習と強化学習による解決策
じゃあ、どのように深層学習、強化学習を用いるのかというと、
木の葉を展開する時とそれらを評価するときに主に用います。
葉を展開する際には、エキスパート(プロ棋士等)の過去の手と強化学習によって学習したニューラルネットワーク(これをPolicy Networkといいます)を使って次の手の推論を行います。
次は相手がどの手を打ってくる確率が高いかや、どの手を打ったほうが良いかを確率で出してくれます
また、碁盤の価値(推定値)も計算します。ここでは、また別で学習していたニューラルネットワーク(Value Networkと言います)の出力値\(v_{\theta}\)とPolicy Networkによって自己対戦した結果を用いて碁盤の価値を決めます。
大まかに言うと上述したような工夫をすることで、木が木が小さな段階からある程度良い手を打つことができます。
詳細の説明は省きましたが、上述した工夫をするこでモンテカルロ木探索を強力にしています。
使用技術について
- 深層学習
- 強化学習
- モンテカルロ木探索
- モンテカルロ法を使った木の探索アルゴリズムの総称
- ランダムサンプリングに基づいて探索木を構築していく
AlphaGo の進化系
AlphaGoには進化系がいくつかあります。
- AlphaGo Zero
- AlphaGo Fan
- AlphaGo Master
など。
終わりに
今回はAlphaGoについて簡単に調べてみました。
中々思い腰が上がらずでしたが、少し調べられて良かったです。
できればAlphaGo Zero等についても調査していければと思います。
参考文献
- https://drive.google.com/viewerng/viewer?url=https://storage.googleapis.com/deepmind-media/alphago/AlphaGoNaturePaper.pdf
- https://medium.com/@jonathan_hui/alphago-how-it-works-technically-26ddcc085319