はじめに 本格的にゲームなどの強化学習を行うには、「Gym」という強化学習アルゴリズムの統合環境を使うのが良さそうですが、JavaScriptで作ったお手製のゲームに簡単に組み込めないかなと、調べてみると「ConvNetJS」というJavaScript製のDeepLearningフレームワークがありました。 今回は、このフレームワークの評価も含めて、とても簡単なDQNによる強化学習を試してみることにしました。 DQN(Deep Q-Network) Q学習と呼ばれる強化学習を行うためのニュートラルネットワークのこと。ゲーム中に得られたスコアなどを報酬として与え、学習させることができます。 ある環境sがinputされた時に、Q学習は行動αを選択する関数Q(s,α)を使って行動をoutputします。 これに層学習の技術を+プラスしたものがDeep Q-Networkと呼ばれるものだそうです。詳