Можно ли использовать сеть Encoder-Decoder для разных входов и выходов?

Работа над проблемой перевода изображений. Получил много пар входных-выходных изображений, скажем, эскиз в качестве входных данных, переведенный эскиз в качестве выходных данных. Изображения черно-белые с шириной эскиза в 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 здесь?

0 ответов

Другие вопросы по тегам