SlideShare a Scribd company logo
1 of 45
Download to read offline
Copyright © 2014 OPT, Inc. All Rights Reserved.
Copyright © 2014 OPT, Inc. All Rights Reserved.
コンピュータ将棋・囲碁
における機械学習活用
Copyright © 2014 OPT, Inc. All Rights Reserved.
目次
0.導入
1.はじめに
2.コンピュータの知識獲得(探索と評価)
3.機械学習による特徴量生成
4.オープンソース1
5.コンピュータ囲碁
6.オープンソース2
2
Copyright © 2014 OPT, Inc. All Rights Reserved.
Copyright © 2014 OPT, Inc. All Rights Reserved.
0.導入
0.導入
1.はじめに
2.コンピュータの知識獲得(探索と評価)
3.機械学習による知識獲得
4.オープンソース1
5.コンピュータ囲碁
6.オープンソース2
Copyright © 2014 OPT, Inc. All Rights Reserved.
自己紹介
名前:加藤 尊
所属:
株式会社オプト テクノロジー開発2部
今までPythonの愛好家でしたが、
最近仕事ではScalaを書いています。
経歴:
東京工業大学知能システム科学専攻 渡辺研究室
修士論文「混合正規分布における正則特異判定方法の提案と評価」
その他:
・Facebook(機械学習と周辺技術情報の投稿)
https://www.facebook.com/shogiai
・趣味
将棋、ニコニコ動画
4
Copyright © 2014 OPT, Inc. All Rights Reserved.
今回の参考文献と御礼
1.東京大学新領域創成科学研究科基盤情報学専攻博士論文
「ゲーム知識を表現する語彙の棋譜データからの自動獲得」
三輪誠,2008年
http://repository.dl.itc.u-tokyo.ac.jp/dspace/handle/2261/24349
2.強化確率ロボットモデルでの逆強化学習について
@mabonakai0725さん
http://www1.m.jcnnet.jp/mabonki/doc/POMDP_IRL.pdf
を参考にさせて頂きました!
5
Copyright © 2014 OPT, Inc. All Rights Reserved.
Copyright © 2014 OPT, Inc. All Rights Reserved.
1.はじめに
0.導入
1.はじめに
2.コンピュータの知識獲得(探索と評価)
3.機械学習による知識獲得
4.オープンソース1
5.コンピュータ囲碁
6.オープンソース2
Copyright © 2014 OPT, Inc. All Rights Reserved.
将棋は木構造
現局面から次の局面への遷移を枝で表すと、木構造になる。
遷移 遷移
0手目 1手目 手目
7
木構造
Copyright © 2014 OPT, Inc. All Rights Reserved.
将棋のゲーム木を作成するには?
人間は、「読み」と「大局観」で指し手を決定するが…
PCは、「探索」と「評価」で指し手を決定する!
tannsaku 評価
↓
探索
↓
評価
↓
探索
具体的には、 を繰り返す。
1)探索アルゴリズム
探索をして初めて、ゲーム木探索における変化した先の局面を判断することが可能になる。
2)機械学習を利用した評価関数
変化した先の局面の先の良し悪しを決める。
局面の評価を行い、その有利さから局面同士の順位付けを行う。
8
実現方法
Copyright © 2014 OPT, Inc. All Rights Reserved.
Copyright © 2014 OPT, Inc. All Rights Reserved.
2.コンピュータの知識獲得
(探索と評価)
0.導入
1.はじめに
2.コンピュータの知識獲得(探索と評価)
3.機械学習による知識獲得
4.オープンソース1
5.コンピュータ囲碁
6.オープンソース2
Copyright © 2014 OPT, Inc. All Rights Reserved.
Copyright © 2014 OPT, Inc. All Rights Reserved.
2.1 探索
Copyright © 2014 OPT, Inc. All Rights Reserved.
Minimax探索
2プレイヤが最善の手を選ぶと仮定し、
その中で最も自分に有利な状態となる次の手を評価関数を用いて選択する。
1.自分の手番
⇒ 自分に有利な(評価値が最も高い)手を選択。
2.相手の手番
⇒ 相手が最も良い(評価値が最も低い)手を選択し、
その評価値を親ノードの評価値とする。
3.この評価値の親への伝搬を再帰的に繰り返す。
パスができる。
このパスが、コンピュータの読み筋となる。
11
Minimax法のアルゴリズム
Copyright © 2014 OPT, Inc. All Rights Reserved.
探索の効率化
将棋の木は指数爆発する ( ≒ 10220通り )ので、
探索数をどのように抑えるかは重要な課題である。
1.枝刈り
2.探索の順序付け
が重要。
1.αβ 探索(分枝限定法と同様)
・深さ優先探索
・過去に探索・評価したノードの値を、保存・更新
・評価値が現在探索した一定値を超えた場合、その先を探索しない。
例(上図参照):
( Bの評価値) = 40,( Dの評価値) = 20のとき、必ず、( Aの評価値) = 40となる
(理由) (Eの評価値)=xについて、max(40,min(20,x))=40なので、
ノードEを探索する必要はない。
12
探索アルゴリズムの課題
Copyright © 2014 OPT, Inc. All Rights Reserved.
探索の効率化
2.前向き枝刈り
探索ノードを減らすために、
ヒューリスティックに基づいて
・ノードの深い探索で評価値を予測する
・現局面以下を枝刈りできるか判断して枝刈りする
方法が提案されている。
閾値を設け、
一定評価値or
一定実現確率以下の
探索は打ち切る。
13
Copyright © 2014 OPT, Inc. All Rights Reserved.
実現確率打ち切り探索
木の深さの代わりに、
局面の実現確率を閾値として深さ優先探索を行う探索手法
(局面の実現確率) = (直前局面の実現確率探索)×(遷移確率)
※1
遷移確率:ある局面が,可能な指し手によって遷移しうる局面のうち
ある1つの局面に変化する確率
(遷移確率) =
(実際にカテゴリの手が指された数)
(カテゴリの手が可能である局面数)
※2
羽生善治実践集に含まれる600局のプロの棋譜から、遷移確率を計算している。
(探索手法はαβ探索アルゴリズムと同様だが)
局面の実現確率を閾値としている点で異なる。
ありそうな手を深く読み、なさそうな手を読まない探索。
14
実現確率打ち切り探索
Copyright © 2014 OPT, Inc. All Rights Reserved.
論文では
「実現確率打ち切り探索」が実装されている将棋ソフト「激指」
遷移確率の計算において、
局面の指し手の評価に必然手・手筋が組み込まれていない。
「激指」の遷移確率をn-gram統計量を用いたものに切り替える。
※n-gram統計量:(単語単位ではなく)文字単位で分解し、
後続の N-1 文字を含めた状態で出現頻度を求めるもの
改良以前の激指と対戦し、150戦で、 83勝67敗と勝ち越した。
提案手法が有効であることが確認された。
15
現状の課題
結果
研究の方針
Copyright © 2014 OPT, Inc. All Rights Reserved.
Copyright © 2014 OPT, Inc. All Rights Reserved.
2.2 評価
Copyright © 2014 OPT, Inc. All Rights Reserved.
1. 学習による評価関数の獲得
2. 計算コストを下げる工夫
局面評価の注意点:
1.評価知識の利用方法
(良くも悪くも)評価値は探索に大きな影響を与える。
評価値を活用した枝刈りで、深い探索をするよりも、
評価値による枝刈りを活用しない浅い探索が優れている場合もある。
2.精度と速度
学習結果は探索中に用いられるため、
学習結果を利用するために必要な計算コストが課題になる。
精度と速度のトレードオフを検討する必要がある。
3.静的評価関数
探索アルゴリズムとの整合性を保つために
静的評価関数 (現在の局面という既知の情報の評価)を扱う。
評価関数とは? 17
述べること
局面評価の注意点
Copyright © 2014 OPT, Inc. All Rights Reserved.
学習による評価関数の獲得
1.深い人間の知識を基に有用と考えられる評価要素を選択し、
2.機械学習を用いて評価の重み調整を行う。(今回はココ)
1)強化学習
対戦を通して、評価関数の重みを調整。
2)教師あり学習
プロの棋譜が与えられた状況で、
その棋譜の指し手・結果、局面の評価と一致するように、評価関数の重みを調整。
殆どのゲームで
強さは、「 教師あり学習 > 強化学習 」だが、
教師あり学習には、
・教師データの取得
・教師データの精度に大きく影響する
というデメリットがある。
18
Copyright © 2014 OPT, Inc. All Rights Reserved.
強化学習
自己対戦・他プレイヤとの対戦を通じて評価関数の重みを調整。
教師用データがいらない。
局所最適に陥りやすい。
( 自己対戦 < サーバー上のプレイヤとの対戦 )
TD学習:未来の状態とその報酬から、
現在の状態の補正を行う手法。
終局における勝ち・負けの報酬を、
終局に至るまでの局面に伝搬させる。
局面を終局の評価値に近づくよう
補正する。
19
欠点
利点
TD学習
Copyright © 2014 OPT, Inc. All Rights Reserved.
教師あり学習
棋譜を基に機械学習を行うことで評価関数の重みを調整。
1.指し手の順序関係を教師とした学習
「差し手の順序関係を教師とした学習」が、
「差し手の順序が評価関数での評価」と一致するように学習を行う。
2.棋譜の終局局面を対象とした学習
対戦結果を予測するように評価関数の学習を行う。
序中盤にも教師例が得られるため、
「1.差し手の順序関係を用いた学習」≧ 「2.終局局面を対象とした学習」
20
学習方法
Copyright © 2014 OPT, Inc. All Rights Reserved.
棋譜の指し手と評価関数が一致するように、
1.棋譜の指し手と評価値の順位が一致するように
(指し手の評価) ≧ (その他の手)
となるように、
評価値を学習させる。
2.規模感
数万局 ⇒ 数百万局面 ⇒ 数億手から、
数十万パラメータを学習させる。
指し手の順序関係を教師とした学習 21
代表的なソフト「Bonanza」では…
Copyright © 2014 OPT, Inc. All Rights Reserved.
計算コストを下げる工夫 22
対策
問題点 評価
探索を行う度に
局面を評価する必要があるのだが… 探索
学習は、計算コストが高い。
探索
評価
ルールベースに
人の知識を用いて順位付けすることもある。
- 単純に、差し手の順位だけを決めて
計算コストを削減する。
例.「直前に動いた駒を取る手」「狙われている駒を逃げる手」は、価値が高い!
Copyright © 2014 OPT, Inc. All Rights Reserved.
Copyright © 2014 OPT, Inc. All Rights Reserved.
3.機械学習による特徴量生成
0.導入
1.はじめに
2.コンピュータの知識獲得(探索と評価)
3.機械学習による知識獲得
4.オープンソース1
5.コンピュータ囲碁
6.オープンソース2
Copyright © 2014 OPT, Inc. All Rights Reserved.
機械学習で用いるデータの課題
1.データの異常
データのラベル付けにおける矛盾、欠損値の存在により学習が難しくなる。
・データの特徴不足、ラベル付け間違い
・得られない、計測ミス が考えられる。
2.データ形式の非統一
データ形式(連続値・離散値・記号データ)の非統一、正規化の必要などの問題
3.データを表現する特徴の問題
表現している特徴(属性、変量)により、学習が困難となり学習の精度が下がる問題。
データが冗長でなく、かつ十分に表現できる特徴が得られないことが原因。
将棋では、3番目しか起こりえないので、
3.データを表現する特徴の問題を取り上げる。
24
考えられる理由
Copyright © 2014 OPT, Inc. All Rights Reserved.
特徴量生成手法
特徴が多い多次元データに対して、次元を下げることを目的として用いられる。
1.計算コストが大きい
2.汎化性能が向上しなくなる
(2.の理由)
・次元が増えるに従いデータ間の距離が離れ、似たような位置に属する相関の高い情報が増える。
・次元に対して、十分な訓練データが得られない。
⇒ 学習が難しくなる。
1.特徴抽出:高次元の特徴空間を元と異なる低次元の特徴空間に射影する
2.特徴選択:特徴から、重要な特徴を選ぶor不要な特徴を省く
3.特徴構築:特徴を組み合わせて、多くの特徴を作った後に、
特徴選択により、重要な特徴を選択する。
25
特徴量生成手法
理由
Copyright © 2014 OPT, Inc. All Rights Reserved.
比較
特徴抽出:軸を新たに合成する、作成する。
特徴選択:軸を選択する。(ある軸を捨てる)
精度 計算コスト
特徴抽出 ○ ×
特徴選択 × ○
(両者を併用することもありますが、)
2つの手法について、
・目的と分類
・利点と欠点 を示す。
26
特徴量生成手法の比較
Copyright © 2014 OPT, Inc. All Rights Reserved.
特徴抽出
( 高次元の特徴空間 ⇒ 低次元へ )
低次元特徴空間では、データ(データのラベルに関する)情報の損失が
少ない射影を行う必要がある。
設定した基準において、空間の射影に必要なパラメータを求める。
1.パラメータを求めるのに、全データを扱う必要がある
⇒ 計算コストが高い。
2.データ処理を、射影後に行う必要がある。(多重共線性)
⇒ ランニングコストが高い。
コストが高いものを全く異なる射影空間に射影する
⇒ 指標・学習データについて最適なものを求められることが多い。
1.「教師あり手法」と「教師なし手法」
2.「線形射影手法」と「非線形射影手法」
27
欠点
目的
利点
分類
Copyright © 2014 OPT, Inc. All Rights Reserved.
特徴選択
与えられた特徴の中から重要な特徴を選択。
特徴の一部に着目して取り出す。
全てのデータを用いた計算をする必要がない。
データ処理で、元の特徴で表現されたデータをそのまま使える。
1.選択した特徴が元の特徴に依存して、
互いに独立でなく相関のある特徴が存在する。
2.選択の順番により、結果が異なったりするなど精度が低い。
1.フィルタメソッド
特徴の評価に、機械学習の代わりに適当な評価基準(統計量etc)を用いる手法
2.ラッパーメソッド
選択候補の特徴を用いた機械学習を行い、結果を基に特徴選択を行う手法
計算コスト:フィルタ ≧ ラッパー / 計算精度:フィルタ ≦ ラッパー
( ラッパーメソッドでは過適合が報告されている )
28
利点
欠点
目的
分類
Copyright © 2014 OPT, Inc. All Rights Reserved.
ボナンザメソッド
ボナンザの評価関数での特徴量は…
29
Copyright © 2014 OPT, Inc. All Rights Reserved.
駒の三角関係
任意の駒を頂点とした三角形のうち、
「良い形といわれる特徴的な三角形」を特徴量とする。
30
Copyright © 2014 OPT, Inc. All Rights Reserved.
Copyright © 2014 OPT, Inc. All Rights Reserved.
4.オープンソース1
0.導入
1.はじめに
2.コンピュータの知識獲得(探索と評価)
3.機械学習による知識獲得
4.オープンソース1
5.コンピュータ囲碁
6.オープンソース2
Copyright © 2014 OPT, Inc. All Rights Reserved.
オープンソース
「Apery」
https://github.com/HiraokaTakuya/apery
(C++で書かれている)
「将棋所」というGUIソフト
http://www.geocities.jp/shogidokoro/
上でのみ動作保障。
※Windowsでは動作、
Macでは動作しない(個人検証)
32
将棋ソフト
環境
Copyright © 2014 OPT, Inc. All Rights Reserved.
Copyright © 2014 OPT, Inc. All Rights Reserved.
5.コンピュータ囲碁
0.導入
1.はじめに
2.コンピュータの知識獲得(探索と評価)
3.機械学習による知識獲得
4.オープンソース1
5.コンピュータ囲碁
6.オープンソース2
Copyright © 2014 OPT, Inc. All Rights Reserved.
最近のニュース
2016年1月28日、囲碁界だけでなく
コンピュータープログラム業界にも衝撃が走った日だと思います。
これまでコンピューターが人間に勝つのは困難とされていた
最後の砦である囲碁で、
欧州のプロがGoogle DeepMind社開発のプログラムAlphaGoに
ハンディキャップなしで5戦全敗したからです。
棋譜を5局ともみましたが、
私個人はコンピューターにぶっちぎられてしまった感満載です。
(http://umeyan.hatenablog.com/entry/2016/01/29/051333より引用)
34
ニュース
Copyright © 2014 OPT, Inc. All Rights Reserved.
コンピュータ囲碁
囲碁は(将棋と違い)、局面の評価関数・特徴量を生成することが困難。
(将棋は、駒の三角関係を用いた特徴量生成)
評価関数を用いない「モンテカルロ木探索法」が主流
※参考:
モンテカルロ木探索で一人不完全情報ゲーム「計算」を賢くする[1]~[15]
http://labs.timedia.co.jp/author/author3a1b5/
35
将棋との違い
囲碁で用いられる手法
Copyright © 2014 OPT, Inc. All Rights Reserved.
Google社の囲碁
公式ページにおいて、コードやアルゴリズムは公開しないとのことですが…
http://deepmind.com/alpha-go.html
ディープニューラルネットワークを用いて実装された
・value network(価値を決めるもの)
・policy network(方策を決めるもの)
が動作する、モンテカルロ木探索
1.人間のプレーヤーを模倣
棋譜に記録された熟練した棋士の手と合致するように訓練
2.ある程度強くなると…
強化学習を用いて自分自身と多数の対戦を行うことでさらに訓練
36
原型
トレーニング
Copyright © 2014 OPT, Inc. All Rights Reserved.
DQN(Deep Q-Network)
ゲーム攻略で人間を超えた人工知能、その名は「DQN」
グーグルが昨年買収したDeepMind社の人工知能(AI)「DQN」。
『Atari 2600』のゲーム49本を学習させたところ、
その半数以上で人間に匹敵、時には上回るスコアを記録した。
37
Copyright © 2014 OPT, Inc. All Rights Reserved.
Googleについて
DQNで得た逆強化学習に対する知見が、
大きな要因ではないでしょうか
※Facebook社もコンピュータ囲碁に参入していたが、プロには到底及ばす…
“Better Computer Go Player with Neural Network and Long-term Prediction”
http://arxiv.org/abs/1511.06410
38
Copyright © 2014 OPT, Inc. All Rights Reserved.
Q学習とは
行動価値関数Q(𝑠, 𝑎)に対し、
𝑄 𝑠, 𝑎 ← 1 − 𝑎 𝑄(𝑠, 𝑎) + 𝑎 𝑟 + 𝛾 max
𝑎′
𝑄 𝜃 𝑁
𝑠′
, 𝑎′
と更新
𝑟: 状態 𝑠 で行動𝑎を選択した後の環境から受け取った報酬
𝑠′
: 状態 s で行動𝑎を選択した後、次の時刻で受け取った状態
𝑎: 学習率、 𝛾:強化信号の割引率
𝑄 𝑠, 𝑎 について、
その関数自身を含む 𝑟 + 𝛾 max
𝑎′
𝑄 𝜃 𝑁
𝑠′
, 𝑎′
に少しづつ近づけていく
𝑄(𝑠, 𝑎)表の更新だけで学習ができる
環境モデルを学習する必要がない
39
Q学習アルゴリズム
解釈
メリット
Copyright © 2014 OPT, Inc. All Rights Reserved.
DQNのメカニズム
囲碁(あるいは多くの実問題)において、報酬関数は良く分からない
・複数の専門家(熟練者)の行動データから
報酬を学習する逆強化学習
・行動価値関数QをDeep CNNで訓練(20層~30層)
40
逆強化学習(報酬を学習する)
Copyright © 2014 OPT, Inc. All Rights Reserved.
逆強化学習法の例1
Maximum Entropy Deep Inverse Reinforcement Learning
41
Copyright © 2014 OPT, Inc. All Rights Reserved.
逆強化学習法の例2
Inverse Reinforcement Learning
with Locally Consistent Reward Functions
42
Copyright © 2014 OPT, Inc. All Rights Reserved.
Copyright © 2014 OPT, Inc. All Rights Reserved.
6.オープンソース2
0.導入
1.はじめに
2.コンピュータの知識獲得(探索と評価)
3.機械学習による知識獲得
4.オープンソース1
5.コンピュータ囲碁
6.オープンソース2
Copyright © 2014 OPT, Inc. All Rights Reserved.
DQNオープンソース(Python)
1.Qiita記事
DQNの生い立ち+Deep Q-NetworkをChainerで書いた
http://qiita.com/Ugo-Nama/items/08c6a5f6a571335972d5
2.GitHub
https://github.com/ugo-nama-kun/DQN-chainer
44
Copyright © 2014 OPT, Inc. All Rights Reserved.
DQNオープンソース
入力:多数のサンプル(𝑠, 𝑎, 𝑟, 𝑠′)からなるデータ 𝐷
出力:学習後の𝑄関数 𝑄 𝜃 𝑁
(𝑠, 𝑎)
1. 𝑘 = 0で初期化
2. ニューラルネットワークのパラメータ𝜃0を初期化
3. 繰り返し: 𝑁 − 1 回繰り返す
4. データ𝐷からサンプルを𝑀個取り出す
5. M個のサンプルを元に
・教師信号𝑡𝑎𝑟𝑔𝑒𝑡 𝑡
= 𝑟𝑡 + 𝛾𝑚𝑎𝑥 𝑎´ 𝑄 𝜃 𝑁
(𝑠′
𝑡 , 𝑎′)
・入力(𝑠𝑡, 𝑎 𝑡)
を作成( 𝑡 = 1,2, … , 𝑀 )
6. 作成した教師信号 𝑡𝑎𝑟𝑔𝑒𝑡 𝑡と入力(𝑠𝑡, 𝑎 𝑡)を元に、
𝑄 𝜃(𝑠, 𝑎)と教師信号の誤差𝐿 𝜃を最急降下法で最小化する
学習が収束するなり一定の条件を満たしたら、その結果を𝜃 𝑘+1とする
7. 𝑘 ← 𝑘 + 1とし、𝑄 𝜃 𝑁
(𝑠, 𝑎)を出力として返す
45
アルゴリズム

More Related Content

What's hot

ノンパラメトリックベイズを用いた逆強化学習
ノンパラメトリックベイズを用いた逆強化学習ノンパラメトリックベイズを用いた逆強化学習
ノンパラメトリックベイズを用いた逆強化学習Shota Ishikawa
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜Jun Okumura
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有Naoaki Okazaki
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識佑 甲野
 
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめたKatsuya Ito
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門Momoko Hayamizu
 
最近のDQN
最近のDQN最近のDQN
最近のDQNmooopan
 
AlphaGo Zero 解説
AlphaGo Zero 解説AlphaGo Zero 解説
AlphaGo Zero 解説suckgeun lee
 
深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)Junichiro Katsuta
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展Deep Learning JP
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心Shota Imai
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るにはAsai Masataro
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用Yasunori Ozaki
 
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Hideki Tsunashima
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17Takuya Akiba
 
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1Masashi Shibata
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence ModelingDeep Learning JP
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析Yuki Mizuno
 
