コンピュータ囲碁における Root 並列化について 発表者 副島 佑介. 目次 研究背景 – 囲碁の難しさ – モンテカルロ木探索について – 並列化手法の先行研究 提案手法 – Root 並列化における合議制 実験結果 まとめ.

Slides:



Advertisements
Similar presentations
G ゼミ 2010/5/14 渡辺健人. パフォーマンスの測定 CUDA Visual Profiler CUDA の SDK に標準でついているパフォーマン ス測定用のツール 使い方: exe ファイルのパスと作業ディレクトリ指定して実 行するだけ 注意点 : GPU のコード実行後にプログラム終了前に,
Advertisements

静岡大学情報学研究科 戸根木千洋 ユーザーイメージ収集 インターフェースの開発. 2 目次 背景と目的 研究の構成 研究の詳細 イメージ収集インターフェースの提案 映画イメージ収集システムの開発 システムの評価 今後の課題.
強豪囲碁ソフト「彩」について 山下 宏 2009 年 9 月 11 日 機械振興会館 ※彩(あや)と読みま す.
 C 川船 美帆.  強い人工知能の作成 o 「遺伝的アルゴリズム」  「どうぶつしょうぎ」のアプリケーショ ン作成 o スマートフォン向けアプリケーション.
ユーザーイメージ収集 インターフェイスの開発
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
囲碁プログラミングの探索における小目標間の依存関係解決に向けて
連続系アルゴリズム演習 第2回 OpenMPによる課題.
HOG特徴に基づく 単眼画像からの人体3次元姿勢推定
将棋名人のレーティングと棋譜分析 山下 宏 2014年11月7日 GPW 箱根.
TCPコネクションの分割 によるスループットの向上
並列処理実用? 並列処理により、 現在時間がかかって実用しづらい処理を、 早くして実用にする 1時間 =1/10⇒ 6分
ラベル付き区間グラフを列挙するBDDとその応用
ML 演習 第 8 回 2007/07/17 飯塚 大輔, 後藤 哲志, 前田 俊行
コンピュータ囲碁の仕組み ~ 将棋との違い ~
全体ミーティング (4/25) 村田雅之.
四路の碁アプリ開発 情報論理工学研究所 高倉秀斗.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
将棋プログラム「激指」  鶴岡 慶雅.
リバーシの並列化 並列化するときに起こる問題を定義しろ おぷてぃまいざー SSAIとMSAIは比較しろ  前田昂寛.
神奈川大学大学院工学研究科 電気電子情報工学専攻
第2回電王戦 プロ棋士とコンピュータによる対局 2013年3月23日〜4月20日 5週 持ち時間4時間 ニコニコ生放送で生中継
人 工 知 能 第3回 探索法 (教科書21ページ~30ページ)
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
多数の遊休PC上での 分散ゲーム木探索 導入 ゲーム木探索 ⇒遊休PCを利用して高速化 例)コンピュータ将棋における次手の計算
モンテカルロ法によるミニ囲碁 増井拓視 情報理論工学研究所.
コンピュータ将棋におけるカーネル法を用いた静的評価関数の学習
モンテカルロ法と囲碁・将棋ソフトの人知超え
単位 おねだり ☆オセロ おねだり隊☆D班.
モンテカルロ碁 電気通信大学 村松研究室 下川和也.
UCB+ 法を用いた Big Two AI の研究
JAVAでつくるオセロ 伊東飛鳥、宮島雄一 長畑弘樹、ソギ原直人.
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
Occam言語による マルチプリエンプティブシステムの 実装と検証
大阪市立大学 学術情報総合センター 大西克実
計算機実験の計画 References 研究目的 囲碁・将棋での強化学習 高信頼性人工知能システムへの展望 大規模な強化学習技術の実証と応用
MPIを用いた並列処理 ~GAによるTSPの解法~
Bottom-UpとTop-Down アプローチの統合による 単眼画像からの人体3次元姿勢推定
MPIとOpenMPを用いた Nクイーン問題の並列化
Copyright (C) 2011 Hideki Kato
1. MC/UCT アルゴリズムの 並列化に伴う挙動の変化 2. 探索木共有型並列と マスタスレーブ型並列 ― プラットフォームとの関係 ―
WWW上の効率的な ハブ探索法の提案と実装
4人版リバーシYoninの解析 情報論理研究室 藤本 侑花
近畿大学理工学部情報学科 情報論理研究室 松浦 美里
近畿大学理工学部情報学科 情報論理工学研究室 赤井 隆純
階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
軽量な仮想マシンを用いたIoT機器の安全な監視
VMMのソフトウェア若化を考慮した クラスタ性能の比較
モンテカルロ法を用いた 立体四目並べの対戦プログラム
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
研究背景と目的 局面対による学習の高速化 学習器の説明 今後 大規模な強化学習技術の実証と応用 一方で、 強化学習手法の台頭
麻雀ゲームにおけるAIの開発    日高大地   近畿大学理工学部情報学科  
Data Clustering: A Review
福岡工業大学 情報工学部 情報工学科 種田研究室 于 聡
近畿大学 理工学部 情報学科 情報論理工学部研究室 潘小月
Othelloのプログラム 班長:佐々木 悠二 班員:石黒 護     井上 雄滋     齊藤 良裕     清水 裕亮.
「マイグレーションを支援する分散集合オブジェクト」
指導教員 石水 隆 講師 情報論理工学研究室 木ノ下 翔大
卒業研究 JCSPを用いたプログラム開発  池部理奈.
囲碁プログラム 彩の仕組み 山下 宏 2008年9月4日 FIT2008.
近畿大学理工学部情報学科 情報論理工学研究室 段野健太
第28回世界コンピュータ将棋選手権アピール文章 作成:井本 康宏 作成日:2018/3/吉日
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
戦術的観点からの  変形碁盤間の   類似度評価 佐藤 真史(早稲田大学).
Webページタイプによるクラスタ リングを用いた検索支援システム
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
Presentation transcript:

