ホーム » DQN (Deep Q Network)

DQN (Deep Q Network)」カテゴリーアーカイブ

TensorFlow でビデオゲーム攻略 (2) スペースインベーダ / Double Q-Learning の実装

Double Q-Learning

Async-DQNパックマンの攻略 で試していますが、今回は Double Q-Learning をベースにスペースインベーダの攻略をしてみます。

参照論文は以下 :

Deep Reinforcement Learning with Double Q-learning
H. v. Hasseltand, A. Guez and D. Silver
Google DeepMind
 

Abstract : 通常の Q 学習アルゴリズムはある条件下では行動価値 (action values) を過大評価することが知られています。そのような過大評価が共通のものか、性能を害するか、一般的に防げるかについては知られていません。このペーパーでは、これら全ての疑問に肯定的に答えます。特に、最初に最近の DQN アルゴリズムが Atari 2600 domain の幾つかのゲームでは本質的な過大評価の害を受けることを示します。そして Double Q-learning アルゴリズムの背後のアイデアが large-scale 関数近似 (large-scale function approximation) で動作するために一般化できることを示します。DQN アルゴリズムへの特定の実装を提案し結果的なアルゴリズムが観測される過大評価を減じるだけでなく、幾つかのゲームではより良いパフォーマンスにつながることを示します。

 

TensorFlow でスペースインベーダ攻略

パックマンで Async-DQN を試したので、スペースインベーダで Double Q-Learning を試してみました。実装のポイントはネットワークを2つ持つことです。
左図は 2.0e+5 ステップまでの損失グラフ、右図は 1.0e+5 ステップのころの評価結果です :

cost200b

sinvaders1010
 

以上

TensorFlow でビデオゲーム攻略 (1) パックマン / DQN の実装

TensorFlow でビデオゲーム攻略 (1) パックマン / DQN (Deep Q-Network) の実装

DQN – Deep Q Network

pacman_trainingDeepMind 社で有名になった、DQN (Deep Q-Network) の利用によるビデオゲームの攻略を TensorFlow で実装してみました。
DQN は(強化学習の)Q 学習に深層学習をミックスインしたものです。

Wikipedia によれば、Q 学習 は有限マルコフ決定過程において全ての状態が十分にサンプリングできるようなエピソードを無限回試行した場合、最適な評価値に収束することが理論的に証明されています。

DQN の元々のペーパーは以下ですが :

Playing Atari with Deep Reinforcement Learning
V. Mnih, K. Kavukcuoglu, D. Silver, A. Graves, I. Antonoglou, D. Wierstra and M. Riedmiller
(Submitted on 19 Dec 2013)

 
実装は以下を参考にしています :

Asynchronous Methods for Deep Reinforcement Learning
V. Mnih, A. P. Badia, M. Mirza, A. Graves, T. P. Lillicrap, T. Harley, D. Silver, K. Kavukcuoglu
(Submitted on 4 Feb 2016 (v1), last revised 16 Jun 2016 (this version, v2))

 
nature 掲載でも有名になりました :

Human-level control through deep reinforcement learning
(Received: 10 July 2014, Accepted: 16 January 2015, Published online: 25 February 2015 )

TensorFlow でパックマン攻略

TensorFlow による実装はそれほど難しくはなく、(というか寧ろ簡単で、)4 フレームを入力として actor (agent) の action を出力とする、単純な CNN (Convolutional NN, 畳み込み NN) モデルを用います。アルゴリズムは上記 Asynchronous Methods for Deep Reinforcement Learning の Algorithm 1. Asynchronous one-step Q-learning に従っています。

ポイントは、actor-learner をマルチスレッドにするのですが、(ε-greedy 法の)ε 値を減衰させる際の下限のバランスを上手く取ることでしょうか。(ペーパーどおりの値を使用しました。)

題材は取りあえず「パックマン」です。
この選択に深い意味はなく、「ブロック崩し」などの例を良く見るので違う選択にしてみただけです。

18 million steps 訓練してみた結果が以下です。まずは Q 最大値の推移 :
pacman_qmax.18m

ある程度収束はしていますが、もう少し値は上昇しそうです。
しかし訓練中の reward (報酬、この場合はスコア)を見てみると、既に頭打ちになっています :

pacman_reward.18m

サンプリングが少し粗いので、必ずしも reward が落ちてきているわけではないのですが、
評価してみると、10 million あたりをピークにして性能は徐々に落ちていきました。

訓練途中のものですが、評価例をアップロードしておきます :

まだ工夫の余地はありそうですし、他のゲームも試してみる予定です。

 

以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com