飛行機戦争, TencentがWeChatでリリースしたこのミニゲームは、2013年に大ヒットしました。


このシューティングゲームでは、上下左右に移動して敵機を避け、できるだけ多く撃つことで高得点を獲得することができます。


弾丸は一定の間隔で自動的に発射されるので、あなたは飛行機の位置を決めるだけです。ゲームはあなたが敵に撃たれるまで終わりません。


このミニゲームのシナリオでは、DQN(Deep Q Network)を適用し、ゲーム自体をプレイして最高得点を獲得するインテリジェントエージェントを効果的に訓練しました。


また、強化学習初心者の学習過程を支援するためのプラットフォームの形で作成しました。


reward decay, observations, epsilon greedyなどのハイパーパラメータを調整することで、学習プロセスと性能がどのように影響されるかを直感的に確認することができました。


[GitHub]にPythonのバージョンがあります。リポジトリ全体を複製してパソコンで実行することができます。以下は簡単に確認できるJavaScriptベースの小さなデモです。

飛行機戦争 + DQN

このデモはTensorFlow.jsでビルドされたSeann999の作業をベースに修正したものです(詳細はこのページの下部をご覧ください)。以下のすべてのハイパーパラメータと設定をめちゃくちゃにして、どのような面白いことが起こるか確認することができます。

Acknowledgement

Python版の場合、飛行機戦争 ゲーム用のKill-Consoleの再現されたソースコードとMorvanZhouのDQNコードサンプルのおかげです。
JavaScriptバージョンの場合、Seann999から提供されたアイデアとコードに感謝します。彼の プロジェクトは、私たちに本当に多くのインスピレーションを与えてくれました。
彼らがいなければ、私たちが高校卒業後、こんなに短い時間でこのプラットフォームを構築することは不可能だったでしょう。
このウェブサイトはunicarによって制作され、このウェブサイトに使用された美しいベクターイメージはfreepikから提供されました。

@VMaggieeeによって制作されました。