У меня есть модель, которая по сути является вспомогательной условной GAN; первая часть модели - генератор, последняя часть - дискриминатор. Дискриминатор делает мультиклассовые (k = 10) прогнозы.
Следуя работе http://arxiv.org/abs/1912.07768 (pp3 для полезной диаграммы, но обратите внимание, я игнорирую изменения структуры сети для целей этого вопроса Я тренирую всю модель для итераций T = 32, генерируя входные данные syntheti c и метки классов («внутренний l oop»). Я могу прогнозировать реальные данные и метки, используя только дискриминатор (ученик) для получения убытков Однако мне нужно распространять ошибку Дискриминатора обратно через внутренний l oop к Генератору.
Как мне добиться этого с Keras? Можно ли сделать l oop развертывание в Керасе? Как я могу обеспечить произвольную потерю и вернуть ее обратно на развернутые слои?
Обновление: теперь есть одна реализация в PyTorch, которая использует библиотеку Facebook «Higher». Похоже, это означает, что обновления, сделанные во время внутреннего l oop, должны быть «развернуты», чтобы окончательные мета-потери были применены ко всей сети. Есть ли у Keras способ достичь этого? https://github.com/GoodAI/GTN