コンピュータ囲碁における Root 並列化について 発表者 副島 佑介

目次 研究背景 – 囲碁の難しさ – モンテカルロ木探索について – 並列化手法の先行研究 提案手法 – Root 並列化における合議制 実験結果 まとめ

はじめに 強い囲碁プログラムは人工知能の目的・挑戦 囲碁はゲームで最も表現が難しい! 歴史 オセロ: 96 年に世界チャンピオンに勝利 チェス: 97 年に世界チャンピオンに勝利 将棋:現在プロ 4 段レベルに到達 囲碁:現在アマ 4 段レベル

探索空間の大きさ 10 の 28 乗 10 の 50 乗 10 の 71 乗 【 9 路盤】 10 の 38 乗 【 19 路盤】 10 の 171 乗

盤面の評価の難しさ 駒の価値,駒取りの損得 駒の動きやすさ,成り金 王手具合,王の危険度,等々.. ? ・領域 ( 地 ) が数えれない ・石を取ってもいいわけでない ・独特の評価で,難しい

囲碁の新しい評価方法 ランダム この手を打った時の 盤面の評価が知りたい この一連を プレイアウトと呼 ぶ 勝敗を 評価値とする アイデア:終局した局面は評価が簡 単!

「モンテカルロ木探索」の登場 木探索+プレイアウト モンテカルロ木探索とは,

0.8 0 1 0 0 10 プレイアウト 木探索 モンテカルロ木探索のイメージ

並列化 モンテカルロ木探索で改良したい点 – 大きな探索木の構築 – プレイアウト数の増加 並列化の副作用 1. 探索オーバーヘッド 2. 同期オーバーヘッド 3. 通信オーバーヘッド これらのオーバーヘッドの組み合 わせが少ない手法の開発が必要! 並列化が 必要不可決!

先行研究 ~様々な並列化手法~ 図:参考文献 Chaslots et al[08] Parrallel Monte-Carlo Tree Search

Tree 並列化

Root 並列化 各プロセスの 探索木情報の 総和から手を選択 (総和制)

先行研究 [Chaslot et al.08] Tree 並列化と Root 並列化の比較 ( 13 路盤( 1 手 1 秒) vs GnuGo ) ・使用するプログラ ムが弱かった? ・実験状況が実戦的 ではなかった? 図:参考文献 Chaslots et al[08] Parrallel Monte-Carlo Tree Search

貢献 Fuego を用いて Root 並列化の効果を調 査 1.Root 並列化と Tree 並列化の再比較・実 験 2. 合議制に基づく Root 並列化を提案・実 装し, 総和制と性能を比較 3. 一致率による大規模な Root 並列化の台 数効果の調査

Fuego ( ver ) オープンソースの強豪囲碁ソフト – Tree 並列化は共有メモリ上でのみ実装済み – MPI , C++ を用いて, Root 並列化を今回実装

Fuego1FuegoN FuegoN-1 Fuego3 Fuego2 合議 単純多数決 ・・・ ・・・ ・ 各探索木の木情報を収集 (候補手,訪問回数,評価値 等) 次の一手 合議制(提案手法) – コンピュータ将棋で最近有望とされている – 囲碁の MCTS 法ではまだ実際の効果は解明されていない 今回提案した Root 並列化手法

合議制 & 総和制の簡単な具体例 Proc 1 評価値 A800 B600 C100 Proc3 評価値 A600 B500 C100 Proc4 評価値 B800 C700 A50 Proc2 評価値 C900 B500 A50 集計評価値総和投票数 A B C18001 この場合 総和制 ・・・ 着手 B が選出 合議制 ・・・ 着手 A が選出

