論 文 - 情報理学専攻

論 文
SVM による 2 部ランキング学習を用いた
コンピュータ将棋における評価関数の学習
末廣 大貴†
畑埜 晃平†
坂内 英夫†
瀧本 英二†
竹田 正幸†
Learning Evaluation Functions for Shogi Using SVM-based Bipartite Ranking Learning
Daiki SUEHIRO† , Kohei HATANO† , Hideo BANNAI† , Eiji TAKIMOTO† , and Masayuki
TAKEDA†
あらまし 近年,将棋の評価関数の設計においては,機械学習を応用してパラメータの自動調整を行う手法が
主流となっている.ただし,評価項目(特徴)は作成者の棋力,感覚に基づいて用意されることが多く,これま
で,複数の駒同士の関係など,複雑な特徴が数多く考案されてきた.本研究では,明示的に用意する特徴として
は局面を表す基本的で単純なもののみとし,多項式カーネルとサポートベクターマシン(SVM)を用いて評価関
数の学習を行う手法を提案する.多項式カーネルを用いることにより,単項式で表現できる特徴間の n 項関係
を,すべて高次の特徴として利用することができる.また,評価関数の学習問題を,合法手後の局面を順位づけ
る 2 部ランキングの問題と捉え,SVM を用いて学習を行う手法(ランキング SVM 法)を提案する.対局や棋譜
との一致率を調べる実験結果,および駒組みの観察等から,ランキング SVM 法の有効性を示す.
キーワード
評価関数,SVM,多項式カーネル,2 部ランキング,ランキング学習
数の学習を行う手法である.Bonanza Method の成功
1. ま え が き
以来,多くの強豪プログラムで,評価関数の作成に機
人工知能分野において,チェス,将棋,囲碁など様々
な思考ゲームの研究がなされている.将棋は,初手か
械学習を用いた手法が取り入れられている.
しかし,この手法にも依然問題は残されている.局
らの組み合わせが 10 の 220 乗ほども言われており,
面評価にどのような評価項目(特徴)を用意すべきか
必勝手順をコンピュータがしらみ潰しに求めることは
ということについては確立した手法がなく,依然とし
不可能と考えられている.しかし,コンピュータ将棋
て作成者の棋力,感覚に依存しているという点である.
は近年急速に進歩しており,いまやプロ棋士とも互角
例えば,有用な特徴として,複数の駒同士の位置関係
な勝負をするまでに至っている.その大きな要因の一
や,玉の周囲の利きの数などがあげられるが,多くの
つとして,保木による Bonanza Method と呼ばれる手
強豪プログラムでは,このような複雑な特徴が作成者
法 [13] の登場がある.コンピュータ将棋を成す重要
自身により多数用意され,結果として膨大な次元数の
なファクターとして,局面の優劣を判定する「評価関
特徴ベクトルが用いられている.しかし,有用な関係
数」がある.従来,評価関数は人間の手作業により作
を網羅しているかどうかは不明であり,その組み合わ
成されており,それには大変な労力がかかるという問
せの数を増やすと学習に要する計算時間も増大してし
題と,作成者の棋力,感覚に依存してしまうという問
まう.
題があった.Bonanza Method は,プロ棋士の棋譜を用
本稿ではこの問題を解決する手段として,明示的に
いて,各局面においてプロ棋士の指した手を学習の教
用意する評価項目は局面を表す基本的で単純なもの
師とし,その手が最大の評価値を与えるように評価関
(低次の特徴)のみとし,多項式カーネルと SVM(サ
†
ポートベクターマシン)を用いて学習を行う手法を提
九州大学大学院システム情報科学府
Graduate School/Faculty of Information Science and Electrical Engineering,
Kyushu University
電子情報通信学会論文誌 D Vol. Jxx–D
c (社)電子情報通信学会 xxxx
No. xx pp. 1–8 ⃝
1
電子情報通信学会論文誌 xxxx/xx Vol. Jxx–D No. xx
案する(注 1).次数 n の多項式カーネルを用いることに
より,低次の特徴の高々n 次の単項式で表現できる特
徴をすべて網羅することができる.また,カーネルの
計算量は次数 n に依存しないため,n を増やしても全
体の計算量は変化しない.
SVM は 2 クラス分類に用いられる線形学習機械と
して,非常に優れた性能を示す.従って,棋譜データ
に存在する局面を正例,存在しない局面を負例として
学習サンプルを構成し,これを SVM に与えて得られ
る関数 fSVM を評価関数として用いると,局面 x に対
する評価関数の値 fSVM (x) が正ならば x はプロ棋士
が指しそうな手,負ならばそうではない手という合理
的な判定を下すことができる.しかし,評価関数の値
そのもの fSVM (x) は,局面 x の優劣を表しているわ
けではない.従って,例えば次局面の評価値が全て負
である場合,その中で最も評価値の高い局面を最善と
考える根拠がない.局面の評価関数として求められて
いる性質は,その値が局面の優劣を表すこと,すなわ
ち,局面集合に対して正しい順位付け(ランキング)
を行うことである.そこで,評価関数の学習を,2 値
ラベルのついた学習サンプルからランキング関数を学
習する,いわゆる 2 部ランキング学習の問題 [7] と捉
え,ランキング学習の手法を用いる.
ランキング学習は,情報検索,推薦システム,バイ
オインフォマティクスなど様々な分野に応用を持つた
本稿は 5 章から成り,2 章では SVM とカーネル法
に関する基本的な説明,3 章ではランキング SVM の
説明と,ランキング SVM 法を用いた評価関数の学習
手法について述べる.4 章では対局や棋譜との一致率
の実験を行い,カーネル法およびランキング SVM 法
がコンピュータ将棋に有効であることを示し,5 章で
はランキング SVM 法の今後の課題について述べる.
2. SVM による評価関数の学習
本節では,評価関数の学習問題を 2 値分類学習器の
問題と捉え,SVM を適用する標準的な手法について
述べる.
2. 1 SVM
ま ず,SVM に よ る 学 習 の 一 般 的 な 枠 組 み に
つ い て 述 べ る .事 例 空 間 を X ⊂Rn ,ラ ベ ル 空 間
=
= {−1, 1} と し ,学 習 サ ン プ ル を S =
{(x1 , y1 ), . . . , (xm , ym )}⊂
=X × Y とする.xi を事例,
yi を事例 xi のラベルと呼ぶ.m は事例の数を表す.
を Y
SVM は,入力としてサンプル S が与えられると,
(ソ
フト)マージン最大化の原理に基づき,カーネルによっ
て定義される特徴空間における線形関数 f : X → R
を求めるものである.通常,f は任意の事例 x ∈ X に
対し,f (x) の符号に基づいて 2 クラス分類を行う仮説
として用いられる.関数 f は,カーネル K : X 2 → R
を用いて
め,非常に多くの研究が行われている [1]∼[7], [9]∼
[11].2 部ランキング学習の目標は,正例と負例のラ
ンダムな対に対し,高い確率で,正例の評価値が負例
の評価値よりも大きくなるようなランキング関数を
f (x) =
m
X
yi α∗i K(xi , x) + b∗
i=1
と表すことができる.ここで,αi∗ (i = 1, 2, . . . , m)
求めることである.ランキング学習の素朴な方法とし
は,以下の 2 次計画問題の最適解である.
て,ランキング問題を2クラス分類問題に還元する方
Maximize
法がある [2], [5], [7], [10], [11].従って,この問題に対
して,SVM などの任意の2クラス分類学習アルゴリ
W (α) =
ズムを適用することができる [2], [5], [7].しかし,通
常,この還元では,与えられた学習サンプルのサイズ
の 2 乗の大きさのサンプルを新たに構成する必要があ
るため,効率が悪い.本稿では,この還元を,合法手
により得られる次局面集合からなる部分サンプルにの
み適用することにより,必要メモリの大幅な削減及び,
計算時間の大幅な削減を図る.以降では,この提案ア
ルゴリズムをランキング SVM 法と呼ぶ.
m
X
i=1
αi −
m
1 X
yi yj αi αj K(xi , xj )
2 i,j=1
subject to
m
X
yi αi = 0,
i=1
C>
= αi >
= 0 (i = 1, . . . , m).
また,b∗ は,α∗i =
| 0 かつ αi∗ =
| C を満たす全ての i
に対し,yi f (xi ) = 1 を満たす実数,C は適当なパラ
メータである.
(注 1):カーネル法に基づく手法については, [14] にて一部発表済みで
ある.
2
2. 2 局面ベクトル
本研究では,事例ベクトル x の各成分を表す特徴
論文/SVM による 2 部ランキング学習を用いたコンピュータ将棋における評価関数の学習
(低次の特徴)として,局面を表現するための基本的で
単純な特徴のみを用いる.以下では,事例ベクトルを
局面ベクトルと呼ぶ.局面ベクトルの各成分の内訳は,
で定義される関数で,対応する特徴空間 RN , N =
`n+d´
d
の各次元が,高々d 次の単項式に対応する.すな
わち,この特徴空間は,低次の特徴の k 項関係(k <
= d)
で,単項式として表すことができるものを全て特徴と
(1) 盤上にある各駒の数
して含んでいる.すなわち,複数の駒同士の位置関係
(2) 持ち駒の種類とそれぞれの数
等や,玉の周囲の利きの数といった特徴も,この低次
(3) 盤上の各枡に位置している駒の種類
関係として非明示的に表現されることとなる.また,
(4) 盤上の各枡に対する利きの有無とその駒の種類
である.例えば初期局面であれば,先手の歩が盤上に
9 枚あること,先手の金が盤上に2枚あること,1 三
に後手の歩があること,1 四に後手の歩が利いている
こと等が,局面ベクトルの成分となる.ただし,実際
の局面ベクトルは,次のように冗長性を持たせること
により,すべての成分が 0 か 1 の値を取るものとなる.
項目 (1) の場合,各駒
の特徴(駒の位置,玉の位置,駒の利き等)の k 項
カーネルの計算量は次数 d に依存しないことから,特
徴空間の次元数 N がどれだけ大きくとも,学習に要
する計算量は増大しない.
2. 4 多項式カーネルの優位性
現在のコンピュータ将棋ソフトの多くでは,評価関
数に用いられる特徴は人間の知識,感覚により手作
業で用意されている.例えばコンピュータ将棋ソフト
「Bonanza」では,
(a) 駒の価値
p ∈ P ≡ { 先手歩, 後手歩, . . . , 先手馬, 後手馬 }
(b) 王,他の駒 2 つの位置
と各整数 i (0 <
「駒 p が盤上に i
= i <
= kp ) に対し,
枚存在するか否か」を 1 か 0 で符号化することによ
(c) 隣接しあった駒 2 つの位置関係
り,
(d) 竜馬飛角桂香の利き上にいる駒の種類
P
p∈P (kp
+ 1) 次元分のベクトル成分で表す.kp
は,駒 p が盤上に存在し得る数の上限であり,例えば,
p =「先手歩」の場合 kp = 9,p =「後手と金」の場合
(e) 竜馬飛角香が動ける枡の数
kp = 18 となり,項目 (1) の次元数は 130 となる.ま
(f) ピンされている駒の種類,方向,王との距離
た,項目 (2) の次元数は 84 となり,項目 (3) は,
「各升
に駒 p が存在するか否か」がそれぞれ特徴となり,
(た
だし,歩,桂,香はルール上位置することができない
升がある)次元数は 2196 となる.項目 (4) は「各升
に駒 p の利きが存在するか否か」がそれぞれ特徴とな
り,利きが存在し得ない駒と升の組を省き,次元数は
2358 となる.
こうして,局面ベクトルの次元数 n は 4768 となる.
2. 3 多項式カーネル
多くの強豪プログラムでは,こうした低次の特徴の
他に,作成者の感覚により有用と判断された複雑な特
徴が多数追加され,膨大な次元数の局面ベクトルが用
いられている.例えば,玉と金の位置関係や,玉の周
囲の利きの数などがあげられる.本研究では,こうし
た特徴の多くが低次の特徴の d 項関係として表すこと
ができる点に着目し,多項式カーネルを用いる.特に,
d 次の多項式カーネルは
K(a, b) = (a · b + 1)
(g) 角と同じ色の枡にいる味方の歩の数
(h) 歩桂銀が前進できるか
(i) 竜飛香の前後の歩
(j) 王の周囲 25 枡の利きの配置
が特徴として用いられていた [13].これらの特徴は,
全て 2. 2 で用意した基本的な特徴の積和形論理式で表
現可能である.例えば,(c) の特徴の1つとして,
「銀
の隣に金が存在する」という特徴 A は以下のように
表現できる.盤上の各升を l(1 <
=l<
= 81) とおき,2. 2
の項目 (3) の特徴を,駒 p が升 l に存在するかどうか
を表す論理変数 xp,l で表現したとき,
A = (x金,1 ∧ x銀,2 ) ∨ · · · ∨ (x金,81 ∧ x銀,80 )
のように表現できる.ここで,各項が排他的であるこ
d
とに注意すると,A は2次の多項式
3
電子情報通信学会論文誌 xxxx/xx Vol. Jxx–D No. xx
述べる.ランキング学習では,入力として,2. 1 で述
A = x金,1 x銀,2 + · · · + x金,81 x銀,80
と表現することもできる.同様にして,(a)∼(j) は基
本的な特徴の d 項関係,すなわち d 次多項式で表す
ことができる.多項式カーネルを用いた特徴空間は,
これらの高次の特徴をすべて含むので,
「Bonanza」の
特徴を全て含んでいることになる.また,他の強豪ソ
フトで用いられているようなさらに複雑な特徴,例え
ば「飛車成りを受けている駒の種類とその駒に利いて
いる駒の種類」,
「桂馬の前に相手が歩を打てる」など
の特徴も,多項式カーネルによって表現可能である.
よって,多項式カーネルによる特徴の自動生成はコン
ピュータ将棋において有効であると考えられる.
2. 5 棋譜データの利用
本研究では,多くの強豪プログラムと同様に,プ
ロ棋士の棋譜データセットを用いて学習サンプル S
を構築する.すなわち,各棋譜上の各局面 z に対し,
合法手により得られるすべての次局面からなる集合
Next(z) を求め,各次局面 x ∈ Next(z) に対し,局
面 x が棋譜データセットのどこかに存在するなら正例
(x, 1),存在しないなら負例 (x, −1) としてサンプル
S に加える.こうして作成したサンプルを訓練データ
として学習アルゴリズムに与え,評価関数を作成する.
2. 6 SVM 法
学習アルゴリズムとして SVM を用いた素朴な方法
について述べる.以降では,この手法を SVM 法と呼
べたような,2 値ラベルのついたサンプル
S = {(x1 , y1 ), . . . , (xm , ym )}⊂
=X × {1, −1}
が与えられる.学習アルゴリズムは,仮説としてラン
キング関数と呼ばれる実数値関数 f : X → R を出力
する.ここで,各事例 xi は,X 上のある確率分布 P
に従ってそれぞれ独立に選ばれると仮定する.アルゴ
リズムの目標は,分布 P を正例集合に制限した分布
P + に従って選ばれた事例 x と,負例集合に制限した
分布 P − に従って選ばれた事例 x′ に対し,高い確率
で f (x) > f (x′ ) が成り立つことである.この不等式
が成立しない確率を,ランキング関数 f の汎化誤差と
呼ぶ.いま,学習アルゴリズムが用いる仮説クラスを
F とする.すなわち,アルゴリズムが出力するランキ
ング関数 f は,F から選ばれるとする.
この問題は,次のようにして 2 クラス分類学習の問
題に還元できる.まず,サンプル S から,事例空間
X × X 上のサンプル
Sˆ = {((xi , xj ), 1) | yi = 1, yj = −1, 1 <
= i, j <
= m}
を構成する.すなわち,Sˆ は,S のすべての正例 xi
とすべての負例 xj の対 (xi , xj ) を事例として持つ.
すべての事例には正のラベルが付与されていることに
ぶ.2. 5 で作成したサンプルを SVM に与え,得られ
注意されたい.Sˆ の各事例は,分布 P + × P − からそ
る関数を fSVM とする.対局を行う際は,fSVM を局
こで,
面の評価関数として用いる.すなわち,局面 x に対し,
fSVM (x) がその局面の評価値となる.本研究では,与
えられた局面 z の次の一手として,次局面 x が
∗
∗
fSVM (x ) =
max
x∈Next(z)
fSVM (x)
を満たすような手を選択する.
3. ランキング SVM による評価関数の学習
本節では,評価関数の学習を,2 値ラベルのついた
学習サンプルからランキング関数を学習する 2 部ラン
キング関数の学習問題と捉え,SVM を用いた学習法
を提案する.以下では,2 部ランキング関数の学習を,
単にランキング学習と呼ぶ.
3. 1 ランキング学習
ここでは,ランキング学習の一般的な枠組みと,こ
れを 2 クラス分類学習の問題に還元する手法について
4
れぞれ独立に選ばれたものと考えることができる.こ
Fˆ = {fˆ(x, x′ ) = f (x) − f (x′ ) | f ∈ F }
とすると,Fˆ を仮説クラスとし,サンプル Sˆ から 2 値
分類仮説 fˆ ∈ Fˆ(fˆ の符号が正のとき 1,負のとき 0 と
分類)を求めることができれば,元の問題に対するラ
ンキング関数 f ∈ F を得ることができる.明らかに,2
値分類関数 fˆ とランキング関数 f の汎化誤差は等しい.
すなわち,事例 (x, x′ ) が分布 P + × P − に従って選
ばれるとき,Pr(fˆ(x, x′ ) < 0) = Pr(f (x) < f (x′ )).
3. 2 ランキング SVM
前節において,仮説クラス F を特徴空間上での
線形関数のクラスとすることにより,SVM を用い
てランキング学習を行うことができる [2].特徴写像
φ : X → RN を固定し,
F = {f (x) = W · φ(x) | W ∈ RN }
論文/SVM による 2 部ランキング学習を用いたコンピュータ将棋における評価関数の学習
とする.ランキング関数の定数項は,一般性を失わず
還元手法は適用できない.実際,プロ棋士の 5 万局の
に 0 とおくことができることに注意されたい.φ によ
棋譜データセットを用いて学習サンプル S を構築する
り定義されるカーネルを
と,m は 4 億を超える値となる.
K(x, x′ ) = φ(x) · φ(x′ )
とおく.さらに,特徴写像 ψ : X × X → RN を
ψ(x, x′ ) = φ(x) − φ(x′ )
しかし,将棋においては,あらゆる局面を順位付け
するのではなく,次局面の候補集合に対してのみ順位
づけができればよい.従って,本稿では,サンプル Sˆ
を次のように構成する.棋譜データ上の各局面 z に対
し,z の次局面のみからなる S の部分サンプル
と定義すると,前節で述べたように,仮説クラス F を
用いたランキング学習の問題は,X × X 上の線形関
数のクラス
Sz = S ∩ (Next(z) × {1, −1})
に対して前節の還元 Sˆz を行い,
Sˆ =
Fˆ = {fˆ(x, x′ ) = W · ψ(x, x′ ) | W ∈ RN }
を仮説クラスとする 2 値分類学習問題に還元される.
従って,X × X 上のカーネル
′
′
ˆ
K((x
1 , x1 ), (x2 , x 2 ))
= ψ(x1 , x′1 ) · ψ(x2 , x′2 )
= (φ(x1 ) − φ(x′1 )) · (φ(x2 ) − φ(x′2 ))
= K(x1 , x2 ) −
K(x1 , x′2 )
−K(x′1 , x2 ) + K(x′1 , x′2 )
を用 いて,サンプ ル Sˆ を SVM に与 える こ とによ
り,汎化誤差の小さい仮説 fˆ が得られることが期待
できる.通常,仮説 fˆ は,Sˆ の各事例に対する重み
{αi,j | yi = 1, yj = −1, 1 <
= i, j <
= m} として得られ
ˆ
る.仮説 f の重みベクトル W は,
W =
X
αi,j ψ(xi , xj )
i,j
のように表せるので,元のランキング問題における仮
説ランキング関数 f は,
f (x) = W · φ(x)
X
=
αi,j ψ(xi , xj ) · φ(x)
i,j
=
X
i,j
αi,j (K(xi , x) − K(xj , x))
と表すことができる.
3. 3 棋譜データの利用
[
Sˆz
z
とする.こうして作成したサンプルをランキング SVM
に与え,得られる関数を fRSVM とする.
対局を行う際は,fRSVM を局面の評価関数として用
いる.すなわち,局面 x に対し,fRSVM (x) がその局
面の評価値となる.すなわち,与えられた局面 z の次
の一手として,次局面 x∗ が
fRSVM (x∗ ) =
max
x∈Next(z)
fRSVM (x)
を満たすような手を選択する.
4. 実
験
本章では,カーネル法の有効性を示す例として対局
実験(各大会における実践)と,評価関数の出力した
手のランキングがどれだけ棋譜と一致しているかを測
る実験を行う.
4. 1 実 戦 譜
棋譜約 100 局よりサンプルを作成し,多項式カーネ
ルの次数 d は 10 とし,SVM-light [8] を用いて学習を
行い,fSVM を得た.この評価関数を用いてコンピュー
タ将棋ソフト「STR」の実装を行い,コンピュータ将棋
の各大会において他ソフトと対局を行った.他のコン
ピュータ将棋ソフトに用いられているような定跡デー
タベースは一切用いておらず,7 手詰みルーチンを組
み込んである以外は,先読みのための探索は行なって
いない.図 1 は,第 20 回世界コンピュータ将棋選手
権において,ponanza と対局した際に現れた局面,図
ランキング SVM においては,一般に,還元の際に
2 は,第 15 回コンピュータオリンピアード将棋部門に
生成されるサンプル Sˆ の大きさが Ω(m2 ) となるので,
おいて Bonanza と対局した際に現れた局面である.定
元のサンプルのサイズ m が大きい場合には,前節の
跡データを組み込んでいないにも関わらず,第 1 図で
5
電子情報通信学会論文誌 xxxx/xx Vol. Jxx–D No. xx
は ponanza の横歩取りに対し,8五飛車戦法で中原囲
を用いた SVM で,従来の SVM 手法よりも高速かつ
いと呼ばれる陣形を作っている.第 2 図では Bonanza
省メモリであるため多くのサンプルを与えることがで
の振り飛車穴熊に対し,居飛車戦法で美濃囲いと呼ば
きる.Pegasos のパラメータ λ(正規化パラメータ) を
れる陣形を作っており,人間のような自然な駒組みを
0.01,0.05,0.1,ϵ(解の精度を調整するパラメータ)
行えていることがわかる.先読みや定跡データベース
を 0.01,0.1 と変化させ,計 16 個の評価関数 fSVM ,
の搭載を行わずこのような人間らしい駒組みを行うた
fRSVM を作成した.アルゴリズムの反復回数 T は,
めには,駒同士の位置関係や相手の戦法など,多数の
1
λϵ
としてある.また,無作為に選んだテストデータ約
特徴の組み合わせを考慮しなければならず,カーネル
100 局分を用意し,棋譜上の投了局面以外の全ての局
法の有効性が現れていると言える.
面に対して合法手後の局面を生成し,それぞれの評価
関数を用いてランキング付けを行う.なお,探索はも
ちろん,定跡データベースや詰将棋ルーチンは組み込
んでいない.ランキング r 位以内の手を指した局面の
中に,棋譜の次局面と一致したものがあったとき,第
r ランキング以内で一致したとみなす.プロ棋士の棋
譜との一致率を,
(棋譜の一致数/棋譜での全局面数)と
する.ランキング 1 位の一致率にこそあまり差がない
ものの,多くのパラメータ設定において fRSVM の方
が,高い一致率を示していることがわかる.
表1
プロ棋士の棋譜との一致率.
Agreement rate with professional shogi player.
ϵ
図 1 先手 ponanza,後手 STR.後手5一金まで.
ponanza (black) vs STR (white).
λ
0.01
0.001
0.05
0.1
0.01
0.01
0.05
0.1
図 2 先手 Bonanza,後手 STR.後手3二銀まで.
Bonanza (black) vs STR (white).
4. 2 棋譜との一致率
次に,SVM 法とランキング SVM 法との比較実験
を行う.無作為に選んだ約 1000 局の棋譜をサンプル
として用いて学習を行った.(注 2)SVM の実装には Pe-
gasos [12] を用いた.Pegasos はランダムサンプリング
(注 2):ランキング SVM 法を用いた場合,1000 局をサンプルとした学
習でも約1周間ほどの時間を要する.Bonanza 等強豪ソフトで行ってい
6
r
1
3
5
1
3
5
1
3
5
1
3
5
1
3
5
1
3
5
SVM
0.056
0.119
0.163
0.057
0.118
0.163
0.056
0.119
0.163
0.056
0.118
0.162
0.056
0.121
0.164
0.058
0.120
0.164
RSVM
0.058
0.146
0.2014
0.063
0.137
0.194
0.049
0.119
0.172
0.051
0.116
0.172
0.038
0.110
0.156
0.056
0.131
0.174
さらに,パラメータが ϵ = 0.001, λ = 0.01 の fSVM ,
fRSVM を用い,各 r に対する棋譜との一致率を度数
分布にしたものが図 3 である.r を増やしていくと,
fRSVM が fRSVM に比べ著しく一致率が高くなってい
る.これらの結果から,SVM 法に比べ,ランキング
SVM 法がコンピュータ将棋に対して有効であること
が考えられる.
る数万局の学習には膨大な計算時間を要するため,本論文ではサンプル
数を大幅に小さくして実験を行った.
論文/SVM による 2 部ランキング学習を用いたコンピュータ将棋における評価関数の学習
boosting algorithm for combining preferences. Journal of Machine Learning Research, Vol. 4, pp. 933–969, 2003.
[6]
Jun ich Moribe, Kohei Hatano, and Eiji Takimotoand Masayuki
Takeda. Smooth Boostring for Margin-Based Ranking. In Proceedings of the 19th international conference on Algorithmic
Learning Theory, pp. 227–239, 2008.
[7]
T. Joachims. Optimizing search engines using clickthrough data.
In Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining, 2002.
[8]
Thorsten Joachims. Advances in kernel methods. chapter Making
large-scale support vector machine learning practical, pp. 169–
184. MIT Press, Cambridge, MA, USA, 1999.
図 3 プロ棋士の棋譜との一致率 (ϵ = 0.001, λ = 0.01).
Agreement rate with professional shogi player.
[9]
P. M. Long and R. A. Servedio. Boosting the area under the roc
curve. In Advances in Neural Information Processing Systems 20,
2008.
[10]
C. Rudin. Ranking with a p-norm push. In Proceedings of 19th
Annual Conference on Learning Theory, pp. 589–604, 2006.
5. 今後の課題
[11]
ranking meets boosting in the middle. In Proceedings of the 18th
より正確な局面評価を行うためには,ある程度 min-
imax 探索を行うことが必要であろう.従って,学習の
Annual Conference on Learning Theory, pp. 63–78, 2005.
[12]
フェーズにおいても,サンプルに含まれる局面ベクト
ルをそのまま事例として用いるのではなく,minimax
探索を行って得られる数手先の局面を事例として用い
らないが,そのようなデータは存在しない.従って,
minimax 探索を組み込んだ場合の学習の目的関数とし
て,2. 1 で記したような二次計画問題としての定式化
Shai Shalev-Shwartz, Yoram Singer, and Nathan Srebro. Pegasos:Primal Estimated sub-GrAdient SOlver for SVM. In 25th International Conference on Machine Learning(ICML), 2008.
[13]
ることが考えられる.しかし,ここでの minimax 探索
は,教師(プロ棋士)の読みによるものでなければな
C. Rudin, C. Cortes, M. Mohri, and R. E. Shapire. Margin-based
[14]
保木邦仁. 局面評価の学習を目指した探索結果の最適制御.
第 11 回ゲームプログラミングワークショップ, pp. 78–83,
2006.
末廣大貴, 畑埜晃平, 坂内英夫, 瀧本英二, 竹田正幸. カーネ
ル法を用いたコンピュータ将棋の評価関数の学習. 第 15 回
ゲームプログラミングワークショップ, pp. 23–27, 2010.
(平成 xx 年 xx 月 xx 日受付)
ができそうもない.そこで,現在の評価関数を用いて
行うという,標準的なヒューリスティックを用いるこ
となどが考えられる.また,学習サンプルを増やすほ
ど SVM が出力する仮説の重みベクトルの数が増大す
るため,実際の対局等において局面ベクトルとの内積
を計算するために多くの時間を要する.よって,重み
の小さい仮説は切り捨てるなどの工夫が必要である.
文
[1]
献
cation. In Proceedings of the 20th Annual Conference on Learning
Theory (COLT 2007), pp. 604–619, 2007.
U. Brefeld and T. Scheffer. Auc maximizing support vector learning. In Proceedings of the ICML Workshop on ROC Analysis in
Machine Learning, 2005.
[3]
W. W. Cohen, R. E. Schapire, and Y. Singer. Learning to order
things. Journal of Artificial Intelliegence Research, Vol. 10, pp.
243–279, 1999.
[4]
C. Cortes and M. Mohri. Auc optimization vs. error rate minimization. In Adances in Neural Information Processing Systems
16, 2004.
[5]
2011 年九州大学大学院システム情報科学
府情報学専攻修了.現在,同博士後期課程
在学中.ランキング学習などの機械学習分
野,コンピュータ将棋の研究に従事.
N. Balcan, N. Bansal, A. Beygelzimer, D. Coppersmith, J. Langford, and G. B. Sorkin. Robust reductions from ranking to classifi-
[2]
末廣 大貴
畑埜 晃平
2005 年東京工業大学大学院情報理工学研
究科数理・計算科学専攻博士課程修了.現
在,九州大学大学院システム情報科学研究
員情報学部門助教.工学博士.ブースティ
ングやオンライン学習等,機械学習に関す
る研究に従事.電子情報通信学会,人工知
能学会,LA シンポジウム各会員.
坂内 英夫
Y. Freund, Raj Iyer, R. E. Shapire, and Y. Singer. An efficient
7
電子情報通信学会論文誌 xxxx/xx Vol. Jxx–D No. xx
2000 年東京大学大学院理学系研究科情報
科学専攻修士課程修了,同年東京大学医科
学研究所助手. 現在,九州大学大学院シス
テム情報科学研究院情報学部門准教授.情
報理工学博士.文字列データの処理,特に
分類・パターン発見アルゴリズムに関する
研究に従事. 情報処理学会,日本バイオインフォマティクス学
会各会員.
瀧本 英二
1991 年東北大学大学院工学研究科情報工
学専攻博士課程修了.現在,九州大学大学
院システム情報科学研究院情報学部門教授.
工学博士.計算複雑性理論,計算学習理論,
オンライン学習に関する研究に従事.電子
ジウム各会員.
情報通信学会,情報処理学会,LA シンポ
竹田 正幸
1989 年同大大学院総合理工学研究科情報
システム学専攻修了,同年同大工学部電気
工学科助手.現在,同教授.工学博士.文
字列検索アルゴリズム,データ圧縮に関す
る研究に従事.電子情報通信学会,人工知
能学会,情報処理学会各会員.
8
Abstract Recently, automatic optimization of parameters by applying machine learning methods has become a mainstream approach for developing good evaluation functions in shogi. However, the features used in the evaluation functions are prepared by the developer, depending heavily on his/her knowledge and intuition. To date, many complex
features, such as relationships between multiple pieces, have been designed. In this paper, we propose an approach
using polynomial kernels and Support Vector Machines (SVM), where only very simple features will be prepared explicitly. Polynomial kernels allow us to consider high dimensional, n-ary relations of monomial features. We further
regard the problem of evaluation function learning as a bipartite ranking problem of the positions after legal moves, and
propose a method which uses SVMs (ranking SVM). We show the effectiveness of our algorithm through computational
experiments.
Key words evaluation function, SVM, polynomial kernel, Bipartite Ranking, ranking learning