Deep Learningに挑戦中
これまで使用していた線形の評価関数がどっかバグってるって言うか複雑すぎてテスト出来ねーしそもそもどうやってテストすりゃ良いかも分かんないッスわ・・・・・・と色々考えた結果、局面の生データをそのままDeep Neural Networkにぶち込んで学習させりゃ良いんじゃね? という結論に至りましたまる。
という訳で、最近流行りのDeep Learningっぽい評価関数を実装&テスト中。
評価関数の構成としては、生の入力*1をDeep Neural Network(DNN)の入力信号に変換する部分(以下、エンコーダと記載)と、DNNの2段構成になっています。
DNNは本将棋・5五将棋・4x4リバーシ・三目並べの4種類で共通のものを使用し、ゲームの種類に合わせてエンコーダを個別に作成する方針です。
これなら、DNN部分のテストは大分やりやすくなります。
さて、まずはDNN部分で二次関数とかsin関数とかを近似出来るのを昨日までに確認済み。
んで、今日は三目並べの学習ルーチン*2と三目並べ用エンコーダを組み合わせてみたんですが…収束しねぇ _| ̄|○
とりあえず、しばらくは三目並べで格闘する事になりそうです。