К сожалению, как вы сказали для GAN, потери очень не интуитивны. В основном это происходит из-за того, что генератор и дискриминатор конкурируют друг с другом, следовательно, улучшение одного означает более высокие потери для другого, пока этот другой лучше не узнает о полученных потерях, что облажает его конкурента и т. Д.
Одна вещь, которая должна происходить достаточно часто (в зависимости от ваших данных и инициализации), - это то, что потери дискриминатора и генератора сходятся к некоторым постоянным числам, например: (потеря немного отскакивает - это просто свидетельство того, что модель пытается себя улучшить)
Эта конвергенция потерь обычно означает, что модель GAN нашла некоторый оптимум, в котором она не может улучшить больше, что также должно означать, что она усвоила достаточно хорошо. (Также обратите внимание, что сами числа обычно не очень информативны.)
Вот несколько примечаний, которые, я надеюсь, помогут:
- если потери не совпадают очень хорошо, это не обязательно означает, что модель ничему не научилась - проверьте сгенерированные примеры, иногда они получаются достаточно хорошими. В качестве альтернативы можно попробовать изменить скорость обучения и другие параметры.
- если модель хорошо сходилась, все же проверьте сгенерированные примеры - иногда генератор находит один / несколько примеров, которые дискриминатор не может отличить от настоящих данных. Проблема в том, что он всегда выдает эти немногие, не создавая ничего нового, это называется коллапсом режима. Обычно помогает внесение некоторого разнообразия в ваши данные.
- поскольку обычные сети GAN довольно нестабильны, я бы предложил использовать некоторую версию моделей DCGAN, поскольку они содержат некоторые функции, такие как сверточные слои и пакетная нормализация, которые, как предполагается, помогают обеспечить стабильность сходимости. (изображение выше является результатом DCGAN, а не ванильного GAN)
- Это некоторый здравый смысл, но все же: как и в случае с большинством структур нейронных сетей, настраивающих модель, то есть изменение ее параметров и / или архитектуры в соответствии с вашими определенными потребностями / данными может улучшить модель или испортить ее.
person
Massyanya
schedule
17.06.2017