第28回世界コンピュータ将棋選手権アピール文章 作成:井本 康宏 作成日:2018/3/吉日 Windfall 第28回世界コンピュータ将棋選手権アピール文章 作成:井本 康宏 作成日:2018/3/吉日
忙しい人のためのキーワード一覧 これさえあれば、1分で全てわかる 今回のWindfallは以下の要素で成り立っています 評価関数:deep neural networkに変更 ゲーム木探索:なくても何とかなる 仕様:脱ビットボード, 合法手の計算をニューラルネットで実行 プログラミング:Python, Tensorflow, sonnet, 今回はC++のコードはなし その他:なぜか後退した進捗 わからなかった方は、次項以降をどうぞ
開発者自己紹介 開発者 職業 棋力 開発のきっかけ 井本 康宏 エンジニア 測ったことがないのでわかりませんが、すごく弱いです 学生時代に囲碁・将棋部だったなんて言えない 開発のきっかけ 趣味、好奇心、研究スキル、プログラミングスキルの向上を目的として、当時、話題 だったこともあり開発を始めました
開発コンセプト 「せっかく作るのだったら、独創性にあふれるソフトにしたい」 直近の半年は評価関数を重点的に作成 (少なくとも開発を開始した当時の)既存のソフトの抱える多くの理論的な疑問点・問 題点の解決 例えば、どの局面を探索するか 探索の深さ、消費時間 枝刈り 水平線効果 bias-varianceを考慮しない評価値 理論的に有効性が確かめられた手法を取り入れれば、簡単に強いソフトが作れるはず 直近の半年は評価関数を重点的に作成
評価関数の開発 2駒関係を行列演算で表現するものからDNNに変更 しかし、学習は思う様に進まず 内部表現が全く学習できていなかった 仕方がないので、end-to-endでの学習をあきらめて特徴量を作り込むことに計 画を変更 そして なぜか、Tensorflowで差し手を生成するライブラリの開発が始まるのであった
差し手生成ライブラリ Tensorflow(ラッパーにsonnet)を利用して将棋の差し手を生成 たぶん世界初 つい、カッとなって作った。公開はしていない。 そのうち公開する予定 C++との連携を考えたくなかったので作りました 大量の局面を同時にGPUで計算すれば早いと信じています しかし、大会に持参するPCにGPUはないのだよ
その他 半年前の電王トーナメントで利用したC++のコードは利用しない予定です PythonからC++を呼び出しに謎のバグがあることがわかったので、今回はPythonの コードだけで参加します スレッドの主な制御がC++側にあるので複雑怪奇で手に負えなくなりました バグの原因はおそらくスレッド関係 その煽りを受けて、探索ルーチンもなくなりました 使用するライブラリもPythonから利用できるということで、python-shogiを利 用します やねうら王は多分使いません