Следует ли при обучении GAN отключать отключение в дискриминаторе, когда обучение отключено?

Я делаю базовую реализацию GAN в keras. Обучение проходит поэтапно: сначала обучение только дискриминатора, затем обучение генератора как части комбинированной модели (генератор плюс дискриминатор) с отключенным обучением для дискриминатора. Если дискриминатор в нем пропадает, мне кажется, что его нужно отключить при обучении генератора по комбинированной модели. Это правда? И если да, то как это можно сделать в керасе? Я так понимаю, что настройка trainable=false не отключает отсев.


person Mastiff    schedule 27.04.2020    source источник


Ответы (1)


Вы правы, отключение генератора должно быть отключено при обучении дискриминатора или на любом этапе тестирования. И хорошо, что keras делает это по умолчанию ссылка.

Итак, глядя на ваш сценарий, вы можете вызвать функцию прогнозирования для генератора, используя флаг trainable, и обучить дискриминатор, используя его в качестве входных данных.

Надеюсь, что ответит на ваш вопрос.

person Ankish Bansal    schedule 28.04.2020
comment
В комбинированной модели генератор питает дискриминатор, но дискриминатор не обучается (генератор есть). Я думаю, вы говорите, что наличие trainable = False для дискриминатора отключит его выпадение? Я могу видеть код, но не могу сказать, спускается ли обучаемый флаг на выпадающие слои. - person Mastiff; 28.04.2020
comment
Спасибо, что указали на мою ошибку. Я обновил свой ответ. Для справки: github.com/keras-team / keras / blob / master / keras / sizes / - person Ankish Bansal; 29.04.2020