コラム

強化学習を使用した「AlphaGo」

更新日:

強化学習を使用した「AlphaGo」

2016年3月にAIが注目を浴びる事件がありました。

それは、Googleの子会社となったイギリスのDeepMind社が囲碁の世界王者のイ・セドル氏に4 勝1敗と圧勝した事件です。

「AlphaGo」の登場です。

https://deepmind.com/research/alphago/

「AlphaGo」の登場はAIの凄さを全世界に見せつけた瞬間でした。

それまでは囲碁の世界ではコンピュータは人間に追いつけないと思われていました。

なぜなら、囲碁の組み合わせは非常に多く、全探索が得意なコンピュータでもその計算量が膨大となり処理が追い付かないためです。

実際に将棋は一回の指し方が序盤で30通りなのに対し、囲碁は一回の打ち方が序盤361通りもあります。

そのような膨大な組み合わせのため、まだまだコンピュータは人間に追いつけないと思われていたのです。

それでは「AlphaGo」はどのように対処したのでしょうか。

キーとなるのは「強化学習」です。

まず初めに、3000万手のものの膨大な打ち手データの情報を「教師あり学習」として学習しました。

「教師あり学習」とはデータと正解データの組み合わせ、ここでは、盤面の状況と打ち手データを学習させました。

この「教師あり学習」により様々なケースを膨大な過去データから学習しましたが、まだまだ学習は足りません。

そこで、次に、「強化学習」を導入しました。

「強化学習」とは買った場合に「報酬」として与え、その「報酬」が入るように最適化を行う手法のことです。

この手法により、「報酬」を得るための最適な行動をコンピュータが自動的に判断するようになり、勝つためのパターンを自らが特徴量として学習していきます。

その後、コンピュータ同士を対局させ更に競わせます。

これらを何千回、何万回も繰り返すことにより、「報酬」を得るための最適な行動を繰り返し学び強化していきました。

このようにして「AlphaGo」のような強力な囲碁AIが誕生しました。

「強化学習」の特徴としては勝つためのパターンをコンピュータ自らが学習していくことです。

「教師あり学習」のように人間の手で正解となる答えを与えていなくとも、コンピュータ自らが学習し、勝利する打ち手を特徴量として学習していきます。

さらに、コンピュータ同士を競わせることでより強化していきます。

このような「強化学習」のアルゴリズムの種類はSarsa、Q-Learning、モンテカルロ法や深層学習と組み合わせたDeep Q Networkなどがあります。

Deep Q Networkを活用したゲーム例

次の動画はDeep Q Networkの手法を用いて学習させたブロック崩しのゲームとなります。

初めはお世辞にも言えないほどゲームが上手くありません。

たまにブロックは消すものの、大部分がボールをはじくことすらできずに終了しています。
ゲームの初心者のような動きです。

ところが120分後の状況ではどうでしょうか。

ボールを外すことは無くなっています。慣れてきたプレーヤーのようにブロックを次々消していきます。

さらに240分後には別の事象が見えてきます。

ブロックを縦に消して、その中にボールを打ち込むことで、天井から跳ね返ったボールが次々とブロックを消していきます。

ここまでくるとゲームの上級者のようです。

このように、初めはゲームの初心者のような動作だったものが、時間の経過とともに上達していき、最後は上級者のようになっています。

これらは全て人間が正解を教えたものではなく、コンピュータ自らが学習していった結果です。

ゲーム以外での強化学習活用例

これらの強化学習の手法については、ゲーム以外にも様々な点で応用されています。

2015年、日本のベンチャー企業であるPreferred Networks社で一つのデモを公開しました。深層学習を用いて、ロボットカーが障害物を自動的に避けるような動作をゼロから学習するデモです。また、2016年に公開されたDeeepMindの論文ではロボットアームにドアの開け方を自動学習させています。

このように、強化学習の範囲はゲームだけにとどまらず、人の生活に役に立つような学習を取り入れ、より人間の動作に近い動きを行うようになっています。

 

-コラム
-

Copyright© AI人工知能テクノロジー , 2019 All Rights Reserved.