研究課題/領域番号 |
16K00510
|
研究機関 | 愛知工業大学 |
研究代表者 |
伊藤 雅 愛知工業大学, 情報科学部, 教授 (80221026)
|
研究期間 (年度) |
2016-04-01 – 2019-03-31
|
キーワード | 囲碁アルゴリズム / プレイアウト / モダンヒューリスティックス / モンテカルロ木探索 / 畳み込みニューラルネットワーク |
研究実績の概要 |
1 AlphaGoの畳み込みニューラルネットワーク(以下 CNN)部を再現したRocAlphaGoを改良して、囲碁AIを主としてPython言語で構築した。開発した囲碁AIの棋力はCNNを利用しない既存の囲碁アルゴリズムと対局させて確認した。 RocAlphaGoは、AlphaGoのSL policyとValue networkの2つのみが構築可能で、それ以外のRL policy、Rollout policy、Tree policyの3つは未実装である。RL policyのネットワーク構造はSL policyと同一であるためPython言語で実装でき、Value networkを動作させた。 Rollout部は敢えて開発せず、オープンソース囲碁であるRayのPlayoutで代用した。そのためPython言語だけでなくCython言語も使用した。昨年度はPythonのみで開発して動作が遅く失敗した。Tree policyも開発を見送った。この部分はSL policyで代用した。探索木の葉ノード展開時にすべての空点を子ノードとせず、SL policyから得られる着手確率上位20手に限定した。
2 プレイアウト履歴からゲーム木を作成し、ノード生成回数と勝利回数から特徴点を抽出して最善手を導出する囲碁アルゴリズムの研究も並行して実施した。昨年度は完全ランダムなプレイアウトを用いた。これが特徴点の抽出に失敗した理由と考え、今年度はプレイアウトにパターンの導入を取り入れた。プレイアウト履歴からゲーム木を作成するとき、合流検知を追加して特徴点の抽出改善も試みた。 この手法を9路盤囲碁で単純なモンテカルロ木探索と対戦させた。結果は100戦3勝で昨年同様、勝負にならなかった。昨年は100戦2勝だった。プレイアウト履歴の使い方が原始モンテカルロ囲碁に近い挙動となっているのが失敗続きの原因かもしれない。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
4: 遅れている
理由
平成28年3月に囲碁AI「AlphaGo」がプロ棋士であるイ・セドル9段に4勝1敗で勝利し、平成29年5月に柯潔9段に3戦全勝した。AlphaGoは深層学習、強化学習、モンテカルロ木探索の3つを巧妙に組み合わせている。 本研究課題の研究計画調書を提出したのが平成27年10月であり、採択通知があったのが平成28年4月である。このわずか半年の間に囲碁アルゴリズムの研究がモンテカルロ木探索の改良から畳み込みニューラルネットワークによる深層学習へと移行してしまった。研究計画調書作成時には、深層学習の導入など全く考慮外であった。再利用可能なプレイアウト履歴から最善手を導出する手法に興味があった。 AI技術の理解とAlphaGoの動作原理を確認するためのプロトタイプ開発だけで平成28年度が過ぎ、平成29年度末でさえAlphaGoのロールアウトポリシーの実装が大きな壁となっている。分散型AlphaGoの再現はRocAlphaGoプロジェクトを参考にしても不可能に近い。 研究計画調書に記載した平成29年度以降の研究計画については、当初計画したタブーサーチの導入がそもそも失敗している。そのため短期メモリや長期メモリで使う各種パラメータの棋力に及ぼす影響を統計的に検証する段階に至っていない。 並行して進めているもうひとつのプレイアウト履歴を使う手法も2つの改善策を施したが失敗に終わっている。パターンの導入では、蜂の巣型の3x3パターンを61個、5x5パターンを21個、計82個のパターンを導入した。しかし、パターン一致率は15%と低く、ゲーム木生成時に発生する合流も一局当り15%ほどしかなかった。このように新たに追加で開発した1) プレイアウトへのパターンの導入、2) ゲーム木生成時の合流検知、これらは棋力向上への貢献がほとんどないことが判明した。以上が、研究の進捗状況が遅れている理由である。
|
今後の研究の推進方策 |
【研究遂行上の課題】RocAlphaGoを基にPython言語とCython言語で実装した囲碁AIが完成して、19路盤囲碁で統計的検証に耐えうる対局数の下、GNU Go、Pachi、Rayを相手にある程度の勝率が得られれば、活路は見出せる。遂行上の最大の課題は、Python言語とCython言語というプログラミング言語の壁である。今年度はPythonプログラミングを得意とする学部生と共同でプロジェクトを進めた甲斐あって前年度に失敗した木探索部分の失敗を克服できた。当該学生は卒業し、就職したため、次年度から再び研究代表者1名による開発体制に戻ることになる。 そして、現在、ロールアウトの代用として使っているRayのプレイアウト部分にモダンヒューリスティックス的な改良を施すことができれば、研究の目処はつく。しかし、PythonとCythonの追加実装が失敗または未完に終われば、得られる成果は相当限定的なものとなる。 もう一方のプレイアウト履歴を使った木生成に基づく探索手法も失敗続きである。手番・手数・石の色・打つ位置・勝敗といったプレイアウトから得られる情報はゲーム木生成過程ですべて利用している。ゲーム木生成過程で合流も考慮している。それでも単純モンテカルロ木探索に100戦2勝と全く歯が立たない。
【課題に対する対応策】対応策は昨年と同様である。RocAlphaGoによる実戦用プロトタイプの実装とプレイアウト履歴を使ったゲーム木からの特徴点の抽出、これら2つのプロジェクトを並行して進め、どちらかのプロジェクトに良好な兆しが見られれば、プロジェクトを一本化して研究課題を推進する。 特に後者において、モダンヒューリスティックスを組み込める箇所は、プレイアウト履歴の構築部分あるいは生成したゲーム木からの特徴点抽出部分のどちらかである。チャレンジしてみる価値は十分にある。
|
次年度使用額が生じた理由 |
次年度使用額(繰越し額)95,280円が生じた主たる理由は、前年度購入予定だったAPC社製Smart-UPSを設置場所や電源の関係で今年度も購入を見送らざるを得なかったからである。
|
備考 |
研究課題に関連する2つの研究テーマを掲載している。
|