SlideShare uma empresa Scribd logo
1 de 23
大富豪に対する機械学習の適用 + α
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社はすごい!
結論
人工知能技術は楽しく使う!

Mais conteúdo relacionado

Mais procurados

強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
Shota Imai
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
DADA246
 
初めてのグラフカット
初めてのグラフカット初めてのグラフカット
初めてのグラフカット
Tsubasa Hirakawa
 

Mais procurados (20)

AlphaGoのしくみ
AlphaGoのしくみAlphaGoのしくみ
AlphaGoのしくみ
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
 
Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
 
強化学習 DQNからPPOまで
強化学習 DQNからPPOまで強化学習 DQNからPPOまで
強化学習 DQNからPPOまで
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
 
DeNA TechCon2018 ゲーム体験を支えるための強化学習
DeNA TechCon2018 ゲーム体験を支えるための強化学習DeNA TechCon2018 ゲーム体験を支えるための強化学習
DeNA TechCon2018 ゲーム体験を支えるための強化学習
 
深層強化学習と実装例
深層強化学習と実装例深層強化学習と実装例
深層強化学習と実装例
 
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
 
論文紹介 : Unifying count based exploration and intrinsic motivation
論文紹介 : Unifying count based exploration and intrinsic motivation論文紹介 : Unifying count based exploration and intrinsic motivation
論文紹介 : Unifying count based exploration and intrinsic motivation
 
ぷよぷよAIの新しい探索法
ぷよぷよAIの新しい探索法ぷよぷよAIの新しい探索法
ぷよぷよAIの新しい探索法
 
強化学習その2
強化学習その2強化学習その2
強化学習その2
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
 
初めてのグラフカット
初めてのグラフカット初めてのグラフカット
初めてのグラフカット
 
PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築
 
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしないPyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
 

Destaque

Destaque (13)

戦技研 ぷよぷよAI 学生講義
戦技研 ぷよぷよAI 学生講義戦技研 ぷよぷよAI 学生講義
戦技研 ぷよぷよAI 学生講義
 
IT技術者でも1から学べるビジネスモデルキャンバス入門
IT技術者でも1から学べるビジネスモデルキャンバス入門IT技術者でも1から学べるビジネスモデルキャンバス入門
IT技術者でも1から学べるビジネスモデルキャンバス入門
 
Itエンジニアのための自然言語処理入門
Itエンジニアのための自然言語処理入門Itエンジニアのための自然言語処理入門
Itエンジニアのための自然言語処理入門
 
Trust Region Policy Optimization
Trust Region Policy OptimizationTrust Region Policy Optimization
Trust Region Policy Optimization
 
【強化学習】Montezuma's Revenge @ NIPS2016
【強化学習】Montezuma's Revenge @ NIPS2016【強化学習】Montezuma's Revenge @ NIPS2016
【強化学習】Montezuma's Revenge @ NIPS2016
 
[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning
[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning
[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning
 
最近のDQN
最近のDQN最近のDQN
最近のDQN
 
将棋ニューラルネットとこれからのゲームAI
将棋ニューラルネットとこれからのゲームAI将棋ニューラルネットとこれからのゲームAI
将棋ニューラルネットとこれからのゲームAI
 
【論文紹介】PGQ: Combining Policy Gradient And Q-learning
【論文紹介】PGQ: Combining Policy Gradient And Q-learning【論文紹介】PGQ: Combining Policy Gradient And Q-learning
【論文紹介】PGQ: Combining Policy Gradient And Q-learning
 
ビジネスモデルの作り方
ビジネスモデルの作り方ビジネスモデルの作り方
ビジネスモデルの作り方
 
AlphaGo Zero 解説
AlphaGo Zero 解説AlphaGo Zero 解説
AlphaGo Zero 解説
 
成功するスタートアップの作り方 ー 完全版
成功するスタートアップの作り方 ー 完全版 成功するスタートアップの作り方 ー 完全版
成功するスタートアップの作り方 ー 完全版
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning
 

Mais de Katsuki Ohto (6)

論文紹介 Anomaly Detection using One-Class Neural Networks (修正版
論文紹介 Anomaly Detection using One-Class Neural Networks (修正版論文紹介 Anomaly Detection using One-Class Neural Networks (修正版
論文紹介 Anomaly Detection using One-Class Neural Networks (修正版
 
ゲームAIを学んで1000年生きた話
ゲームAIを学んで1000年生きた話ゲームAIを学んで1000年生きた話
ゲームAIを学んで1000年生きた話
 
Tensorflowユーザから見た Alpha(Go)Zero, Ponanza (TFUG #7)
Tensorflowユーザから見た Alpha(Go)Zero, Ponanza (TFUG #7)Tensorflowユーザから見た Alpha(Go)Zero, Ponanza (TFUG #7)
Tensorflowユーザから見た Alpha(Go)Zero, Ponanza (TFUG #7)
 
論文紹介: Value Prediction Network
論文紹介: Value Prediction Network論文紹介: Value Prediction Network
論文紹介: Value Prediction Network
 
Introduction of "TrailBlazer" algorithm
Introduction of "TrailBlazer" algorithmIntroduction of "TrailBlazer" algorithm
Introduction of "TrailBlazer" algorithm
 
カーリングの局面評価関数を学習 WITH “TENSOR FLOW”
カーリングの局面評価関数を学習 WITH “TENSOR FLOW”カーリングの局面評価関数を学習 WITH “TENSOR FLOW”
カーリングの局面評価関数を学習 WITH “TENSOR FLOW”
 

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

Notas do Editor

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