• 検索結果がありません。

将棋ソフトウェアにおける棋譜データの利用と機械学習

N/A
N/A
Protected

Academic year: 2021

シェア "将棋ソフトウェアにおける棋譜データの利用と機械学習"

Copied!
32
0
0

読み込み中.... (全文を見る)

全文

(1)

将棋ソフトウェアにおける棋譜

データの利用と機械学習

佐藤 佳州

筑波大学システム情報工学研究科

パナソニック株式会社先端技術研究所

2013/12/16-18 NINSコロキウム 分科会

1

(2)

目次

コンピュータ将棋の現状とこれまでの歴史

ゲームの基本的なアルゴリズム

将棋における棋譜を利用した知識獲得

今後の研究動向

まとめ

2013/12/16-18 NINSコロキウム 分科会

2

(3)

目次

コンピュータ将棋の現状とこれまでの歴史

ゲームの基本的なアルゴリズム

将棋における棋譜を利用した知識獲得

今後の研究動向

まとめ

2013/12/16-18 NINSコロキウム 分科会

3

(4)

コンピュータ将棋とは

人間の指示なしに,コンピュータ自身が考え,指し手

を返すプログラム

様々な将棋ソフトが存在

Bonanza,GPS将棋,激指,YSS(AI将棋),Ponanza,…

年に1回,世界一のプログラムを決定するための,

世界コンピュータ将棋選手権

が開催されている

今年はBonanzaが優勝

ハードウェア制限なし

(GPS将棋:東大の教育用計算機で参加:3000コア以上)

学問的には,人工知能の一分野

2013/12/16-18 NINSコロキウム 分科会

4

(5)

電王戦

コンピュータ将棋が一躍注目を集めたイベント

第一回(2012年)

米長永世棋聖にコンピュータが勝利

かつての名人を破る

第二回(2013年)

現役プロとの対局において,コンピュータが

3勝1敗1分

初めて現役のプロに勝利

たった10人しかいない

A

級棋士に勝利

2013/12/16-18 NINSコロキウム 分科会

5

(6)

コンピュータ将棋の歴史

2000年代後半から急速に強くなる ⇒

機械学習の成功

並列探索の導入

実現確率探索

詰将棋

アルゴリズム

アマチュア高段者

ルール通りに指す アマチュア低級者

プロ中級

並列探索

クラスタ探索

評価関数の機械学習

(チェス)Deep Blueが 人間のチャンピョンを破る

初めての

プログラム

枝狩り手法の充実

2010

2000

1990

1980

強さ

技術

動向

手作業による評価関数

選択探索

合議

(現在)

2013/12/16-18 NINSコロキウム 分科会

6

(7)

目次

コンピュータ将棋の現状とこれまでの歴史

ゲームの基本的なアルゴリズム

将棋における棋譜を利用した知識獲得

今後の研究動向

まとめ

2013/12/16-18 NINSコロキウム 分科会

7

(8)

ゲームの基本的なアルゴリズム

人間は,

「読み」

と「大局観」

で指し手を決定

コンピュータの場合,それぞれ

「探索」

と「評価関数」

で実現

(9)

ゲームの基本的なアルゴリズム

人間は,

「読み」

と「大局観」

で指し手を決定

コンピュータの場合,それぞれ

「探索」

と「評価関数」

で実現

▲7六歩

▲2六歩

考えられる手を

すべて展開していく

(図では省略)

探索深さ = 1

2013/12/16-18 NINSコロキウム 分科会

9

(10)

ゲームの基本的なアルゴリズム

人間は,

「読み」

と「大局観」

で指し手を決定

コンピュータの場合,それぞれ

「探索」

と「評価関数」

で実現

▲7六歩

▲2六歩

考えられる手を

すべて展開していく

(図では省略)

△3四歩

△2六歩

△3四歩

△5二玉

探索深さ = 2

2013/12/16-18 NINSコロキウム 分科会

10

(11)

ゲームの基本的なアルゴリズム

人間は,

「読み」

と「大局観」

で指し手を決定

コンピュータの場合,それぞれ

「探索」

と「評価関数」

で実現

▲7六歩

