FaceAPP最近又小火了一把,小编也下载体验了一下。
还行,有点儿意思。
FaceAPP的背后便是基于生成对抗网络(GAN)的图像生成技术。
自从2014年诞生以来,尤其是在人脸生成方面的Deepfake,GAN几乎完全主导了图像生成领域的研究和应用。
但是,GAN很难训练,并且容易出现模式崩溃等问题。
别人用Deepfake「模型」生成的视频和我自己用Deepfake「魔性」生成的视频
于是,新的SOTA模型诞生了
针对GAN的这些问题,OpenAI的两位研究人员Prafulla Dhariwal和Alex Nichol便着眼于其他体系架构。
在他们发布的最新论文「扩散模型在图像合成方面击败了GAN」中,称提出的扩散模型架构解决了GAN的缺点,并且在图像生成任务中击败了GAN,达到了SOTA的水平。
不得不说,他们在题目中便用到「Beat」(击败)这个词,野心还是很大的啊!
「在ImageNet 512x512上获得了3.85 FID。不仅可以保持与BigGAN相当的水准,还可以将每个采样的前向传播降低到25个,同时对分布有更好的覆盖。」
无意中搜了一下,全文有15个「state-of-the-art」,除了个别两三个是形容GAN(不是被打败,就是有转折),其他基本全是形容他们自己新模型的。不管这个是不是SOTA,反正作者觉得肯定是了。
时间回溯到三个月前
非常有趣的是,在引用中,有一篇论文的作者同样是这两位。
今年2月的时候他们发表了一篇名为「改进的降噪扩散概率模型」的论文,这其中也有和GAN的对比,不过这个时候还没有将GAN「击败」。
没想到,三个月后他们在新的论文中就表示自己成功了,看来效率还挺快的。
同样是1亿个参数的模型,BigGAN-Deep在FID上的表现上要明显优于作者此时训练的DDPM。不过这二位用2.7亿个参数训练的模型强行胜利了一波。
去噪扩散概率模型(DDPM)——改进版
扩散模型是另一类深度学习模型,在图像生成任务中表现也很出色。
与GAN学会学习将随机噪声图像映射到训练分布中的某个点不同,扩散模型会获取噪声图像,然后执行一系列降噪步骤,逐步减少噪声并生成属于训练数据分布的图像。
DDPM可以更快地采样并获得更好的对数似然率,同时对采样质量的影响很小。而通过增加训练计算量可以带来更好的样本质量和对数似然性。
这二位作者表示:「我们惊奇地发现,经过改进的模型可以使用更少的采样次数」。也难怪作者会把25次的前向采样作为重点宣传对像。
进一步了解可以参考论文:
https://arxiv.org/pdf/2102.09672.pdf
「全新」的扩散模型
三个月后,Dhariwal和Nichol决定一雪前耻,再次对扩散模型的体系结构进行改进,从而使得模型的性能能够得到进一步提升。
- 等比例增加深度与宽度,使模型尺寸相对恒定。
- 增加注意力头(attention head)的数量。
- 在32×32、16×16和8×8中加入注意力层(attention)。
- 使用BigGAN的残差模块(residual module)对激活进行上采样和下采样。
- 调整残差连接(residual connections)的尺度。
增加注意力头的数量或减少每个头的通道数都可以改善FID。
经过对比,模型最后选择使用128个基本通道,每个分辨率2个残差模块,多分辨率注意力和BigGAN上/下采样,并且训练模型进行700K次迭代,每个注意力头部64个通道。
对于ImageNet 128×128模型,随着分类器梯度的变化,样本质量也会发生变化。梯度在1.0以上时可以在准确率和召回率之间得到一个平滑的trade off。
BigGAN-deep截断变化时的trade off。
结果与评估
OpenAI的扩散模型在每项任务中都得到了最高的FID评分,除一项任务外的所有任务也都得到了最高的sFID评分。
改进的模型结构在LSUN和ImageNet 64×64上可以得到SOTA的图像生成结果。
对于更高分辨率的ImageNet,模型要优于最佳的GAN。此时模型可以获得类似于GAN的感知质量,同时保持较高的覆盖率(以召回率衡量),甚至只需要25次扩散。看来作者对这25次前向传播的结果是真的十分满意啊。
生成模型的样本质量之间的比较。ADM是指文中的扩散模型,ADM-G则是加上分类器的。
左边是BigGAN-deep模型的结果,中间是OpenAI扩散模型的结果,右边是原始训练集中的图像。
上面的图像给人的是差不多的,但是研究人员解释说,扩散模型从训练集中获得了更多的信息:
「虽然样本的感知质量相似,但是扩散模型包含的内容比GAN要多,例如鸵鸟头部的特写,单只的火烈鸟,不同角度的芝士汉堡以及没有人握着的鱼。」
作者的结论
扩散模型与GAN相比,可以获得更好的样本质量。
经过改进的体系结构足以在无条件图像生成任务上实现SOTA,分类器引导技术使模型可以进一步提高类条件任务的样本质量。
扩散模型可以减少GAN与扩散模型之间的采样用时的差距,但是在采样过程中仍然需要多次前向传播。
最后,通过将引导与上采样相结合,可以使高分辨率条件下图像合成的结果达到SOTA。
此时,又是一个转折。
其实作者自己也承认,现在的扩散模型在训练计算量上要高于GAN,采样速度也不如GAN,而且在单步模型上无法与GAN相竞争。
最重要的是,文章中的分类器引导技术仅限于被标记的数据集,并且作者并没有提供有效的策略在未标记的数据集中做准确性和多样性之间的trade off。
网友也评论说「从计算角度看,无论是在内存还是在步数上,扩散模型都要比GAN的消耗大得多。」
这么看来,GAN在短时间内依然会称霸图像生成领域。