首页 二次元 正文

复旦大学计算机科学硕士在读研究人工智能计算机视觉方向

二次元 2024-05-25 89

雷锋网:本文作者何志远为复旦大学计算机专业硕士研究生,研究方向为人工智能与计算机视觉。本文由雷锋网独家发布。

1. 一个神奇的网站

前几天在 Qiita 上看到了一篇很赞的帖子:Girl Friend Factory - 学机械的 Qiita,帖子里提到了使用 GAN 通过文字描述生成二维图像。这篇文章的作者还用自己的想法建了一个网站(网站地址:Girl Friend Factory),长这样:

次元怎么写_关于二次元文字_次元文案

我之前也写过一篇文章介绍如何使用 GAN 生成简单的 2D 人物肖像,但那是完全随机的生成,无法控制生成人物的属性。但 Qiita 的这篇文章不同,我们可以指定生成人物的属性,比如头发颜色、眼睛颜色、发型,甚至衣服和装饰品,从而生成具有指定属性的图像。

这个网站提供了很多属性,我简单翻译了一下:

关于二次元文字_次元怎么写_次元文案

我稍后会详细解释它是如何工作的,但在此之前,让我们先尝试使用这个网站。

进入网站之后首先要等待模型加载完毕(注:本网站在国内可能会无法连接,需自行解决。另外网站会下载70M左右的模型,所以需要耐心等待。)加载完毕之后点击上面的“無限ガチャ”(無限ガチャ其实就是“無限ガチャ”),就可以生成了。

首先生成一个金发+蓝眼睛的女孩。多次点击生成按钮可以生成多个女孩。效果还不错:

次元怎么写_关于二次元文字_次元文案

要恢复黑发和蓝眼睛,请尝试:

关于二次元文字_次元文案_次元怎么写

右键点击图片可以“加入收藏”,其实就是收藏功能,收藏后可以在“创建列表”中找到。

次元怎么写_关于二次元文字_次元文案

另外,在收藏图片后,可以点击上方的“属性模式”对属性进行微调。比如这里我可以更改头发的颜色:

关于二次元文字_次元文案_次元怎么写

点击上方的“合并”按钮,你甚至可以将两个角色合并为一个!如下图所示:

次元文案_关于二次元文字_次元怎么写

2.基本原则

上面这个网址的原理到底是什么呢?原文作者也提到了,其实它源自论文 Generative Adversarial Text to Image Synthesis。接下来我们来看看它是怎么运作的。

我们的目标其实是从“文本”生成“图像”。要做到这一点我们需要解决以下两个问题:

第一个问题用到了之前一篇论文中的技术,这里就不详细介绍了。假设文本描述为 t,我们可以通过函数 φ 将其转换为向量 φ(t)。

第二个问题是如何利用向量φ(t)来生成合适的图像?这就是GAN的工作。本文中GAN的结构如下图所示:

次元文案_次元怎么写_关于二次元文字

与原版GAN结构相比,生成器网络G和鉴别器网络D的输入部分做了改变:

这其实就是一个条件GAN,只需要简单改变一下原始GAN的结构就可以了。此时,我们可以直接训练它,完成我们的文本>图片生成任务。但是直接训练得到的生成图片质量不是很好。作者提出了两个改进方案。

3.改进1:GANCLS(针对判别器D的改进)

为什么直接训练效果不好呢?我们仔细思考一下就会发现,在原始的GAN中,判别网络D只需要做一件事,就是判断生成的图像是否正常。但在这里,判别网络D需要做两件事:一是判断图像是否正常,就像原始的GAN一样;二是判断生成的图像是否符合文本描述。

因此,我们对原有的训练步骤做了一些改进,不仅为D提供生成图像和真实图像两类样本,还为D提供真实图像+虚假描述的样本,以强化D的训练效果,迫使D判断生成的图像是否真的与文本描述相符。具体训练步骤如下:

关于二次元文字_次元怎么写_次元文案

我们可以看到,D的梯度由三部分组成:sr,sw,sf。sr为真实的图片+正确的文字。sw为真实的图片+错误的描述。sf为G生成的图片+正确的描述。这样可以加快D的训练过程,提高训练效率。

4.改进2:GANINT(针对G的改进)

要理解这种提升,首先要明白我们只是用了 sf 来训练生成网络 G(见上图)。sf 是什么?它只和 G 生成的图片以及正确的文字描述有关。换句话说,sf 与真实的图片样本无关。因此,我们能否用一种方法来增加具有正确文字描述的样本数量?

答案是肯定的,因为我们只利用了文本描述的嵌入φ(t),所以我们实际上可以在嵌入空间中做一些简单的加减运算。

假设一个文本描述为φ(t1),另一个文本描述为φ(t2),我们可以得到它们的插值aφ(t1)+(1a)φ(t2),其中0增加样本数量。

我们知道,对于深度学习来说,样本越多,效果就越好,因此这里的GANINT对效果的提升是有帮助的,这在实验中已经得到验证。

作者将以上两种改进结合起来,形成了GANINTCLS,这也是本文的最终方法。

下面是论文作者做的实验的图片,他生成了花朵,上面一行是 Ground Truth,下面分别是 GAN、GANCLS、GANINT 和 GANINTCLS:

次元文案_关于二次元文字_次元怎么写

五、参考文献

女友工厂 Qiita,一个学习机械的女孩

女朋友工厂

条件生成对抗网络

生成对抗性文本到图像合成

B站第240期每周必看中收录的动画短片《万物理论》
« 上一篇 2024-05-25
淘宝SEO优化的几种常见因素,你中招了吗?
下一篇 » 2024-05-25

文章评论