AEの学習には基本的に下記のリンクに書いてあります。
tensorflowを用いてAuto Encoderの特徴抽出の実装(MNIST)
今回は上記の実験に比較して、MNISTのデータを変更して学習した結果を示します。
MNISTをランダムでRGBの色ごとに着色していきます
(X, y) , (test_images, test_labels) = tensorflow.keras.datasets.mnist.load_data()
#(X.shape) (y.shape) (60000, 28, 28) (60000,)
label=np.random.randint(0,3,(X.shape[0]))
choice_color=[np.identity(3)[i] for i in label]
choice_color=np.array(choice_color)
#(choice_color.shape)(60000, 3)
Color_MNIST= [MNIST_3[i]*choice_color[i] for i in range(X.shape[0])]
Color_MNIST=np.array(Color_MNIST)
#(Color_MNIST.shape) (60000, 28, 28, 3)
通常のMNIST
RGB_MNIST
RGBに着色した、MNISTのデータセットができました。
それをAEで学習を行います。
実験結果
形状ごと
色ごと
プロット
結論
色の情報を優先して特徴を抽出していることが確認ができた。