Изменения

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

Generative Adversarial Nets (GAN)

5 байт убрано, 19:58, 24 января 2021
Нет описания правки
Генератор хорошо обученной сети $-$ функция
<tex>g : Z \rightarrow X</tex>, где <tex>Z \subseteq \mathbb{R}^{d}</tex> $-$ скрытое пространство размерности <tex>d</tex>, для которого обычно применимо Гауссово распределение в многомерном случае.
<tex>X</tex> $-$ пространство изображений, где у каждого изображения существует набор характеристик вроде возраста или пола. Пусть нам дана функция оценки <tex>f_{S} : X \rightarrow S</tex>, где <tex>S \subseteq \mathbb{R}^{m}</tex> $-$ пространство изображений размерности <tex>m</tex>. Тогда <tex>s = f_{S}(g(z))</tex>, где <tex>z \in Z</tex>, <tex>s \in S</tex> $-$ связь между точкой в скрытом подпространстве и характеристиками получившегося изображения. Для функции оценок часто используют Inception score<ref>[https://arxiv.org/abs/1801.01973. Shane Barratt, Rishi Sharma {{---}} A Note on the Inception Score]</ref> и FID (Frechet Inception distance<ref> [https://en.wikipedia.org/wiki/Fr%C3%A9chet_inception_distance#:~:text=The%20Fr%C3%A9chet%20inception%20distance%20(FID,generative%20adversarial%20network%20(GAN). Frechet Inception distance on Wikipedia]</ref>), где главными критериями хорошо сгенерированных образцов является разнообразие отличительных черт в образцах и их выраженность.
Установлено, что при движении между двумя точками <tex>z_1</tex> и <tex>z_2</tex> характеристики меняются постепенно, без скачков. Тогда по этому направлению в $Z$ можно построить гиперплоскость.
В случае если <tex>\Lambda</tex> {{---}} диагональная, то проблемы запутывания нет.
В противном случае проделаем манипуляции в скрытом подпространстве (рис. 7). Проекцируя Проецируя <tex>n_1</tex> на <tex>n_2</tex> и вычитая полученный вектор из <tex>n_1</tex>, получаем такое направление <tex>n_1 - (n_1^{T} - n_2)n_2</tex> в скрытом пространстве, что вдоль этих направлений у сгенерированных изображений будет изменяться характеристика $1$ вне зависимости от характеристики $2$.
При слишком большом "расстоянии" от гиперплоскости соответствующая характеристика слишком сильно делает лицо непохожим на изначальное, но это объяснимо нормальным распределением вектора шума.
Также в скрытом пространстве имеют место арифмитические операции. То есть можно складывать и вычитать вектора из этого пространства, чтобы как получать промежуточные результаты, так и убирать или добавлять какую-либо характеристику.
Для борьбы с проблемой запутывания существуют и другие подходы: один из них представляет из себя разложение изображения на передний и задний слои (с возможными промежуточными слоями)<ref>[https://openaccess.thecvf.com/content_CVPR_2020/papers/Alharbi_Disentangled_Image_Generation_Through_Structured_Noise_Injection_CVPR_2020_paper.pdf. Yazeed Alharbi, Peter Wonka {{---}} Disentangled Image Generation Through Structured Noise Injection, 3.3]</ref>.
Следующий метод основан на том факте, что существуют как локальные черты, так и глобальные. К первым можно отнести форму отдельной части лица, а ко вторым $-$ возраст и пол. Иногда изменение локальной черты может очень сильно влиять на глобальную. Этого хочется избежать, для этого некоторые размерности вектора шума применяются к каждой остальной размерности<ref>[https://openaccess.thecvf.com/content_CVPR_2020/papers/Alharbi_Disentangled_Image_Generation_Through_Structured_Noise_Injection_CVPR_2020_paper.pdf. Yazeed Alharbi, Peter Wonka {{---}} Disentangled Image Generation Through Structured Noise Injection, 3.5]</ref>.
==Применение==
101
правка

Навигация