佐藤 佳州 パナソニック(株)先端技術研究所 研究員 |
[背景]強いゲームプログラムを実現するための知識の獲得
[問題]将棋における人間の棋譜を教師とした機械学習
[貢献]プログラムの強さを最大化するように目的関数を学習
ゲームの分野では,棋譜を教師とした機械学習が広く取り入れられ,プログラムの性能向上に貢献してきた.現在では,多くのゲームにおいて,探索や評価関数など,プログラムの強さを決定する主要なパラメータの多くが機械学習によって調整されている.特に近年では,コンピュータ将棋において,局面の優劣を数値化する評価関数の学習が成功を納め,プロ棋士に匹敵する強さとなっている.
ゲームにおける機械学習では,棋譜を教師とした,教師あり学習が最も一般的に用いられる.この手法は,人間の高段者等の棋譜を教師とし,棋譜中の指し手と同じ指し手をプログラムが選択できるようにパラメータを学習するというものである.棋譜を教師とした機械学習は,多くの課題に対して成功を収めているものの,以下の課題が存在する.
ゲームにおける機械学習では,棋譜を教師とした,教師あり学習が最も一般的に用いられる.この手法は,人間の高段者等の棋譜を教師とし,棋譜中の指し手と同じ指し手をプログラムが選択できるようにパラメータを学習するというものである.棋譜を教師とした機械学習は,多くの課題に対して成功を収めているものの,以下の課題が存在する.
- 学習棋譜の性質が考慮されていない
- 棋譜の指し手を模倣することを目的としており,強さとの関係が不明である
1. について,人間の棋譜は教師データとして均一な性質ではなく,対局者の強さ,1つの局面が勝敗に与える影響などには違いが存在する.しかし,従来の学習手法では,このようにさまざまな性質の局面が混在した学習データをすべて均一に扱っている.また,2. について,従来の学習手法は,プログラムの指し手と棋譜中の指し手の一致率を向上させることを目的としている.しかし,チェスなどの従来研究から,棋譜中の指し手との一致率の向上は,必ずしもプログラムの強さには結びつかないことが明らかになっている.さらに,一致率を向上させるような目的関数としては,さまざまなものが検討されているが,現在は手動で調整を行っており,プログラムの強さを決める要因となっている.
本研究では,これらの課題に対して,学習データの性質と強さの関係を取り入れた学習手法として,(1)教師データの重要度の学習,(2)目的関数の学習,を提案する.提案手法では,棋譜を教師とした学習と,進化的計算を用いた教師データの重要度および目的関数のパラメータの学習を組み合わせていることが特徴である.提案手法を用いることによって,棋譜を教師とした学習において,どのような局面を,どのように学習すれば「強い」プレイヤを学習できるかを自動的に獲得する.本研究では,提案手法を将棋の機械学習に適用し,効果を検証した.実験の結果,提案手法によって学習されたプログラムが従来手法のプログラムに対して有意に勝ち越し,提案手法の有効性を示した.提案手法は,「どのような特徴の教師データを,どのように学習するか」自体を獲得するものであり,将棋以外のゲームにおける機械学習を始めとした,幅広い課題に対して適用できると考えられる.
本研究では,これらの課題に対して,学習データの性質と強さの関係を取り入れた学習手法として,(1)教師データの重要度の学習,(2)目的関数の学習,を提案する.提案手法では,棋譜を教師とした学習と,進化的計算を用いた教師データの重要度および目的関数のパラメータの学習を組み合わせていることが特徴である.提案手法を用いることによって,棋譜を教師とした学習において,どのような局面を,どのように学習すれば「強い」プレイヤを学習できるかを自動的に獲得する.本研究では,提案手法を将棋の機械学習に適用し,効果を検証した.実験の結果,提案手法によって学習されたプログラムが従来手法のプログラムに対して有意に勝ち越し,提案手法の有効性を示した.提案手法は,「どのような特徴の教師データを,どのように学習するか」自体を獲得するものであり,将棋以外のゲームにおける機械学習を始めとした,幅広い課題に対して適用できると考えられる.

(2014年5月31日受付)