99
правок
Изменения
м
→Pix2Pix
[[File:Training_CGAN_pix2pix.png|400px|right|thumb|Пример процесса обучения генератора и дискриминатора для Pix2Pix.]]
Pix2Pix реализует архитектуру условных порождающих состязательных сетей (англ. CGAN), где для генератора взята U-Net<refname="unet">[https://sci-hub.do/10.1007/978-3-319-24574-4_28 U-Net: Convolutional Networks for Biomedical Image Segmentation]</ref>-основанная архитектура, а для дискриминатора используется сверточный классификатор PatchGAN<refname="patch">[https://sci-hub.do/10.1007/978-3-319-46487-9_43 Precomputed Real-Time Texture Synthesis with Markovian Generative Adversarial Networks]</ref>, который штрафует структуру только в масштабе участков изображения.
Генератор CGAN'a работает следующим образом: на вход подается one-hot вектор класса x и вектор шума z, в результате прохода через условный генератор выдается сгенерированное изображение этого класса, <tex>G: \{x,z\} \to y</tex>. <br>
Для дискриминатора данной сети используется сверточный дискриминатор PatchGAN.
'''PatchGAN дискриминатор''' <ref name="patch">[https://sci-hub.do/10.1007/978-3-319-46487-9_43 Precomputed Real-Time Texture Synthesis with Markovian Generative Adversarial Networks]</ref> {{---}} это тип дискриминатора для генеративных состязательных сетей, который штрафует структуру на уровне локальных фрагментов (патчей).<br>
Дискриминатор PatchGAN пытается определить, является ли каждый фрагмент размера <tex>N\times N</tex> изображения настоящим или поддельным. Этот дискриминатор сверточно запускается по изображению, усредняя все ответы, чтобы посчитать окончательный результат <tex>D</tex>.<br>
Проще говоря, для каждого фрагмента определяется матрица классификаций, где все значения находятся в промежутке <tex>[0,1]</tex>, где <tex>0</tex> {{---}} подделка. Проходясь сверткой, в итоге получаем конечную матрицу классификаций. Таким образом, для поддельного изображения от генератора PatchGan должен попытаться вывести матрицу нулей. <br>
Для генератора Pix2Pix используется UNet-генератор.<br>
'''UNet-генератор''' <ref name="unet">[https://sci-hub.do/10.1007/978-3-319-24574-4_28 U-Net: Convolutional Networks for Biomedical Image Segmentation]</ref> {{---}} это модель encoder-decoder с добавлением пропускаемых соединений между зеркальными слоями в стеках кодировщика и декодера.
Как работает генератор: