TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

2019-10-01から1ヶ月間の記事一覧

cshogiをOpenAI Gymインターフェースに対応させてみた

強化学習の勉強をしていてアルゴリズムを実装して試してみたいが、CartPoleとか学習させても面白くないのでせっかくなので将棋で試せるようにしてみたくなった。ということで、cshogiをOpenAI Gymインターフェースに対応させてみた。 Gymインターフェース 公…

cshogiのバグ修正とdlshogi-zeroの更新

cshogiにいくつかバグがあったので修正した。 move16がデグレード やねうら王の教師局面に対応した際に、move16がデグレードしていた。 単純な編集ミスだったので修正した。 千日手が判定できないバグ board.is_draw()は、引数に遡る手数を受け取るが、デフ…

エントロピー正則化項の微分

以前に方策が決定論的にならないようにするために、損失にエントロピー正則化項を加えることを書いたが、誤差逆伝播する際の微分の式が誤っていたので訂正する。 方策がソフトマックス関数の場合のエントロピーの微分 エントロピーは以下の式で与えられる。 …

matplotlibでグラフをインタラクティブに変更して見やすくする

matplotlibで複数系列の時系列グラフなどを表示した場合、グラフの線が太く重なっている箇所の詳細が把握しにくい。 特にJupyter Notebookでブラウザで表示している場合は、コードで見栄えを調整する必要がある。Jupyter QtConsoleで、「%matplotlib qt」とI…