▲2六歩

考えられる手を

すべて展開していく

(図では省略)

△3四歩

△2六歩

△3四歩

△5二玉

▲2六歩

▲1八香

▲7七角

▲9八香

▲76歩

▲5八玉

探索深さ = 3

2013/12/16-18 NINSコロキウム 分科会

11

(12)

ゲームの基本的なアルゴリズム

人間は,

「読み」

と「大局観」

で指し手を決定

コンピュータの場合,それぞれ

「探索」

と「評価関数」

で実現

▲7六歩

▲2六歩

終局までは探索できないため,ある程度の深さで探索を打ち切る

△3四歩

△2六歩

△3四歩

△5二玉

▲2六歩

▲1八香

▲7七角

▲9八香

▲76歩

▲5八玉

探索深さ = 3

2013/12/16-18 NINSコロキウム 分科会

12

(13)

ゲームの基本的なアルゴリズム

人間は,

「読み」

と「大局観」

で指し手を決定

コンピュータの場合,それぞれ

「探索」

と「評価関数」

で実現

▲7六歩

▲2六歩

△3四歩

△2六歩

△3四歩

△5二玉

▲2六歩

▲1八香

▲7七角

▲9八香

▲76歩

▲5八玉

探索深さ = 3

末端局面の優劣を

評価関数

で数値化

+10

-2

+3

-8

+15

+5

2013/12/16-18 NINSコロキウム 分科会

13

(14)

ゲームの基本的なアルゴリズム

人間は,

「読み」

と「大局観」

で指し手を決定

コンピュータの場合,それぞれ

「探索」

と「評価関数」

で実現

【最善手▲7六歩】

▲2六歩

△3四歩

△2六歩

△3四歩

△5二玉

▲2六歩

▲1八香

▲7七角

▲9八香

▲76歩

▲5八玉

+10

-2

+3

-8

+15

+5

+10

+3

-8

+15

-8

+3

+3

自分の手番 では,評価値が最大になるノードを,

相手の手番 では,評価値が最小となる(相手に取って最大になる)

ノードを,選択する

2013/12/16-18 NINSコロキウム 分科会

14

(15)

ゲーム木探索の難しさ(研究内容)

探索: よさそうな手を深く探索したい

(無駄な手は探索したくない)

評価関数: 局面の優劣を正確に

数値化することは困難

2013/12/16-18 NINSコロキウム 分科会

15

棋譜を利用した機械学習

(今回は評価関数に焦点)

(16)

評価関数とは(1)

局面の優劣を数値化する関数

評価関数

-45 (互角)

評価値

2013/12/16-18 NINSコロキウム 分科会

16

(17)

評価関数とは(2)

評価関数の例

• 従来は数千以上のパラメータ

を手作業で調整

• 人間の知識を正確に数値に

落としこむのは困難

機械学習が成功

[保木 2006]

将棋プログラムの飛躍的な

性能向上に繋がる

2013/12/16-18 NINSコロキウム 分科会

17

(18)

目次

コンピュータ将棋の現状とこれまでの歴史

ゲームの基本的なアルゴリズム

将棋における棋譜を利用した機械学習

今後の研究動向

まとめ

2013/12/16-18 NINSコロキウム 分科会

18

(19)

棋譜を用いた評価関数の学習

機械学習(教師あり学習)とは :

教師データ(棋譜)を用いて,パラメータを自動調整する

2013/12/16-18 NINSコロキウム 分科会

19

エキスパートの棋譜

各パラメータを

自動で決定

【将棋における評価関数の学習】

棋譜と同じ手を選択できるようにパラメータを学習する

(人間の真似を目指す)

※ 以降,具体的な学習手法の概要を説明

(20)

Comparison Training [Tesauro 2001]

評価関数学習の最も一般的な学習手法

棋譜中の

エキスパートの指し手とその他の合法手を比較

2013/12/16-18 NINSコロキウム 分科会

20

教師局面

棋譜中の指し手

その他の

合法手

αβ探索

末端局面

(評価局面)

エキスパートの指し手の評価が,その

他の合法手の評価を十分に上回るよう

に評価関数を学習

(21)

