时间:2022-11-30 06:48:01
栗来自凹非寺量子位报道|公众号QbitAI
到今天为止,你可能会认为NVIDIA的StyleGAN已经是最有效的GAN了吧。
可以塑造出逼真的人脸:
也可以做可爱的妻子:
逼真的猫、卧室、车……给定哪个数据集,吐出哪个图像?
但是,NVIDIA并不是过度骄傲,自从StyleGAN发表以来,团队研究了其弱点,并设法挽救。
现在,升级版StyleGAN2诞生了,弥补了第一代的各种缺陷。
先举个例子吧。 第一代StyleGAN生成人物形象,周围总是出现水滴状的不明物体:
现在,在StyleGAN2生成的图像中,看不到奇怪的水滴了:
不要惊讶。 这是其中之一,StyleGAN2解锁的新技能还有很多。
更棒的是,NVIDIA让算法开源了。
所以,我们先观察一下它是如何进化的。
水滴是怎么清除的? 第一代StyleGAN的第一个缺陷是刚才提到的“水滴”。 严重的时候,甚至会破坏人脸的完整性:
论文指出,水滴有时明显,有时肉眼难以察觉,但从特征图的角度看,其实一直存在问题。
B :右边是想用特征地图去除水滴,首先知道是从哪里来的就是对症治疗。
生成6464的图像后,分辨率越高水滴现象越严重。
小组最初对这种缺陷的存在感到困惑。 因为从常识上来说判别器应该能发现吗?
但很快,他们将矛头指向了生成器的实例规范化( Instance Normalization )。 上一代的StyleGAN使用了AdaIN (自适应实例规范化)。
这是因为,由于该部分负责将各特征图的均值( Mean )和方差( disparation )分开并归一化,因此这样的做法很可能破坏了特征信息。
于是产生了一个假说:
水滴的形成是因为生成器故意使信号强度信息( Signal Strength )绕过实例规范化,创建强局部化的信号峰值,支配统计数据,有效地缩放信号强度。 欺负欺骗的骚扰型。 ) )
假设很容易就被验证了。 如果将实例归一化并去除,水滴将完全消失。
但是,如果真的取下的话,各种风格的效果会积累,无法停留在特定的尺度上,难以控制GAN的生成。 因此,团队重新设计了实例规范化流程。
说到重新设计,我简单介绍一下第一代style gan。 其生成器可从样式转变算法作为参考,以从粗略到精细的不同尺度操作GAN的生成,以结合各种尺度的样式( Style )。
比例越细越小?最精细的比例是只调整颜色,不改变姿势整理发型的第一代style gan生成器,是在style block上加上偏差( Bias )和杂色( Noise )。 如下图所示,( a )是整体体系结构,( b )是详细信息。
灰色边框是样式块团队发现,如果将偏差和噪声移动到样式块之外,直接添加到归一化数据中,就会得到更可预测的结果。
(除此之外,这样变更后,对标准偏差进行归一化调制就足够了,不需要处理平均值。 ) )
这也是重新设计的第一步,迈出这一步后,架构长就是这样。
在此基础上,团队又进行了第二步:
每个样式块原本由调制、卷积和规范化三部分组成。
小组将正规化这一部分替换为新的“解调”。
这里隐藏数学的过程,只叙述中心思想。 与原始归一化相比,“解调”基于假设,而不是基于特征图的实际内容。 也就是说,比以前的操作更温和了。
修改完毕,如下图所示。 调制后直接解调,并将解调结果传递给卷积:
实验也证明新事例归一化方法能有效消除水滴现象。 生成的图像和特征图都没有奇怪的斑点。
从一幅图到另一幅图的变化过程中,没有出现水滴:
同时,“解调”将各尺度的风格保留在原来的尺度上。 据团队介绍,StyleGAN2在不同比例风格的混合方面比上一代更自由了。
(源a和源b是不同比例的样式。 ) )
这样,一个缺陷被纠正了。
但是还有下一个。
五感姿势不同步怎么破? 第一代StyleGAN使用一种叫做渐进式登录( Progressive Growing )的训练方法。
从44的图像开始生成,到88、1616,逐步加大生成的分辨率,最终提高10241024的HD图像生成技能。
该方法可以使GAN的训练过程更加稳定,是从前辈PG-GAN那里继承的。 NVIDIA首次以塑造逼真的人脸而闻名,依靠PG-GAN。
只是,这种方法有明显的弱点。 据说对于牙齿和眼睛等细节,位置的喜好很强。 也就是说,这些详细特征每次移动到一个位置,在移动到下一个位置之前都会在那里停留很长时间。
这样的话,脸部各部位的姿势容易不一致。
如果看不到破绽,观察下图吧。 转过脸后,牙齿没有马上跟上,门牙笔直向前:
这不科学。
团队采用了新的方法代替了渐进的增大。 效果显著,人脸旋转时,牙齿方向也变了:
由于StyleGAN的发生器和鉴别器原本只使用简单的前馈设计,团队探索了更科学的结构。
他们参考了MSG-GAN架构(图a ),该前辈将产生器和鉴别器的分辨率通过多个跳层连接进行了匹配。
研究人员在此基础上进行简化,发生器采用上采样( Upsampling )和加法)处理了各分辨率下的RGB输出的贡献) )图b上)。
鉴别器(图b下)也同样利用了下采样。
然后,通过残差连接进一步改造网络。 但是,ResNet将两个路径相加会使信号的方差加倍,因此这里将乘以1/2来解决这个问题。
这一步很重要。 因为在分类用的ResNet中,这个问题通常会被批量规范化所隐藏。
实验表明,跳层连接可以大大提高PPL,残差连接有利于FID。
最终,团队最终选择了跳层生成器和残差判别器。
结果得到了五感姿势同步变化的人脸:
虽然可以在论文中提及,但是“反向”生成器的工作也是一个有趣且重要的课题。
也就是说,如果能输入图进行再现的话,就可以判断那是这个GAN生成的。
这需要将图像投影到潜在空间,找到与之对应的潜在矢量,然后再现这张图。
反复1000次后,如果得到的图像和原图几乎没有差别,原图就是StyleGAN2生成的(如果得到的图像和原图有明显的差别,原图就不是StyleGAN2生成的(下图右) )。
虽然以前也有类似的操作,但是团队提出了与前辈不同的方法,找到了再现所需的潜在代码( Latent Code )。
不是扩展潜在空间,只是在原始潜在空间中寻找潜在代码,不是匹配无关的图像,而是对应生成的图像;
在潜在码中加入缓步降噪声,可以更充分地挖掘潜在空间;
另外,还优化了StyleGAN2生成器的随机噪声,将它们规范化,使其不携带相关信号。
科学家表示,随着GAN生成的图像越来越真实,有必要检测是否是GAN生成的图像。
当然这是体面的用途。 但是,算法开源后,被伙伴们玩坏了:
拿到了这些鬼畜的印章,也就是说史瑞克和虚拟形象果然不是钢枪的作品吧。
开源已经出了代码,你也试试StyleGAN2吧。
否则,先看看论文吧。 那里谈到的进化之处比正文更全面,读了之后,你有了更大胆的想法。
论文传送门: https://arxiv.org/abs/1912.04958
代码传送门: https://github.com/NV labs/style gan 2
结束了
量子比特QbitAI 头条号合同
关注我们,第一时间了解尖端技术动态