teemaxの日記

理工チックなあれこれ

人口知能? Deep Q Network「DQN」お試し

Deep Q Network

Deep Q Network 通称 DQN。
DQN は2013年に Deep Learning (深層学習) と強化学習を組み合わせたもので、アーケードゲームをプレイさせたところ、人間よりも良い結果を出したことで話題を呼びました。
以前この Deep Q Network を再現してみたい、ということで記事を書きました。
 
teemax.hatenablog.com

DQN は Google による買収で有名になった Deep Mind によって考案されています。
今までは Deep Mind からの正式な DQN ソースコードは公開されていなかったのですが、最近公開されたようなので今回はそちらを試します。
 

Deep Mind によるソースコード公開

上の記事を書いたちょっと前くらいに、 DQN に関する Deep Mind の論文
Human-level control through Deep Reinforcement Learning
が Nature に掲載されました。
この論文の掲載をもってソースコードが公開されました。

DQN 実装は Deep Learning のフレームワークを使って行うわけですが、Deep Learning のフレームワークにもいろいろあります。
以前書いた記事にある先人の方のソースコードでは、代表的なフレームワークの1つで Caffe というのが使われています。
それに対し、論文のソースコードではまた別の代表的フレームワーク Torch というものが使われています。
最近の Deep Learning フレームワークは Torch 一強になりつつある気がしますね。
なので Torch を使った DQN の方も試してみたいと思いました。
 

結果

ソースコードには、必要になるパッケージのインストールを行ってくれるシェルスクリプトや、必要な設定をしてプログラムを実行してくれるシェルスクリプトも付いていたので、基本的にシェルスクリプトを実行するだけで学習開始できました。
基本的にはソースコードに手を加える必要なかったです。
とりあえずわかりやすいので Pong を学習させてみました。

こちらが Deep Q Network「DQN」が実際に Pong をプレイしている様子です。
 
www.youtube.com  

まだ学習途中なのですが、しっかり学習できています。

次は他のゲームを学習させてみたいと思います。

teemax.hatenablog.com

 
 
 

深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

子供の名前が危ない (ベスト新書)

子供の名前が危ない (ベスト新書)

スポンサーリンク