任务场景算法
在生成器模型中,条件变量y其实是做为一个额外的输入层(additional input layer),它与生成器的噪声输入p(z)组合造成了一个联合的隐层表达;网络
在判别器模型中,y与真实数据x也是做为输入,并输入到一个判别函数当中。实际上就是将z和x分别于y进行concat,分别做为生成器和判别器的输入,再来进行训练。less
目标函数:机器学习
gans:函数
CGAN:学习
pix-2-pix:编码
把待转换的图像x做为额外的输入,分别加进判别器和生成器中。生成器输入的是随机噪声z以及待转换的图像x。spa
在positive状况下,判别器输入的是待转换图像x以及与x对应的真实数据y,这时判别器尽可能使得输出为1;翻译
在negative状况下,判别器输入的是待转换图像x以及生成器生成的图像G(x,z)。也就是说,生成器不仅输入了随机噪声z,还输入了待转换图像x,加入了这个条件,就能够实现定向生成;设计
判别器也再也不只是判别某一张图像是否真实,而是判别待转换图像x与转换后图像G(x,z)是不是真实的图像对。
创新点
一、加入约束项(L1 distance encourages less blurring) ---- 生成的图像是否是接近GT。
与L2相比,文章采用了模糊更少的L1 distance(1范数能够致使稀疏解,2范数致使稠密解):
二、generator add skip connections(U-Net)
图像到图像转换问题的一个特征定义是将高分辨率输入网格映射到高分辨率输出网格。输入和输出的表面外观虽不一样,但二者都是相同底层结构的渲染。所以,生成器的设计中输入的结构大体与输出的结构对齐。
以前的结构都是基于以下图的编码-解码网络,先通过几个降采样层,到达一个瓶颈后通过一个逆过程获得最终的输出。网络要求全部的信息流经过网络的全部层。对于许多图像翻译问题,输入和输出之间共享了大量低级别的信息,所以最好将这些信息直接穿过网络。为了使得生成器可以规避这样的信息瓶颈,遵循“U-Net”的形状,添加跳跃链接。假使网络有n层,网络的第i层都和n-i层有一个链接:
3.patchGAN
一般判断都是对生成样本总体进行判断,好比对一张图片来讲,就是直接看整张照片是否真实。并且Image-to-Image Translation中不少评价是像素对像素的,因此在这里提出了分块判断的算法,在图像的每一个N×N块上去判断是否为真,最终平均给出结果。
判别器在图像上卷积,最终平均全部的值做为D的最终输出值;
N能够比图像的大小小得多,而且效果仍然很好;
小的patchGAN的参数更少,运行更快,而且可以应用到任意大小的图像中。。
当n=1时就是pix-2-pix
Optimization and inference
扩展
L0范数是指向量中非0的元素的个数
L1范数是指向量中各个元素绝对值之和
L2范数是指向量各元素的平方和而后求平方根。
在机器学习中,以0范数和1范数做为正则项,能够求得稀疏解,可是0范数的求解是NP-hard问题; 以2范数做为正则项能够获得稠密解,而且因为其良好的性质,其解的定义很好,每每能够获得闭式解,因此用的不少。
一句话总结就是:L1会趋向于产生少许的特征,而其余的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。L1在特征选择时候很是有用,而L2就只是一种规则化而已。