囲碁・将棋ソフトにみるAIの学習の収束 | SiTest (サイテスト) ブログ

メニューボタン閉じるボタン

囲碁・将棋ソフトにみるAIの学習の収束

前回の続きです。

優れたAIを作る為にはまず物事の本質をパラメータに落とし込む必要があると記載しましたが、
その勉強量はどのようなものだったのでしょうか?

強い将棋ソフトはどのくらいの勉強量が必要なのか

ポストビッグデータとしての強化学習が将棋ソフトを変えた – やねうら王では下記のように定義されています。

3駒関係(KPP)には1億次元以上のパラメーターがあったからだ。
1億の未知数を決定するためには、(N元一次連立方程式だとして)少なくとも1億個の方程式が必要だ。実際には、未知数の10〜100倍の方程式(≒教師局面)が必要だ。

実践的には80億局面でほぼ飽和するそうですが、
棋士同士が指した棋譜で公開されているものは3万局分程度しか存在しません。
将棋は大抵100手前後で終局するので、全て細分化しても300万局面分にしかならず、まるで足りていない計算です。

これに対し強豪ソフトは自己対局を繰り返して棋譜を生成し、足りない局面数を補いしました。
ただし、これはあくまで将棋という世界の3駒関係で表現した場合です。

強い囲碁ソフトはどのくらいの勉強量が必要なのか

そもそも囲碁に必要な膨大な局面をどうやって学習するのかというレベルであり、
モンテカルロ法とディープラーニングを組み合わせれば何かできそうだけど、
学習が収束するのかしないのか、どうやって収束させるか、それに賭けたコスト分のリターンは得られるのか、全てが未知数な状態でした。
アルファ碁がその学習が収束して、棋士と互角以上の戦いを繰り広げた時点でとても素晴らしい偉業です。

そのアルファ碁は1000コアを超えるGoogleのクラウドマシンを使い、
何千万局という対局を学習させながら少しずつ学習を進めていったそうです。
最初の数万局の棋譜は公開されている棋士の対局の棋譜だそうですが、まるで足りず、アルファ碁同士の対局を繰り返しながら残りの棋譜を生成したそうです。

他のジャンルではどうやって教師データを作るのか

ビッグデータがブームになって久しいですが、
長い伝統があり、途方もなく蓄積されたデータが既にある囲碁や将棋の分野でも、
機械学習に使うにはちっとも足りないのですね。

囲碁や将棋ではPC上で対局を繰り返し、その結果を元に教師データを生成して更なる改良を行って行く手法が取れますが、
様々なビジネスシーンに通用する教師データをどのように用意するのでしょうか?

これの一つの答えとして、シミュレーターを作って擬似的な環境を作る方法が考えられます。
免許を持たないF1ドライバー誕生!17歳・フェルスタッペンに議論沸騰。という記事があるように、ゲーム機で擬似レーシングを行い、腕を磨くF1レーサーは多いと聞きます。
また、チェス・囲碁・将棋に続きドッグファイトでも……無人戦闘機用AIが模擬戦闘でベテランパイロットに圧勝という記事では、戦闘機のAIがベテランパイロットを打ち負かしました。

まとめ

いかがでしたでしょうか?

DeepLearningが登場して猫の画像を見た時には
これからはビッグデータを解析すればなんでも分かるのかと驚きしましたが、
全ての問題がビックデータを解析してはい終わりというものではないのですね。

どのようにデータを用意するのか、
PCでシミュレーションして作り出せないかもAIの重要な要素になりそうです。

以上、「囲碁・将棋ソフトにみるAIの学習の収束」でした。
最後まで読んでいただきありがとうございました。