Изменения

Перейти к: навигация, поиск

Generative Adversarial Nets (GAN)

304 байта добавлено, 00:36, 24 января 2021
Проблемы обучения GAN4
'''end''' '''for'''
На практике не всегда удобно использовать уравнение описанной выше. В начале обучения, когда <tex>G</tex> плохо настроен дискриминатор <tex>D</tex> может не учитывать объекты, с высокой уверенностью в классификации, так как они сильно отличаются от тренировочного сета, в таком случае <tex>log(1 - D(G(z)))</tex> стагнирует. Чтобы избежать этого, можно вместо минимизации <tex>log(1 - D(G(z)))</tex> максимизировать <tex>log D(G(z))</tex>. На рисунке 3 представлена зависимость получаемого изображения от итерации обучения.
 
==Проблемы обучения GAN==
Большинство GAN'ов подвержено следующим проблемам:
* Схлопывание мод распределения (англ. mode collapse): генератор коллапсирует, т.е. выдает ограниченное количество разных образцов;
* Проблема стабильности обучения (англ. non-convergence): параметры модели дестабилизируются и не сходятся;
* Схлопывание мод распределения (англ. mode collapse): генератор коллапсирует, т.е. выдает ограниченное количество разных образцов;
* Исчезающий градиент (англ. diminished gradient): дискриминатор становится слишком "сильным", а градиент генератора исчезает и обучение не происходит;
* Проблема запутывания (англ. disentanglement problem): выявление корреляции в признаках, не связанных (слабо связанных) в реальном мире;
* Высокая чувствительность к гиперпараметрам.
Часть этих проблем будет рассмотрена подробнее ниже, но нужно пониматьзаметить, что универсального подхода к их решению большинства из них нет, но . Зато существуют практические советы<ref> [https://github.com/soumith/ganhacks How to Train a GAN? Tips and tricks to make GANs work]</ref>, которые могут помочьпри обучении GAN'ов. Основными из них являются:
# Нормализация данных. Все признаки в диапазоне $[-1; 1]$;
# Замена функции ошибки для $G$ с $\min log (1-D)$ на $\max log D$, потому что исходный вариант имеет маленький градиент на раннем этапе обучения и большой градиент при сходимости, а предложенный наоборот;
На текущий момент Mode collape является одной из главных проблем GAN, эффективное решение которой ещё ищется.
Возможные решения проблемы mode collapse:
* WGAN {{---}} использование метрика метрики Вассерштейна (англ. Wasserstein Loss) внутри функции ошибки, позволяет дискриминатору быстрее обучаться выявлять повторяющиеся выходы, на которых стабилизируется генератор<ref>[https://developers.google.com/machine-learning/gan/problems Common Problems]</ref>. позволяет обучать дискриминатор
* UGAN (Unrolled GAN) {{---}} для генератора используется функция потерь, которая не только от того, как текущий дискриминатор оценивает выходы генератора, но и от выходов будущих версий дискриминатора.
20
правок

Навигация