Выборка скрытых переменных VAE надлежащим образом - PullRequest
1 голос
/ 10 апреля 2019

В настоящее время я пытаюсь создать вариационный автоэнкодер (VAE), который обучается работе с данными, масштабированными до минимума / максимума (от нуля до единицы). Общая архитектура представлена ​​ниже: enter image description here

Меня интересует выборка из изученного скрытого пространства после того, как оно достаточно обучено. Размер скрытого пространства равен 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 (да, больше нуля, но едва ли вообще). Есть ли лучший способ для выборки скрытого пространства, чтобы получить соответствующие значения выборки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...