致力于图像翻译问题。有许多输入输出图像对,例如以草图为输入,以翻译后的草图为输出。图像为黑白,画线宽度为1像素。
可以使用简单的编码器/解码器来学习图像翻译吗?
下面的代码段来自https://blog.keras.io/building-autoencoders-in-keras.html,其中显示了如何对自动编码器进行编程。显然,作为自动编码器,输入和输出都相同。
autoencoder.fit(x_train, x_train,
epochs=50,
batch_size=256,
shuffle=True,
validation_data=(x_test, x_test))
但是在这里,我可以代替“ x_train,xtrain”作为前两个参数,而可以给定“ x_train,y_train”,其中x_train是输入图像,y_train是输出图像吗?
理论上正确吗?以下优化器和成本函数会起作用吗?
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')
通常将Pix2Pix网络用于此类工作。但是GAN的主要宗旨是,他们学习成本函数以获得好的输出结果。
在我的问题中,成本函数是非常确定的,而不是一个像素。这样可以清楚地定义错误。
即使在这里尝试Pix2Pix,理论上是否正确?