Press "Enter" to skip to content

无需成千上万张目标图片训练:GAN 没见过猪,却能把狗变成猪

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

不用成千上万张目标图片训练,就能让 GAN 生成你想要的图片,有可能吗?

 

还真有可能!

 

来自特拉维夫大学和英伟达的研究人员成功地盲训出领域自适应的图像生成模型 ——StyleGAN-NADA。

 

也就是只需用简单地一个或几个字描述,一张目标领域的图像也不需要,StyleGAN-NADA 就能在几分钟内训练出你想要的图片:

 

比如现在在几张狗狗的基础图片上输入“Sketch”,不到 1 分钟,一张张草图风格狗的图片就出来了。(视频没有声音可放心“食用”)

 

再比如在人像上给出文字“Pixar”,就能生成皮克斯风格的图片:

 

 

各种人像风格都可以:

 

 

甚至把狗变成猪也行:

 

 

问题来了,AI 不可能生成它完全没有见过的照片,但是又不给它参考照片,那怎幺满足要求呢?

 

基于 CLIP

 

答案就是借助 CLIP 的语义能力。

 

CLIP 是 OpenAI 提出的根据文字生成图片的 DALL 模型的图像分类模块,可以根据文字描述给图片的匹配程度打分。

 

今年年初,就有人用 CLIP 做出了一个用“大白话”检索图片的功能,效果还挺惊艳的。

 

 

▲ 输入“The word love written on the wall”的搜索结果

 

总的来说,StyleGAN-NADA 的训练机制包含两个紧密相连的生成器 Gfrozen 和 Gtrain,它俩都使用了 StyleGAN2 的体系结构,并共享同一个映射网络,因此也具有同一个隐空间(latent space)和隐码(latent code),所以它们在最开始生成的图像是一样的。

 

 

首先使用在单个源域(例如人脸、狗、教堂或汽车数据集)上预训练的模型权重初始化这两个生成器。

 

由于最终目标是生成一个风格不一样的图像,那就要更改其中一个成对生成器的域,同时保持另一个作为参考域。

 

具体的话就是 Gfrozen 的权重保持不变,而 Gtrain 的权重通过优化和迭代层冻结(iterative layer-freezing)方案进行修改。

 

而 Gtrain 的域在通过用户提供的文本方向进行更改(shift)的同时,会保持共享隐空间(latent space)。

 

具体怎幺“更改”呢?

 

这就用到了一组基于 CLIP 的损失(loss)和“分层冻结”(layer-freezing)方案。

 

该方案可以自适应地确定在每次迭代训练中最相关的子层、并“冻结”其余层来提高训练稳定性保证效果。下面就详细介绍一下这两个方法。

 

基于 CLIP 的损失(loss)

 

StyleGAN-NADA 依靠预先训练的 CLIP 作目标域的唯一监督来源。为了有效地从 CLIP 中提取“知识”,一共用了三种损失算法:

 

(1)负责确定在每次迭代中训练哪个子集层的全局目标损失 (Global CLIP loss);

 

(2)旨在保持多样性的局部定向损失 (Directional CLIP loss);

 

(3)以及防止图像生成不必要的语义伪影的嵌入范数损失 (Embedding-norm Loss)。

 

 

▲ 局部定向损失要求源/目标图像/文字的 CLIP-space 方向一致

 

“分层冻结”(layer-freezing)

 

此机制分为两阶段:

 

(1)选层阶段,保持所有网络权重不变并对一组隐码进行优化,然后选择变化最显着的一层(优化使用目标域文本描述驱动的全局 CLIP 损失进行);

 

(2)优化阶段,“解冻”选定层的权重,然后使用定向 CLIP 损失进行优化和更改。

 

 

大多数训练只需几分钟就可完成

 

首先,该模型可以实现范围广泛的域外自适应,从纹理变化到大的形状修改,从现实到魔幻风格…… 甚至包括一些收集高质量数据成本很高的目标域。

 

其次,所有的这些图片的生成都只需给一个简单的文字描述,除了极端情况,大多数训练只需几分钟就能完成。

 

对于基于纹理的修改目标,该模型通常需要 300 次迭代,batch size 为 2,在一个 NVIDIA V100 GPU 上训练大约 3 分钟。在某些情况下(比如从“照片”到“草图”),训练只需不到一分钟的时间。

 

然后,所有的实验用的就是这个完整当然模型,没有添加任何 latent mapper。研究人员发现,对于纯粹是基于样式的图像生成,模型需要跨所有层进行训练,比如下面这种:

 

 

而对于较小的形状修改,则只需训练大约 2/3 数量的层数就能折中保持训练时间和效果:

 

 

最后,将该模型与 StyleCLIP(结合了 StyleGAN 和 CLIP 的域内图像编辑模型)、以及只用了 Gfrozen 生成器的模型对比发现,只有 StyleGAN-NADA 可以实现目标。

 

 

再将零样本的 StyleGAN-NADA 与一些少样本的图像生成模型对比发现,别的都要幺过拟合要幺崩溃(MineGAN 更是只记住了训练集图像),只有 StyleGAN-NADA 在保持多样性的情况下成功生成(但它也有伪影出现)。

 

 

下面是消融实验:

 

 

▲ 通过训练 latent mapper 可以进一步提高生成质量

 

ps.在论文的最后,研究人员表示:

 

由于这项技术,也许在不久的将来,这类图像生成的工作将不再受到训练数据的约束,而只取决于我们的创造力。

 

论文地址:

 

https://arxiv.org/abs/2108.00946

 

GitHub 地址:

 

https://github.com/rinongal/StyleGAN-nada

 

参考链接:

 

https://stylegan-nada.github.io/

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注