Изменения

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

Generative Adversarial Nets (GAN)

188 байт добавлено, 09:55, 21 января 2021
Нет описания правки
ControlGAN минимизирует следующие уравнения:
<tex>\delta_D = arg min\{\alpha L_D(t_D, D(x;\delta_D)) + (1 $-$ \alpha)L_D((1 - t_D), D(G(z, l; \delta_G);\delta_D))\}</tex>
<tex>\delta_D = arg min\{\gamma_t L_C(l, G(z, l; \delta_G)) + L_D(t_D, D(G(z, l; \delta_G);\delta_D)\}</tex>
<tex>E = \frac{L_C(l,G(z,l;\delta_G))}{L_C(l, x)}</tex>
<tex>\gamma_t = \gamma_{t - 1} + r \{L_C(l, G(z,l;\delta_G)) - E \dot cdot L_C(l, x)\}</tex>
<tex>r</tex> $-$ коэффициент обучения для <tex>\gamma_t</tex>.
Генератор хорошо обученной сети $-$ функция
$<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> $-$ связь между точкой в скрытом подпространстве и характеристиками получившегося изображения.
Установлено, что при движении между двумя точками $<tex>z_1$ </tex> и $<tex>z_2$ </tex> характеристики меняются постепенно, без скачков. Тогда по этому направлению в $Z$ можно построить гиперплоскость.
Тогда сделаем предположение, при котором для любого бинарного параметра существует гиперплоскость, что все образцы с одной стороны от нее имеют одинаковое значение этого параметра.
Заведем следующую функцию "расстояния":
$<tex>d(n, z) = n^{T}z$</tex>, где $<tex>n \in \mathbb{R}^{d}$</tex>.
Это не является расстоянием строго из-за наличия отрицательных значений (но знак нам необходим для определения знака параметра характеристики).
Ожидается, что функция оценки $f$ по данному параметру линейно зависит от "расстояния":
$<tex>f(g(z)) = \lambda d(n, z)$</tex>
[[File:SubspaceManipulation.png|200px|thumb|right|Рисунок 16. Манипулирование подпространством. Источник:https://arxiv.org/pdf/1907.10786.pdf]]
Аналогично происходит и в случае нескольких характеристик:
$<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>\Lambda$ </tex> $-$ диагональная, то проблемы запутывания нет.
В противном случае проделаем манипуляции в скрытом подпространстве (рис. 16). Проецируя, можно найти такое направление $<tex>n_1 - (n_1^{T} - n_2)n_2$ </tex> в скрытом подспространстве, что вдоль этих направлений у сгенерированных изображений будем изменяться характеристика $1$ в независимости от характеристики $2$.
При слишком большом "расстоянии" от гиперплоскости соответствующая характеристика слишком сильно делает лицо непохожим на изначальное, но это объяснимо нормальным распределением вектора шума.
101
правка

Навигация