「これからの強化学習」勉強会#1
「これからの強化学習」勉強会#1「これからの強化学習」勉強会#1
「これからの強化学習」勉強会#1Chihiro Kusunoki
 

What's hot (20)

ノンパラメトリックベイズを用いた逆強化学習
ノンパラメトリックベイズを用いた逆強化学習ノンパラメトリックベイズを用いた逆強化学習
ノンパラメトリックベイズを用いた逆強化学習
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
 
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門
 
最近のDQN
最近のDQN最近のDQN
最近のDQN
 
AlphaGo Zero 解説
AlphaGo Zero 解説AlphaGo Zero 解説
AlphaGo Zero 解説
 
深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心
 
BERT入門
BERT入門BERT入門
BERT入門
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
 
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
Disentanglement Survey:Can You Explain How Much Are Generative models Disenta...
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17
 
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
CMA-ESサンプラーによるハイパーパラメータ最適化 at Optuna Meetup #1
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 
「これからの強化学習」勉強会#1
「これからの強化学習」勉強会#1「これからの強化学習」勉強会#1
「これからの強化学習」勉強会#1
 

Similar to コンピュータ将棋・囲碁における機械学習活用

コンピュータ将棋について~機械学習を用いた局面学習への道~
コンピュータ将棋について~機械学習を用いた局面学習への道~コンピュータ将棋について~機械学習を用いた局面学習への道~
コンピュータ将棋について~機械学習を用いた局面学習への道~Takashi Kato
 
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月VirtualTech Japan Inc.
 
