Itsukaraの日記

最新IT技術を勉強・実践中。最近はDeep Learningに注力。

【DL、RL、A3C+】pseudo-countを画像化しました

Tensorflowの実験をしていると、Tensorflowを使った他の実験はGPUメモリ不足でエラーとなり、あまり色々なことができないので、以前の記事で書いたpseudo-countのデータを視覚化してみました。

期待値画像

pseudo-countの計算のために、ゲーム画面の各画素に対して、その画素が取る値毎に、その値の出現回数を保持しています。これにより、各画素の値毎の出現確率が求められるので、これに画素の値を掛けて総計することにより、画素の値の期待値が求まります。画素全体を集めると、期待値画像が求められます。下記は、そのようにして求めた画像です。

下記に3M STEPと、45M STEPでの期待画像を示します。3M STEPでは、出発地点の部屋(後述のROOM#01)の画像のみが見えますが、45M STEPSではその他の部屋の画像が重なっているように見えると思います。具体的には、ROOM#2とROOM#6の画像が重なっているように見えます。

3M STEP

f:id:Itsukara:20160902215403p:plain

45M STEP

f:id:Itsukara:20160902215411p:plain

各部屋の画像と番号

https://atariage.com/2600/archives/images/MontezumasRevenge_Level1.png

各部屋には、下記番号が付いています。

0 1 2
3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21 22 23

出現確率が高い画像

上記では全ての部屋の画像が重なって見えるので、画素毎の値を出現確率でソートすることにより、1番出現確率が高い画素値を集めた画像、2番めに出現確率が高い画素値を集めた画像などを計算してみました。結果としては、あまりうまく分離できませんでした。

3M STEP

3M STEPでは、1番目に出発地点の部屋の画像が見えるのみで、2番目以降は、あまり意味がわからない画像になっています。おそらく、動いている部分やゲームキャラクターが通った痕跡ではないかと思います。

1番目に確率が高い画素値の画像

f:id:Itsukara:20160902221044p:plain

2番目に確率が高い画素値の画像

f:id:Itsukara:20160902221055p:plain

3番目に確率が高い画素値の画像

f:id:Itsukara:20160902221100p:plain

4番目に確率が高い画素値の画像

f:id:Itsukara:20160902221107p:plain

45M STEP

1番目に確率が高い画素値の画像

1番目は出発地点の部屋の画像が見えます。
f:id:Itsukara:20160902221122p:plain

2番目に確率が高い画素値の画像

2番めは色々な部屋の痕跡が見えます。次のように推測できます。

  • 画面左上部のY字型と上部の十字は、ROOM#6のSWORD(取得前+取得後)
  • 中央上部のハシゴはROOM#6のハシゴ
  • 画面中段以下のハシゴは、ROOM#0、#2、#7などのハシゴ
  • 画面中央の黒く横に長い長方形は、ROOM#1の中央の動く部分
  • 画面上部には、ゲームキャラクターの痕跡のようなもの

f:id:Itsukara:20160902221130p:plain

3番目に確率が高い画素値の画像

3番めは、ROOM#6の中段以降の画像が主体に見えます。斑点のようなものは、ゲームキャラクターの痕跡でしょう。
f:id:Itsukara:20160902221145p:plain

4番目に確率が高い画素値の画像

4番めはROOM#5、#7の画像が重なっているように見えます。
f:id:Itsukara:20160902221153p:plain

感想

画素毎の値を出現確率でソートすれば、かなり明確に各ROOMの画像が分離できる思って試しましたが、思ったほど、分離できませんでした。残念です。