Itsukaraの日記

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

Variational Autoencoderの20次元中間層内距離の件(続き)

9/1の記事で、Variational Autoencoderの20次元中間層の構造に関して記載し、なぜか20次元のうち20次元のみが活性化されている件を書いたところ、本件を紹介頂いたNTT研究所山田さんから、次元を変えても10次元のみが活性化されるか確認してみると良いのでは、とのご提案を頂きました。

結果を報告します。結果としては、ちょうど10次元ではないものの、おおよそ10次元が活性化されました(11次元/30次元、11次元/25次元、10次元/15次元)。なぜでしょうね??

30次元

下記のように、11次元が活性化されました。なぜか、30次元のうち19次元は不活性です。ちなみに、非活性の次元が多いので、20次元よりも、活性化された次元が数えやすくなっています。

  • 数字0に対する中間層の値の分布

f:id:Itsukara:20160903105607p:plain

  • 数字1に対する中間層の値の分布

f:id:Itsukara:20160903105622p:plain

  • 数字2に対する中間層の値の分布

f:id:Itsukara:20160903105643p:plain

  • 数字3に対する中間層の値の分布

f:id:Itsukara:20160903105649p:plain

25次元

下記のように、11次元が活性化されました。

  • 数字0に対する中間層の値の分布

f:id:Itsukara:20160903110716p:plain

  • 数字1に対する中間層の値の分布

f:id:Itsukara:20160903110721p:plain

  • 数字2に対する中間層の値の分布

f:id:Itsukara:20160903110728p:plain

  • 数字3に対する中間層の値の分布

f:id:Itsukara:20160903110736p:plain

15次元

とても数えにくいのですが、10次元が活性化されました。

  • 数字0に対する中間層の値の分布

f:id:Itsukara:20160903111309p:plain

  • 数字1に対する中間層の値の分布

f:id:Itsukara:20160903111316p:plain

  • 数字2に対する中間層の値の分布

f:id:Itsukara:20160903111323p:plain

  • 数字3に対する中間層の値の分布

f:id:Itsukara:20160903111327p:plain

補足

別途A3C+でのMontezuma's Revengeの評価にPCを使っていたところ、別のTensorflowプログラムを走らせるとGPUメモリ不足でエラーとなり、本件を試せなかったので、少し遅れてしまいました。

正確には、GPU無しのcorei5ノートPCで試したのですが、やたらに時間がかかり、しかもエラーになってしまいました。そこで、デスクトップPCが空くのを待っていました。本件で、GPUの効果を強く実感した次第です。