от
Попытка реализации Ган в Pytorch, я получаю результат, что генератор не узнать ничего ( или плохо усваивает), а дискриминатор pefrorms хорошо (около 95% правильных ответов). Я думаю, что-то не так с установкой обратного распространения. Проект большой, поэтому я не запостил полностью , только важные места внутри тренинга :
loss = torch.nn.CrossEntropyLoss()
...
for epoch in range(epochs):

for start_index in range(0,len(x_train), batch_size):


optimizer.zero_grad() 

    x_batch = x_train[start_index : start_index batch_size]

    y_batch = y_train[start_index : start_index batch_size]

    output = nnet.forward(x_batch)

    real_loss_value = loss(output, y_batch)

    x_gen, y_gen_false_real = ngen.rnd_batch(x_batch.size(0))






    x_gen = x_gen.view(

Это не как в учебнике. например как здесь https://github.com/eriklindernoren/PyTorch-GAN
но я думаю, что следующее должно работать:
Дискриминатора и выход из 20 флагов : первый 0-9 стенды для реальных цифр, последние 10-19 признана генератор фейк. в corresponging выходы выполняются в соответствии 

y_gen_true_fake = y_gen_false_real   10
С потерями
d_loss = (real_loss_value   fake_loss_value) / 2
дискриминатора lears хорошо, даже после 1 эпохи, но генератор с
gen_success_loss =   loss(gen_output, y_gen_false_real)
наклоняется и держит не просто производить шум. Я думаю, что-то в обратного распространения ошибки, вызов пойдет не так, я не совсем понимаю это несколько звонков сеть с обратным распространением ошибки. можете ли вы помочь мне, пожалуйста?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...