実験環境 8 ノード ×8 コア PC クラスタ使用 – 各コアの CPU :( Xeon E GHz×2 ) – 各ノード: 16G 共有メモリ 各コアへのプロセスの割り当て – Root 並列化 全 64 コアを使用し, 各 1 コアに 1 プロセスを割り 当て – Tree 並列化 1 ノード (8 コア ) 使用し, 各 1 コアに 1 スレッドを割 り当て

貢献 Fuego を用いて Root 並列化の効果を調 査 1.Root 並列化と Tree 並列化の再比較・実 験 強い囲碁プログラム( Fuego )を用いて Root 並列化 と Tree 並列化を対戦比較 2. 合議制に基づく Root 並列化を提案・実 装し, 総和制と性能を比較 3. 一致率による大規模な Root 並列化の台 数効果調査

Root 並列化と Tree 並列化との比較 ( 64 コア Root 並列化 vs 1 ~ 8 スレッド Tree 並列 化) 64 コア 合議制 勝率

Root 並列化と Tree 並列化との比較 ( 64 コア Root 並列化 vs 1 ~ 8 スレッド Tree 並列 化) 64 コア 合議制 勝率 64Root 並列化は 19 路盤では 4 スレッド未満の性能

貢献 Fuego を用いて Root 並列化の効果を調 査 1.Root 並列化と Tree 並列化の再比較・実 験 強い囲碁プログラム( Fuego )を用いて Root 並列化 と Tree 並列化を対戦比較 2. 合議制に基づく Root 並列化を提案・実 装し, 総和制と性能を比較 先行研究よりも多くのプロセス (64 プロセス ) を用 いて, 自己対戦との勝率を計測 合議制と総和制の着手の分析 3. 一致率による大規模な Root 並列化の台 数効果の調査

Root 並列化の有効性 合議と総和の比較 4~64コア Root 並列化 vs 逐次 Fuego ( 9 路盤) 1 ~ 64 コ ア 各 Root 並列化 勝率

Root 並列化の有効性 合議と総和の比較 4~64コア Root 並列化 vs 逐次 Fuego ( 19 路盤) 19 路盤では, 合議制が優位に 勝率で上回っている 1 ~ 64 コ ア 各 Root 並列化 勝率

総和制と合議制の着手の性質 着手の不一致率は約 5 % – 不一致局面について 強いプログラム (Fuego8 スレッド ) に思考 不一致局面における強いプログラムとの一致 率 – 比較結果 ( 64 コア Root 並列化の棋譜 200 試合 ) 9 路盤では 1 局に 1,2 手 19 路盤では 1 局に 10 ~ 20 手 一致率合議制総和制 9 路盤 39.6%19.8% 19 路盤 26.0%6.0% 平均順位差合議制総和制 9 路盤 1.52 位 1.83 位 19 路盤 2.92 位 3.40 位

例えば(合議の良かった場面:白 番) A7 が好手 A7 A4

貢献 Fuego を用いて Root 並列化の効果を調査 1.Root 並列化と Tree 並列化の再比較・実験 強い囲碁プログラム( Fuego )を用いて Root 並列化と Tree 並列化を対戦比較 2. 合議制に基づく Root 並列化を提案・実装し, 総和制と性能を比較 先行研究よりも多くのプロセス (64 プロセス ) を用いて, 自己対戦との勝率を計測 合議制と総和制の着手の分析 3. 一致率による大規模な Root 並列化の台数効 果の調査 512 プロセスまでの一致率 局面ごとの一致率

512 プロセス使用した際の強さの予 測 棋譜 ( 400 局) 【逐次 Fuego 】 一手 80 秒で思考 【 Root 並列化 Fuego 】 一手 1 秒 ×4 ~ 512 コア 着手が一致しているか?=一致 率 着手の一致率を用いて台数効果を測る実験

512 プロセスまでの一致率 64 コア以上では, 一致率の向上は無し

64 コアまでの一致率

手がバラけやすい局面での一致率

手がバラけにくい局面の一致率

まとめ Root 並列化と Tree 並列化の比較 – 64 コア Root 並列化はおよそ 4 スレッド未満の性能 Root 並列化の有効性 – 合議・総和ともに、 64 コアまでは勝率上昇 合議制と総和制の比較 – 9 路より木の個人差が出る 19 路で性能が出る – 着手の性質 合議がより良いと思われる手を選択している 19 路では一局当たりの着手差が多い為勝率に反映 台数効果 – 64 コア以上ではあまり勝率の上昇は見られず – 一致率を上げる局面と上げれない局面が存在する

今後の課題 どれか一手が 一致した場合の 一致率グラフ

ご静聴ありがとうございました。