最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み
最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み
最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組みTakashi Okamoto
 
IoTに活用!センサの基礎セミナー
IoTに活用!センサの基礎セミナーIoTに活用!センサの基礎セミナー
IoTに活用!センサの基礎セミナーshimane-itoc
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱Koichi ITO
 
Hello Engineer World! 新人リケジョの1年
Hello Engineer World! 新人リケジョの1年Hello Engineer World! 新人リケジョの1年
Hello Engineer World! 新人リケジョの1年Satoko Shiroi
 
AITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれからAITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれからYasuyuki Sugai
 
MANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-OnMANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-On陽平 山口
 
Jupyter Notebookを納品した話
Jupyter Notebookを納品した話Jupyter Notebookを納品した話
Jupyter Notebookを納品した話Hiroki Yamamoto
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎Preferred Networks
 
テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善Mizuho Wakai
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト健一 辰濱
 
Qt5のセンサーAPIを使ってみたい
Qt5のセンサーAPIを使ってみたいQt5のセンサーAPIを使ってみたい
Qt5のセンサーAPIを使ってみたいYou&I
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようKenji NAKAGAKI
 
ITフォーラム2021 先端IT活用推進コンソーシアム(4/7)
ITフォーラム2021 先端IT活用推進コンソーシアム(4/7)ITフォーラム2021 先端IT活用推進コンソーシアム(4/7)
ITフォーラム2021 先端IT活用推進コンソーシアム(4/7)aitc_jp
 

