大富豪に対する機械学習の適用 + α
KATSUKI OHTO
@ ML 15 MINUTES - 4 2016/9/24
自己紹介
 大渡 勝己 Katsuki Ohto
 大学院生
 研究:ゲームAI
自己紹介
 多数のゲームAI大会に参加
 囲碁
 将棋
 ぷよぷよ
今度人類vsAIやります!
 人狼
 Trax
 カーリング
大富豪(大貧民)ゲーム
日本で人気のあるトランプゲーム
各プレーヤーに配られた手札を早く無くした
方が勝ち
多人数ゲーム
相手の手札がわからない不完全情報ゲーム
人間との大富豪対戦
 2016/5/19 深夜
日本テレビ「変ラボ」にて
人類代表?の手越祐也氏と対戦
Youtubeの動画は
削除されていた
大富豪で有効なアルゴリズム:モンテカルロ法
 各合法行動について、
行動後の試合を
何らかの方策で進める
 (シミュレーション)
 最終的な結果が
良さそうな行動を選ぶ
 Alpha碁に近い手法
手札
行動
候補
平均順位 3.5位 2.9位 2.1位 1.6位
シミュレー
ション
モンテカルロ法プログラムの強化
 シミュレーションが
実際の試合展開に
近ければ、
結果予測が正確になる
 →
シミュレーションの
精度向上
 機械学習しましょう
手札
行動
候補
シミュレー
ション
線形行動価値関数
 状態 s にて、合法行動 𝑎 の評価 𝑉 を
 ベクトルの内積で定義
 𝑉(𝑠, 𝑎) = 𝜙 𝑠, 𝑎 ∙ 𝜃
𝑠 : 主観的な状態
𝑎 : 合法行動
𝜙 𝑠, 𝑎 : 状態𝑠で行動𝑎を取る
時の特徴ベクトル
𝜃 ∶ 重みベクトル
(学習対象)
softmax方策
 行動選択確率 𝜋 を以下のように定義
 𝜋 𝜃 𝑠, 𝑎 ∝ 𝑒
𝑉(𝑠, 𝑎)
𝑇
𝑠 : 主観的な状態
𝐴 : sにおける合法行動全体
の集合
𝑎 : 合法行動 𝑎 ∈ 𝐴
𝑉 𝑠, 𝑎 : 状態𝑠で行動𝑎を取る
時の行動価値関数
𝜃 ∶ 重みベクトル
(学習対象)
𝑇 : 温度(方策のばらつき)
学習手法
 学習中の方策 𝜋 𝜃 教師の方策 𝜋∗ のとき誤差関数
 (カルバック・ライブラー情報量)
 𝐿 𝜋∗, 𝜋 𝜃 = 𝑏∈𝐴{ 𝜋∗(𝑠, 𝑏) ln
𝜋∗(𝑠,𝑏)
𝜋 𝜃(𝑠,𝑏)
}
 教師の方策が決定的(確率1で 𝑥 ∈ 𝐴 を選択)のとき交差エントロピーに同じ
 𝐿 𝜋∗, 𝜋 𝜃 = −ln(𝜋 𝜃 𝑠, 𝑥 )
 棋譜からの学習を行うため、教師の方策は決定的と仮定 → 分類問題
学習手法
 重みパラメータ 𝜃 の更新式
 𝜃 ← 𝜃 +
𝛼
𝑇
[𝜙 𝑠, 𝑥 − 𝑏∈𝐴{𝜙 𝑠, 𝑏 𝜋 𝜃(𝑠, 𝑏)}]
𝑠 : 主観的な状態
𝐴 : sにおける合法行動全体
の集合
𝜃 ∶ 重みベクトル(学習対象)
𝑇 : 温度
𝛼 :学習率
過去プログラムからの学習
 ① 過去のプログラムの自己対戦棋譜(各50,000試合)を作成
 教師プログラム(全15プログラム)
 ②それぞれのプログラムの棋譜から重みパラメータを学習(40,000試合利用)
 →計15種類の重みパラメータを得る
 <学習設定> 学習率𝛼 温度𝑇 L1正則化
