Изменения

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

Generative Adversarial Nets (GAN)

878 байт добавлено, 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 distanceon Wikipedia]</ref>), где главными критериями хорошо сгенерированных образцов является разнообразие отличительных черт в образцах и их выраженность.
Установлено, что при движении между двумя точками <tex>z_1</tex> и <tex>z_2</tex> характеристики меняются постепенно, без скачков. Тогда по этому направлению в $Z$ можно построить гиперплоскость.
Тогда сделаем предположение, при котором для любого бинарного параметра существует гиперплоскость, что все образцы с одной стороны от нее имеют одинаковое значение этого параметра.
Заведем следующую функцию "расстояния": <tex>d(n, z) = n^{T}z</tex>, где <tex>n \in \mathbb{R}^{d}</tex>, <tex>n</tex> $-$ вектор нормали гиперплоскости.
Данная функция не подходит под определение расстояния из-за наличия отрицательных значений (но знак нам необходим для определения знака параметра характеристики).
Ожидается, что есть близкая к линеной зависимость оценки $f$ по данному параметру от "расстояния":
Аналогично происходит и в случае нескольких характеристик:
<tex>f_{S}(g(z)) = \Lambda N^{T}z</tex>, где <tex>\Lambda</tex> {{- --}} диагональная матрица с линейными коэффициентами <tex>\lambda_{i}</tex> для каждой из характеристик, <tex>N = [n_1, . . . , n_m]</tex> $-$ границывектора нормалей для гиперплоскостей, разделяющих значения признаков <tex>1..m</tex>.
В случае если <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
правка

Навигация