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