Comparison Training [Tesauro 2001]

2013/12/16-18 NINSコロキウム 分科会

21

Training position

Experts’ move

Other legal

moves

Alpha-beta

search

Leaf

positions

𝐽

1

(𝑃, 𝒗) = 𝑇 𝜉 𝑝

𝑚

, 𝒗 − 𝜉 𝑝

1

, 𝒗

𝑀

𝑝

𝑚=2

𝑝∈𝑃

目的関数

𝑃

: 学習局面の集合

𝑀

𝑝

: 局面 𝑝

における合法手の数

𝑝

𝑚

: 局面 𝑝 において指し手 𝑚 を選択した時の局面

(𝑚 = 1:棋譜中の指し手)

𝜉 𝑝

𝑚

, 𝒗 : 𝑝

𝑚

において,αβ探索を行った時の結果(評価値)

𝒗

: 評価局面の特徴

𝑇(𝑥)

: シグモイド関数

棋譜中の指し手の

評価値

その他の合法手

の評価値

チェスでも一部同様の手法が取り入れられる(Deep Blue)

将棋への応用[保木 2006]で大きな効果

(22)

学習データの規模

将棋の評価関数に用いられている学習データの規模

⇒ 見た目以上にずっと大きい

数万局

の棋譜から学習

一般的な認識

それってビッグデータなの?

実際には

数百万局面

から学習

1棋譜に百局面

程度含まれる

数億手

から学習

実際には膨大なデータを処理

1局面に数百手

含まれる

手作業では不可能だった,数十万以上のパラメータ調整が可能に

計算機の性能向上が,機械学習成功の大きな後押し

2013/12/16-18 NINSコロキウム 分科会

22

(23)

目次

コンピュータ将棋の現状とこれまでの歴史

ゲームの基本的なアルゴリズム

将棋における棋譜を利用した知識獲得

今後の研究動向

まとめ

2013/12/16-18 NINSコロキウム 分科会

23

(24)

現在の評価関数の性能

評価関数の性能 = 局面の優劣を正しく判断する能力

理想的な評価関数があれば,探索は不要(極論)

プログラム

レーティング

※ 本番用

3000~

gps_l (

学習/古いマシン)

2523

gps_normal (手調整/古いマシン)

2150

gps500 (ほとんど探索しない)

1583

