我目前正在尝试创建变式自动编码器(VAE),该自动编码器以缩放至最小/最大(零至一)的数据进行训练。总体架构如下所示:
我感兴趣的是对经过充分训练的学习到的潜在空间进行采样。潜在空间的大小为200,因此我认为可以执行以下操作来创建样本向量:
NUM_SAMPLED_VECTORS = 100
sampled_latent = []
max_latent_values = encoded_latent_df.max(axis=0).values.tolist()
# Sample 100 vectors
for x in range(NUM_SAMPLED_VECTORS):
temp = []
for i,z in enumerate(max_latent_values):
temp.append(uniform(0, z))
sampled_latent.append(temp)
sampled_latent_df = pandas.DataFrame(sampled_latent)
sampled_pred_vectors = pd.DataFrame(decoder.predict_on_batch(sampled_latent_df))
在这里,我随机地依次采样每个潜在变量的最小/最大范围,然后根据该“采样的潜在矢量”进行预测。
但是,当我查看输出向量时,它们全部相差约10 ^ 30。我希望输出向量的值约为0.5(例如介于0和1之间),但是所有预测向量的值都约为10 ^ -30(是,大于零但几乎没有)。有没有更好的方法来采样潜在空间以获得适当的采样值?