Я использую Keras для моделирования GAN, и мне нужно объединить две потери, так как у меня есть два выхода.Один вывод от Discriminator, который обозначен как «метка» в следующем коде, а другой от Generator, который обозначен как «Bloss».Так можно ли обучить комбинированную модель 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)