【参考】Floodgate (東大: http://wdoor.c.u-tokyo.ac.jp/shogi/)

コンピュータ同士を自動対局させ,レーティングを出すサーバー

学習による強さの向上

も大きいものの,

実際には探索による

強さの向上はレーテ

ィング的にはそれ以上

現在の将棋プログラムの強さ

= 評価関数(以前より人間に近づく)

+ 探索(人間を凌駕)

まだ改良の余地は大きい

2013/12/16-18 NINSコロキウム 分科会

24

(25)

今後の研究動向

(+自分の研究)

将棋の場合,近いうちに人間のプレイヤに勝つことは確実

ただし,評価関数については,人間の評価能力(大局観,表現力)を獲

得したというわけではなく,さらなる研究の余地は大きい

【今後の研究課題】

(例)

特徴学習

(Feature Learning,Representation Learning)

データから,どのような特徴を評価するかという特徴自体を学習

(参考)Deep Learning

強いプログラムを学習するための

目的関数の学習

どのような学習棋譜が強いプログラムを生み出すか?

同じ学習棋譜でも,学習方法が異なれば,得られる知識は全く異なる

2013/12/16-18 NINSコロキウム 分科会

25

(26)

目的関数の学習 [Sato et al. 2013]

単純なComparison Trainingが学習してくれることはそれほど多くない

= プロの棋譜(指し手)との全体的な一致率の向上のみ

2013/12/16-18 NINSコロキウム 分科会

26

𝐽

1

(𝑃, 𝒗) = 𝑇 𝜉 𝑝

𝑚

, 𝒗 − 𝜉 𝑝

1

, 𝒗

𝑀𝑝 𝑚=2 𝑝∈𝑃

【課題】

勝敗に直結する局面で最善手を指したい

評価値の差の制御が考慮されていない

【手法】

学習局面の性質に応じて,一致の重要度,正解手と不正解手の評価値の

差を制御するパラメータ等を目的関数に導入

導入されたパラメータは,学習されたプログラムの強さを適応度とした進化

的計算で学習 ⇒

強くなるように棋譜を真似する目的関数を学習

従来手法と比較して,

6割程度の勝率を得る

(27)

どのような学習棋譜が有用か?(戦術)

2013/12/16-18 NINSコロキウム 分科会

27

順位

戦術

重要度の平均

1

四間飛車穴熊 - 銀冠

1.121

2

居飛穴模様 - 藤井システム

1.100

3

森下システム - △9五歩8四歩型

1.088

4

▲4七銀3七桂 - 金矢倉

1.079

5

相掛かり▲2六飛 - △5四歩型

1.061

・・・

・・・

・・・

96

居飛車穴熊 - 本美濃

0.951

97

矢倉 - 引き角

0.922

98

左美濃 - 高美濃

0.914

99

角交換型 - ゴキゲン中飛車

0.901

100

相腰掛け銀 - △6五歩型

0.899

穴熊,銀冠,矢倉など囲いを

発展させる戦術が上位に

(28)

実際の対局における戦術選択の比較

2013/12/16-18 NINSコロキウム 分科会

28

• 提案手法と従来手法の対局実験において,それぞれのプログ

ラムが選択した戦術を比較

戦術

各戦術の選択回数

従来手法

提案手法

本美濃

131

77

高美濃

45

54

銀冠

61

175

流れ矢倉

28

15

金矢倉

33

45

居飛車穴熊

210

215

四間飛車穴熊

38

40

三間飛車穴熊

65

39

提案手法では,囲いを

発展させる戦術や固い

囲いが選択されやすく

なっている

重要度を導入すること

により,

コンピュータに

とって勝ちやすい戦術

の選択を実現

28

提案手法

勝率0.581

(29)

目次

ゲーム研究の流れとコンピュータ将棋の現状

ゲームの基本的なアルゴリズム

将棋における棋譜を利用した知識獲得

今後の研究動向

まとめ

2013/12/16-18 NINSコロキウム 分科会

29

(30)

まとめ(1)

【棋譜を用いた評価関数の機械学習】

棋譜を教師とした機械学習の成功により,コンピュー

タ将棋は,人間のトッププレイヤに迫る強さを得る

⇒ ほぼ確実に,数年以内に人間を上回る

ただし,評価関数は人間の大局観以上のものが得ら

れているとはいえず,今後も改良の余地は大きい

同じ学習データを用いても,その活用方法(学習方

法)によって得られる知識は全く異なる

⇒ さらなる機械学習技術の研究が重要

2013/12/16-18 NINSコロキウム 分科会

30

(31)

まとめ(2)

【ビッグデータ研究としての意義】

将棋,囲碁等のゲームでは数万局(その背後に隠

れている数億手の教師データ)を容易に入手可能

個人情報,著作権等が絡まないオープンなデータ

ビッグデータに基づく機械学習の基礎研究対象とし

て,ゲームは今後も果たすべき役割は大きい

2013/12/16-18 NINSコロキウム 分科会

31

(32)

参照

関連したドキュメント

文字を読むことに慣れていない小学校低学年 の学習者にとって,文字情報のみから物語世界

○本時のねらい これまでの学習を基に、ユニットテーマについて話し合い、自分の考えをまとめる 学習活動 時間 主な発問、予想される生徒の姿

1-1 睡眠習慣データの基礎集計 ……… p.4-p.9 1-2 学習習慣データの基礎集計 ……… p.10-p.12 1-3 デジタル機器の活用習慣データの基礎集計………

子どもたちは、全5回のプログラムで学習したこと を思い出しながら、 「昔の人は霧ヶ峰に何をしにきてい

 学部生の頃、教育実習で当時東京で唯一手話を幼児期から用いていたろう学校に配

 学部生の頃、教育実習で当時東京で唯一手話を幼児期から用いていたろう学校に配

具体的な取組の 状況とその効果 に対する評価.

具体的な取組の 状況とその効果 に対する評価.