1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Neural netによってMNISTを2次元ベクトルに圧縮してみる

Last updated at Posted at 2020-03-18

はじめに

Auto encoderで知られているように、neural netは入力データから必要な特徴を抽出して、圧縮された(次元の小さな)ベクトルとして表現することができます。
今回はMNISTのclassificationのレイヤーの直前に、2つだけノードを持つレイヤーを入れて、2次元ベクトルとして表現できるか実験してみました。
うまくclassificationできた場合、2次元ベクトルはclassificationに必要な情報をencodeしたものと言えるはずです。

Network

一般的なMNISTのclassificationと同じようにcomvolusionとfully connected layerで作りますが、出力(dense_3)の一つ前にノードが2個のレイヤーを挟みました。
Logitとactivation両方が見たかったので、activation無しのdense_2とReLUの二つのレイヤーが2次元ベクトルを出力します。
Activationの部分にLeaky ReLUやSigmoidを使ったバージョンも作ってます。
Network.png

ActivationにReLUを使った場合

Trainingは一瞬で終わります。5分くらいでaccuracy 100%になりました。
Training済みのnetworkにtest dataを入力して、得られた2次元のベクトルの座標に入力画像をプロットしてみました。

Activationからの出力

このようになりました。
ReLU_activation.png
ReLUの出力なのでマイナスになることはありませんね。
同じ数字が塊になるのではなく、原点から伸びる放射線の、同じ直線の上に集まるようです。
1や2が見づらいですが、原点の近くに固まっています。
2次元の極座標のような解釈をすると、各classは(r,θ)できれいに説明できそうです。
(r,θ)だけ見れば人間でもclassificationできそうです。Classificationに必要な情報が圧縮されたベクトルと言えそうです。

Logitからの出力

Activationをプロットしたものと似てますが、少しマイナスの値が出ています。1と2の違いが分かりやすい。
ReLU_logit.png

ActivationにLeaky ReLUを使った場合

こちらはReLUよりさらに早くtrainingが終わりました。

Activationからの出力

LeakyReLU_activation.png
マイナスも使ってきれいに数字が分離されてます。ReLUと同じように、同じ数字は放射線状の同じ直線の上にまとまっていますね。

Logitからの出力

蛇足のようになってきましたが、放射線状にまとまってます。
LeakyReLU_logit.png

ActivationにSigmoidを使った場合

こちらは1時間くらいtrainingしてようやくaccuracy 100%になりました。

Activationからの出力

Sigmoid_activation.png
Sigmoidは0から1の範囲の値を出力しますが、多くのclassがどちらかの軸のリミットに張り付いてます。
スカスカに見えますが今までのプロットと同じサンプル数をプロットしてますので、各classが小さな範囲にまとまっているようです。

Logitからの出力

Sigmoid_logit.png
こちらはReLUなどと同様に放射線状の分布になりました。

まとめ

10classのclassificationに必要な情報は2次元ベクトルで表現できることがわかりました。
また、そのベクトルは同じclassが放射線上の同じ直線の上にまとまっていて、簡単にclassが推測できる情報がencodeされていました。
次は1次元で試してみようと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?