Kerasメモ(VAE)
変分オートエンコーダ(Variational Autoencoder)を使ったイメージ生成を試してみる。
モデル
6epochのトレーニングが終わった状態のdecoderからイメージを生成してみる。
latent space(潜在的意味空間)の次元は「2」で、
latent space上の「点」はppf(inverse CDF)から生成したものを渡す。
n <- 15 # Number of rows / columns of digits grid_x <- qnorm(seq(0.05, 0.95, length.out = n)) grid_y <- qnorm(seq(0.05, 0.95, length.out = n)) qnorm(seq(0.05, 0.95, length.out = 15)) [1] -1.644854e+00 -1.204047e+00 -9.208230e-01 -6.971414e-01 -5.039654e-01 [6] -3.280721e-01 -1.618442e-01 -1.391458e-16 1.618442e-01 3.280721e-01 [11] 5.039654e-01 6.971414e-01 9.208230e-01 1.204047e+00 1.644854e+00
(python版)
from scipy.stats import norm n = 15 # figure with 15x15 digits grid_x = norm.ppf(np.linspace(0.05, 0.95, n)) grid_y = norm.ppf(np.linspace(0.05, 0.95, n)) norm.ppf(np.linspace(0.05, 0.95, 15)) array([-1.64485363e+00, -1.20404696e+00, -9.20822976e-01, -6.97141435e-01, -5.03965367e-01, -3.28072108e-01, -1.61844167e-01, -1.39145821e-16, 1.61844167e-01, 3.28072108e-01, 5.03965367e-01, 6.97141435e-01, 9.20822976e-01, 1.20404696e+00, 1.64485363e+00])