Similar to コンピュータ将棋・囲碁における機械学習活用 (20)

コンピュータ将棋について~機械学習を用いた局面学習への道~
コンピュータ将棋について~機械学習を用いた局面学習への道~コンピュータ将棋について~機械学習を用いた局面学習への道~
コンピュータ将棋について~機械学習を用いた局面学習への道~
 
20141111 明日の認証会議資料(寺田)
20141111 明日の認証会議資料(寺田)20141111 明日の認証会議資料(寺田)
20141111 明日の認証会議資料(寺田)
 
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月
『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月
 
最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み
最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み
最適化の視点から見た人工知能とSENSY社でのリサーチャー育成の取り組み
 
IoTに活用!センサの基礎セミナー
IoTに活用!センサの基礎セミナーIoTに活用!センサの基礎セミナー
IoTに活用!センサの基礎セミナー
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
Hello Engineer World! 新人リケジョの1年
Hello Engineer World! 新人リケジョの1年Hello Engineer World! 新人リケジョの1年
Hello Engineer World! 新人リケジョの1年
 
AITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれからAITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれから
 
MANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-OnMANABIYA Machine Learning Hands-On
MANABIYA Machine Learning Hands-On
 
Jupyter Notebookを納品した話
Jupyter Notebookを納品した話Jupyter Notebookを納品した話
Jupyter Notebookを納品した話
 
