Как сделать выборку из RBM с отбором Гиббса? - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь обучить RBM на данных MNIST. Но после обучения RBM с использованием CD-1, при создании изображений из модели я получаю ошибочные изображения. Кажется, что изображения ломаются (исчезают) после выполнения выборки Гиббса в течение примерно 50 итераций. сгенерированное изображение с цифрой 1 на входе Я использовал прилагаемый код для выборки Гиббса. Я не могу понять, есть ли какая-то ошибка в том, как была применена выборка Гиббса, или модель не изучена должным образом. Я новичок в области генеративных моделей. Любая помощь будет оценена.

def sample(probs):
    return np.floor(probs + np.random.rand(probs.shape[0],probs.shape[1]))

xk = data_in[10,:].reshape(1,784)
for i in range(100):
    hk = sample(sigmoid(np.dot(xk, Wh1) + bh1))
    xk = sample(sigmoid(np.dot(hk, np.transpose(Wh1)) + bv1))

plt.imshow(xk.reshape(28,28),cmap = 'gray')
plt.show()
...