Keras GAN с несколькими выходами от генератора и дискриминатора соответственно

Я использую Keras для моделирования GAN, и мне нужно объединить две потери, так как у меня есть два выхода. Один вывод - из Дискриминатора, который обозначен как «метка» в следующем коде, а другой - из Генератора, который обозначен как «Блосс». Так можно ли обучить комбинированную модель GAN (объединить генератор и дискриминатор) с двумя выходами от G и D соответственно?

    input = Input(shape=self.input_shape)
    output_G, Bloss = self.G(input)

    # For the combined model we will only train the generator
    self.D.trainable = False

    label = self.D(output_G)

    self.combined = Model(inputs=input,
                          outputs=[label, Bloss])
    self.combined.compile(loss=['categorical_crossentropy', B_loss],
                          optimizer='RMSprop',
                          loss_weights=[1,0.01])
...
def B_loss(y_true, y_pred):
    return K.mean(y_pred - y_true, axis=-1)

person Yutas    schedule 27.10.2018    source источник


Ответы (1)


Я не понимаю, почему нет, если вы создаете правильный y, который сочетает в себе метку (вывод D) и Bloss (частичный вывод G).

person ian    schedule 27.10.2018