Introduction Pycon2010
Introduction Pycon2010Introduction Pycon2010
Introduction Pycon2010
 
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」  佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
 
20140610 秋山-ss2014
20140610 秋山-ss201420140610 秋山-ss2014
20140610 秋山-ss2014
 
テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト
 
Qt5のセンサーAPIを使ってみたい
Qt5のセンサーAPIを使ってみたいQt5のセンサーAPIを使ってみたい
Qt5のセンサーAPIを使ってみたい
 
July techfesta2014 f30
July techfesta2014 f30July techfesta2014 f30
July techfesta2014 f30
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
 
ITフォーラム2021 先端IT活用推進コンソーシアム(4/7)
ITフォーラム2021 先端IT活用推進コンソーシアム(4/7)ITフォーラム2021 先端IT活用推進コンソーシアム(4/7)
ITフォーラム2021 先端IT活用推進コンソーシアム(4/7)
 
Why python
Why pythonWhy python
Why python
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 

Recently uploaded (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 

コンピュータ将棋・囲碁における機械学習活用

  • 1. Copyright © 2014 OPT, Inc. All Rights Reserved. Copyright © 2014 OPT, Inc. All Rights Reserved. コンピュータ将棋・囲碁 における機械学習活用
  • 2. Copyright © 2014 OPT, Inc. All Rights Reserved. 目次 0.導入 1.はじめに 2.コンピュータの知識獲得(探索と評価) 3.機械学習による特徴量生成 4.オープンソース1 5.コンピュータ囲碁 6.オープンソース2 2
  • 3. Copyright © 2014 OPT, Inc. All Rights Reserved. Copyright © 2014 OPT, Inc. All Rights Reserved. 0.導入 0.導入 1.はじめに 2.コンピュータの知識獲得(探索と評価) 3.機械学習による知識獲得 4.オープンソース1 5.コンピュータ囲碁 6.オープンソース2
  • 4. Copyright © 2014 OPT, Inc. All Rights Reserved. 自己紹介 名前:加藤 尊 所属: 株式会社オプト テクノロジー開発2部 今までPythonの愛好家でしたが、 最近仕事ではScalaを書いています。 経歴: 東京工業大学知能システム科学専攻 渡辺研究室 修士論文「混合正規分布における正則特異判定方法の提案と評価」 その他: ・Facebook(機械学習と周辺技術情報の投稿) https://www.facebook.com/shogiai ・趣味 将棋、ニコニコ動画 4
  • 5. Copyright © 2014 OPT, Inc. All Rights Reserved. 今回の参考文献と御礼 1.東京大学新領域創成科学研究科基盤情報学専攻博士論文 「ゲーム知識を表現する語彙の棋譜データからの自動獲得」 三輪誠,2008年 http://repository.dl.itc.u-tokyo.ac.jp/dspace/handle/2261/24349 2.強化確率ロボットモデルでの逆強化学習について @mabonakai0725さん http://www1.m.jcnnet.jp/mabonki/doc/POMDP_IRL.pdf を参考にさせて頂きました! 5
  • 6. Copyright © 2014 OPT, Inc. All Rights Reserved. Copyright © 2014 OPT, Inc. All Rights Reserved. 1.はじめに 0.導入 1.はじめに 2.コンピュータの知識獲得(探索と評価) 3.機械学習による知識獲得 4.オープンソース1 5.コンピュータ囲碁 6.オープンソース2
  • 7. Copyright © 2014 OPT, Inc. All Rights Reserved. 将棋は木構造 現局面から次の局面への遷移を枝で表すと、木構造になる。 遷移 遷移 0手目 1手目 手目 7 木構造
  • 8. Copyright © 2014 OPT, Inc. All Rights Reserved. 将棋のゲーム木を作成するには? 人間は、「読み」と「大局観」で指し手を決定するが… PCは、「探索」と「評価」で指し手を決定する! tannsaku 評価 ↓ 探索 ↓ 評価 ↓ 探索 具体的には、 を繰り返す。 1)探索アルゴリズム 探索をして初めて、ゲーム木探索における変化した先の局面を判断することが可能になる。 2)機械学習を利用した評価関数 変化した先の局面の先の良し悪しを決める。 局面の評価を行い、その有利さから局面同士の順位付けを行う。 8 実現方法
  • 9. Copyright © 2014 OPT, Inc. All Rights Reserved. Copyright © 2014 OPT, Inc. All Rights Reserved. 2.コンピュータの知識獲得 (探索と評価) 0.導入 1.はじめに 2.コンピュータの知識獲得(探索と評価) 3.機械学習による知識獲得 4.オープンソース1 5.コンピュータ囲碁 6.オープンソース2
  • 10. Copyright © 2014 OPT, Inc. All Rights Reserved. Copyright © 2014 OPT, Inc. All Rights Reserved. 2.1 探索
  • 11. Copyright © 2014 OPT, Inc. All Rights Reserved. Minimax探索 2プレイヤが最善の手を選ぶと仮定し、 その中で最も自分に有利な状態となる次の手を評価関数を用いて選択する。 1.自分の手番 ⇒ 自分に有利な(評価値が最も高い)手を選択。 2.相手の手番 ⇒ 相手が最も良い(評価値が最も低い)手を選択し、 その評価値を親ノードの評価値とする。 3.この評価値の親への伝搬を再帰的に繰り返す。 パスができる。 このパスが、コンピュータの読み筋となる。 11 Minimax法のアルゴリズム
  • 12. Copyright © 2014 OPT, Inc. All Rights Reserved. 探索の効率化 将棋の木は指数爆発する ( ≒ 10220通り )ので、 探索数をどのように抑えるかは重要な課題である。 1.枝刈り 2.探索の順序付け が重要。 1.αβ 探索(分枝限定法と同様) ・深さ優先探索 ・過去に探索・評価したノードの値を、保存・更新 ・評価値が現在探索した一定値を超えた場合、その先を探索しない。 例(上図参照): ( Bの評価値) = 40,( Dの評価値) = 20のとき、必ず、( Aの評価値) = 40となる (理由) (Eの評価値)=xについて、max(40,min(20,x))=40なので、 ノードEを探索する必要はない。 12 探索アルゴリズムの課題
  • 13. Copyright © 2014 OPT, Inc. All Rights Reserved. 探索の効率化 2.前向き枝刈り 探索ノードを減らすために、 ヒューリスティックに基づいて ・ノードの深い探索で評価値を予測する ・現局面以下を枝刈りできるか判断して枝刈りする 方法が提案されている。 閾値を設け、 一定評価値or 一定実現確率以下の 探索は打ち切る。 13
  • 14. Copyright © 2014 OPT, Inc. All Rights Reserved. 実現確率打ち切り探索 木の深さの代わりに、 局面の実現確率を閾値として深さ優先探索を行う探索手法 (局面の実現確率) = (直前局面の実現確率探索)×(遷移確率) ※1 遷移確率:ある局面が,可能な指し手によって遷移しうる局面のうち ある1つの局面に変化する確率 (遷移確率) = (実際にカテゴリの手が指された数) (カテゴリの手が可能である局面数) ※2 羽生善治実践集に含まれる600局のプロの棋譜から、遷移確率を計算している。 (探索手法はαβ探索アルゴリズムと同様だが) 局面の実現確率を閾値としている点で異なる。 ありそうな手を深く読み、なさそうな手を読まない探索。 14 実現確率打ち切り探索
  • 15. Copyright © 2014 OPT, Inc. All Rights Reserved. 論文では 「実現確率打ち切り探索」が実装されている将棋ソフト「激指」 遷移確率の計算において、 局面の指し手の評価に必然手・手筋が組み込まれていない。 「激指」の遷移確率をn-gram統計量を用いたものに切り替える。 ※n-gram統計量:(単語単位ではなく)文字単位で分解し、 後続の N-1 文字を含めた状態で出現頻度を求めるもの 改良以前の激指と対戦し、150戦で、 83勝67敗と勝ち越した。 提案手法が有効であることが確認された。 15 現状の課題 結果 研究の方針
  • 16. Copyright © 2014 OPT, Inc. All Rights Reserved. Copyright © 2014 OPT, Inc. All Rights Reserved. 2.2 評価
  • 17. Copyright © 2014 OPT, Inc. All Rights Reserved. 1. 学習による評価関数の獲得 2. 計算コストを下げる工夫 局面評価の注意点: 1.評価知識の利用方法 (良くも悪くも)評価値は探索に大きな影響を与える。 評価値を活用した枝刈りで、深い探索をするよりも、 評価値による枝刈りを活用しない浅い探索が優れている場合もある。 2.精度と速度 学習結果は探索中に用いられるため、 学習結果を利用するために必要な計算コストが課題になる。 精度と速度のトレードオフを検討する必要がある。 3.静的評価関数 探索アルゴリズムとの整合性を保つために 静的評価関数 (現在の局面という既知の情報の評価)を扱う。 評価関数とは? 17 述べること 局面評価の注意点
  • 18. Copyright © 2014 OPT, Inc. All Rights Reserved. 学習による評価関数の獲得 1.深い人間の知識を基に有用と考えられる評価要素を選択し、 2.機械学習を用いて評価の重み調整を行う。(今回はココ) 1)強化学習 対戦を通して、評価関数の重みを調整。 2)教師あり学習 プロの棋譜が与えられた状況で、 その棋譜の指し手・結果、局面の評価と一致するように、評価関数の重みを調整。 殆どのゲームで 強さは、「 教師あり学習 > 強化学習 」だが、 教師あり学習には、 ・教師データの取得 ・教師データの精度に大きく影響する というデメリットがある。 18
  • 19. Copyright © 2014 OPT, Inc. All Rights Reserved. 強化学習 自己対戦・他プレイヤとの対戦を通じて評価関数の重みを調整。 教師用データがいらない。 局所最適に陥りやすい。 ( 自己対戦 < サーバー上のプレイヤとの対戦 ) TD学習:未来の状態とその報酬から、 現在の状態の補正を行う手法。 終局における勝ち・負けの報酬を、 終局に至るまでの局面に伝搬させる。 局面を終局の評価値に近づくよう 補正する。 19 欠点 利点 TD学習
  • 20. Copyright © 2014 OPT, Inc. All Rights Reserved. 教師あり学習 棋譜を基に機械学習を行うことで評価関数の重みを調整。 1.指し手の順序関係を教師とした学習 「差し手の順序関係を教師とした学習」が、 「差し手の順序が評価関数での評価」と一致するように学習を行う。 2.棋譜の終局局面を対象とした学習 対戦結果を予測するように評価関数の学習を行う。 序中盤にも教師例が得られるため、 「1.差し手の順序関係を用いた学習」≧ 「2.終局局面を対象とした学習」 20 学習方法
  • 21. Copyright © 2014 OPT, Inc. All Rights Reserved. 棋譜の指し手と評価関数が一致するように、 1.棋譜の指し手と評価値の順位が一致するように (指し手の評価) ≧ (その他の手) となるように、 評価値を学習させる。 2.規模感 数万局 ⇒ 数百万局面 ⇒ 数億手から、 数十万パラメータを学習させる。 指し手の順序関係を教師とした学習 21 代表的なソフト「Bonanza」では…
  • 22. Copyright © 2014 OPT, Inc. All Rights Reserved. 計算コストを下げる工夫 22 対策 問題点 評価 探索を行う度に 局面を評価する必要があるのだが… 探索 学習は、計算コストが高い。 探索 評価 ルールベースに 人の知識を用いて順位付けすることもある。 - 単純に、差し手の順位だけを決めて 計算コストを削減する。 例.「直前に動いた駒を取る手」「狙われている駒を逃げる手」は、価値が高い!
  • 23. Copyright © 2014 OPT, Inc. All Rights Reserved. Copyright © 2014 OPT, Inc. All Rights Reserved. 3.機械学習による特徴量生成 0.導入 1.はじめに 2.コンピュータの知識獲得(探索と評価) 3.機械学習による知識獲得 4.オープンソース1 5.コンピュータ囲碁 6.オープンソース2
  • 24. Copyright © 2014 OPT, Inc. All Rights Reserved. 機械学習で用いるデータの課題 1.データの異常 データのラベル付けにおける矛盾、欠損値の存在により学習が難しくなる。 ・データの特徴不足、ラベル付け間違い ・得られない、計測ミス が考えられる。 2.データ形式の非統一 データ形式(連続値・離散値・記号データ)の非統一、正規化の必要などの問題 3.データを表現する特徴の問題 表現している特徴(属性、変量)により、学習が困難となり学習の精度が下がる問題。 データが冗長でなく、かつ十分に表現できる特徴が得られないことが原因。 将棋では、3番目しか起こりえないので、 3.データを表現する特徴の問題を取り上げる。 24 考えられる理由
  • 25. Copyright © 2014 OPT, Inc. All Rights Reserved. 特徴量生成手法 特徴が多い多次元データに対して、次元を下げることを目的として用いられる。 1.計算コストが大きい 2.汎化性能が向上しなくなる (2.の理由) ・次元が増えるに従いデータ間の距離が離れ、似たような位置に属する相関の高い情報が増える。 ・次元に対して、十分な訓練データが得られない。 ⇒ 学習が難しくなる。 1.特徴抽出:高次元の特徴空間を元と異なる低次元の特徴空間に射影する 2.特徴選択:特徴から、重要な特徴を選ぶor不要な特徴を省く 3.特徴構築:特徴を組み合わせて、多くの特徴を作った後に、 特徴選択により、重要な特徴を選択する。 25 特徴量生成手法 理由
  • 26. Copyright © 2014 OPT, Inc. All Rights Reserved. 比較 特徴抽出:軸を新たに合成する、作成する。 特徴選択:軸を選択する。(ある軸を捨てる) 精度 計算コスト 特徴抽出 ○ × 特徴選択 × ○ (両者を併用することもありますが、) 2つの手法について、 ・目的と分類 ・利点と欠点 を示す。 26 特徴量生成手法の比較
  • 27. Copyright © 2014 OPT, Inc. All Rights Reserved. 特徴抽出 ( 高次元の特徴空間 ⇒ 低次元へ ) 低次元特徴空間では、データ(データのラベルに関する)情報の損失が 少ない射影を行う必要がある。 設定した基準において、空間の射影に必要なパラメータを求める。 1.パラメータを求めるのに、全データを扱う必要がある ⇒ 計算コストが高い。 2.データ処理を、射影後に行う必要がある。(多重共線性) ⇒ ランニングコストが高い。 コストが高いものを全く異なる射影空間に射影する ⇒ 指標・学習データについて最適なものを求められることが多い。 1.「教師あり手法」と「教師なし手法」 2.「線形射影手法」と「非線形射影手法」 27 欠点 目的 利点 分類
  • 28. Copyright © 2014 OPT, Inc. All Rights Reserved. 特徴選択 与えられた特徴の中から重要な特徴を選択。 特徴の一部に着目して取り出す。 全てのデータを用いた計算をする必要がない。 データ処理で、元の特徴で表現されたデータをそのまま使える。 1.選択した特徴が元の特徴に依存して、 互いに独立でなく相関のある特徴が存在する。 2.選択の順番により、結果が異なったりするなど精度が低い。 1.フィルタメソッド 特徴の評価に、機械学習の代わりに適当な評価基準(統計量etc)を用いる手法 2.ラッパーメソッド 選択候補の特徴を用いた機械学習を行い、結果を基に特徴選択を行う手法 計算コスト:フィルタ ≧ ラッパー / 計算精度:フィルタ ≦ ラッパー ( ラッパーメソッドでは過適合が報告されている ) 28 利点 欠点 目的 分類
  • 29. Copyright © 2014 OPT, Inc. All Rights Reserved. ボナンザメソッド ボナンザの評価関数での特徴量は… 29
  • 30. Copyright © 2014 OPT, Inc. All Rights Reserved. 駒の三角関係 任意の駒を頂点とした三角形のうち、 「良い形といわれる特徴的な三角形」を特徴量とする。 30
  • 31. Copyright © 2014 OPT, Inc. All Rights Reserved. Copyright © 2014 OPT, Inc. All Rights Reserved. 4.オープンソース1 0.導入 1.はじめに 2.コンピュータの知識獲得(探索と評価) 3.機械学習による知識獲得 4.オープンソース1 5.コンピュータ囲碁 6.オープンソース2
  • 32. Copyright © 2014 OPT, Inc. All Rights Reserved. オープンソース 「Apery」 https://github.com/HiraokaTakuya/apery (C++で書かれている) 「将棋所」というGUIソフト http://www.geocities.jp/shogidokoro/ 上でのみ動作保障。 ※Windowsでは動作、 Macでは動作しない(個人検証) 32 将棋ソフト 環境
  • 33. Copyright © 2014 OPT, Inc. All Rights Reserved. Copyright © 2014 OPT, Inc. All Rights Reserved. 5.コンピュータ囲碁 0.導入 1.はじめに 2.コンピュータの知識獲得(探索と評価) 3.機械学習による知識獲得 4.オープンソース1 5.コンピュータ囲碁 6.オープンソース2
  • 34. Copyright © 2014 OPT, Inc. All Rights Reserved. 最近のニュース 2016年1月28日、囲碁界だけでなく コンピュータープログラム業界にも衝撃が走った日だと思います。 これまでコンピューターが人間に勝つのは困難とされていた 最後の砦である囲碁で、 欧州のプロがGoogle DeepMind社開発のプログラムAlphaGoに ハンディキャップなしで5戦全敗したからです。 棋譜を5局ともみましたが、 私個人はコンピューターにぶっちぎられてしまった感満載です。 (http://umeyan.hatenablog.com/entry/2016/01/29/051333より引用) 34 ニュース
  • 35. Copyright © 2014 OPT, Inc. All Rights Reserved. コンピュータ囲碁 囲碁は(将棋と違い)、局面の評価関数・特徴量を生成することが困難。 (将棋は、駒の三角関係を用いた特徴量生成) 評価関数を用いない「モンテカルロ木探索法」が主流 ※参考: モンテカルロ木探索で一人不完全情報ゲーム「計算」を賢くする[1]~[15] http://labs.timedia.co.jp/author/author3a1b5/ 35 将棋との違い 囲碁で用いられる手法
  • 36. Copyright © 2014 OPT, Inc. All Rights Reserved. Google社の囲碁 公式ページにおいて、コードやアルゴリズムは公開しないとのことですが… http://deepmind.com/alpha-go.html ディープニューラルネットワークを用いて実装された ・value network(価値を決めるもの) ・policy network(方策を決めるもの) が動作する、モンテカルロ木探索 1.人間のプレーヤーを模倣 棋譜に記録された熟練した棋士の手と合致するように訓練 2.ある程度強くなると… 強化学習を用いて自分自身と多数の対戦を行うことでさらに訓練 36 原型 トレーニング
  • 37. Copyright © 2014 OPT, Inc. All Rights Reserved. DQN(Deep Q-Network) ゲーム攻略で人間を超えた人工知能、その名は「DQN」 グーグルが昨年買収したDeepMind社の人工知能(AI)「DQN」。 『Atari 2600』のゲーム49本を学習させたところ、 その半数以上で人間に匹敵、時には上回るスコアを記録した。 37
  • 38. Copyright © 2014 OPT, Inc. All Rights Reserved. Googleについて DQNで得た逆強化学習に対する知見が、 大きな要因ではないでしょうか ※Facebook社もコンピュータ囲碁に参入していたが、プロには到底及ばす… “Better Computer Go Player with Neural Network and Long-term Prediction” http://arxiv.org/abs/1511.06410 38
  • 39. Copyright © 2014 OPT, Inc. All Rights Reserved. Q学習とは 行動価値関数Q(𝑠, 𝑎)に対し、 𝑄 𝑠, 𝑎 ← 1 − 𝑎 𝑄(𝑠, 𝑎) + 𝑎 𝑟 + 𝛾 max 𝑎′ 𝑄 𝜃 𝑁 𝑠′ , 𝑎′ と更新 𝑟: 状態 𝑠 で行動𝑎を選択した後の環境から受け取った報酬 𝑠′ : 状態 s で行動𝑎を選択した後、次の時刻で受け取った状態 𝑎: 学習率、 𝛾:強化信号の割引率 𝑄 𝑠, 𝑎 について、 その関数自身を含む 𝑟 + 𝛾 max 𝑎′ 𝑄 𝜃 𝑁 𝑠′ , 𝑎′ に少しづつ近づけていく 𝑄(𝑠, 𝑎)表の更新だけで学習ができる 環境モデルを学習する必要がない 39 Q学習アルゴリズム 解釈 メリット
  • 40. Copyright © 2014 OPT, Inc. All Rights Reserved. DQNのメカニズム 囲碁(あるいは多くの実問題)において、報酬関数は良く分からない ・複数の専門家(熟練者)の行動データから 報酬を学習する逆強化学習 ・行動価値関数QをDeep CNNで訓練(20層~30層) 40 逆強化学習(報酬を学習する)
  • 41. Copyright © 2014 OPT, Inc. All Rights Reserved. 逆強化学習法の例1 Maximum Entropy Deep Inverse Reinforcement Learning 41
  • 42. Copyright © 2014 OPT, Inc. All Rights Reserved. 逆強化学習法の例2 Inverse Reinforcement Learning with Locally Consistent Reward Functions 42
  • 43. Copyright © 2014 OPT, Inc. All Rights Reserved. Copyright © 2014 OPT, Inc. All Rights Reserved. 6.オープンソース2 0.導入 1.はじめに 2.コンピュータの知識獲得(探索と評価) 3.機械学習による知識獲得 4.オープンソース1 5.コンピュータ囲碁 6.オープンソース2
  • 44. Copyright © 2014 OPT, Inc. All Rights Reserved. DQNオープンソース(Python) 1.Qiita記事 DQNの生い立ち+Deep Q-NetworkをChainerで書いた http://qiita.com/Ugo-Nama/items/08c6a5f6a571335972d5 2.GitHub https://github.com/ugo-nama-kun/DQN-chainer 44
  • 45. Copyright © 2014 OPT, Inc. All Rights Reserved. DQNオープンソース 入力:多数のサンプル(𝑠, 𝑎, 𝑟, 𝑠′)からなるデータ 𝐷 出力:学習後の𝑄関数 𝑄 𝜃 𝑁 (𝑠, 𝑎) 1. 𝑘 = 0で初期化 2. ニューラルネットワークのパラメータ𝜃0を初期化 3. 繰り返し: 𝑁 − 1 回繰り返す 4. データ𝐷からサンプルを𝑀個取り出す 5. M個のサンプルを元に ・教師信号𝑡𝑎𝑟𝑔𝑒𝑡 𝑡 = 𝑟𝑡 + 𝛾𝑚𝑎𝑥 𝑎´ 𝑄 𝜃 𝑁 (𝑠′ 𝑡 , 𝑎′) ・入力(𝑠𝑡, 𝑎 𝑡) を作成( 𝑡 = 1,2, … , 𝑀 ) 6. 作成した教師信号 𝑡𝑎𝑟𝑔𝑒𝑡 𝑡と入力(𝑠𝑡, 𝑎 𝑡)を元に、 𝑄 𝜃(𝑠, 𝑎)と教師信号の誤差𝐿 𝜃を最急降下法で最小化する 学習が収束するなり一定の条件を満たしたら、その結果を𝜃 𝑘+1とする 7. 𝑘 ← 𝑘 + 1とし、𝑄 𝜃 𝑁 (𝑠, 𝑎)を出力として返す 45 アルゴリズム