係数
L2正則化
係数
バッチ
サイズ
反復回数
(交換)
反復回数
(役提出)
0.00005
/ 特徴値の分散
1.0 0 0.0000001 1 150 50
過去プログラムの着手の学習結果
 行動価値関数最大の行動と棋譜の行動の一致率(役提出)
 赤ルールベースが教師
 69% 〜 95%
 青モンテカルロが教師
 62% 〜71%
 (平均分岐数
 5.6 〜 6.6 程度)
教師プログラムの強さと
学習したプログラムの強さの関係
 横軸 : 学習に用いたプログラム間でリーグ戦を行った際の平均得点
 縦軸 :学習したプログラムの対戦実験での平均得点
 より強い教師によって、方策関数プレー、モンテカルロ法プレーいずれも強くなった!
方策関数
プレー
モンテ
カルロ法
プレー
自分の棋譜からの学習 動機
 学習によって強いプログラムができたので、
 学習 → 棋譜作成 → 学習 → 棋譜作成 → 学習…
 と繰り返すことで強くできるのでは?
強化学習ではなく教師あり学習にて0から学習!
自分の棋譜だけからの学習手法
 方策パラメータを全て0に初期化 ← 第1世代
 モンテカルロ法による自己対戦棋譜の作成
 作成した棋譜の行動から方策関数を学習
 学習と自己対戦棋譜作成を繰り返して第10世代までの重みパラメータを作成、対戦実験
対戦実験結果(自分の棋譜から学習)
方策関数によるプレー
結果 : 第3世代まで平均得点が上昇
モンテカルロ法によるプレー
他人の棋譜から学習
vs 自分の棋譜から学習
方策関数でプレー モンテカルロ法でプレー
①
②
③
④
②
③
④
自分の棋譜のみで、他プログラムの棋譜を使った場合に近い強さが得られた!
大富豪AI参考資料
 電気通信大学 コンピュータ大貧民大会(仮サイト)
http://www.tnlab.inf.uec.ac.jp/daihinmin/
 私の論文
http://www.tanaka.ecc.u-tokyo.ac.jp/wp/ohto/2016/03/15/
世界のゲームAI研究ニュース
 DQNがMONTEZUNA’S REVENGE をプレイ
Unifying Count-Based Exploration and Intrinsic Motivation. (Mnih et al., 2016)
 動画
https://www.youtube.com/watch?v=0yI2wJ6F8r0
 論文を紹介した日本語スライド
http://www.slideshare.net/KatsukiOhto/unifying-count-based-exploration-and-intrinsic-
motivation
DQN with Intrinsic Motivaton
(Mnih et al., 2016)
 count based な intrinsic(内面) motivationで探索促進
 高次元空間なので厳密な到達回数を計測しても意味がない!
 フレーム予測確率𝜌n(𝑥)から擬似到達回数を算出
 擬似到達回数が少ない場合に追加で報酬を与える
Pseudo-countの考え方は
昔からあるけれど
 (高次元or連続)空間でpseudo(擬似) countを算出するのは
よくある考え方
 例:カーリングの連続空間を加算無限に構造化して状態到達回数を近似
(私)
 それでも最新の研究に用いて成果を出すDeepMind社はすごい!
結論
人工知能技術は楽しく使う!

大富豪に対する機械学習の適用 + α

Editor's Notes

  • #6 同じページに載せると悲しくなるので
  • #7 もっと前に ランダムシミューレーション?
  • #8 もっと前に ランダムシミューレーション?
  • #9 一般の行動表記a prime, ai 比例関係だけでいい Tの役割 お待ちかね数式の時間
  • #10 一般の行動表記a prime, ai 比例関係だけでいい Tの役割
  • #11 何を引くべきか KL情報量
  • #12 論文に誤りがあったが、実装はこちらだったと書く
  • #13 パラメータの詳細をどこかに書く 収束している感じのグラフ 棋譜が混ざっているのか同一プレーヤーなのか 15種類できた 誰か4万試合やってくれ
  • #14 方策関数を出す前に、決定的にプレーできる場合もあることの例を示す。 2人の場合には読み切れる(相手の手札を覚えられる)こと
  • #16 自己実験の前に意見として述べる
  • #17 話が変わるスライド, 学習方法
  • #18 実験条件
  • #19 教師<->プレーヤーのグラフに線を入れる
  • #23 一種の強化学習
  • #24 一種の強化学習