只会造假怎么行?艺术家联手Facebook,给GAN加点创意

王小新 编译自 Hackernoon 量子位 出品 | 公众号 QbitAI

目前,生成对抗网络(GAN)作为一种处理图像生成问题的优秀方法,在超分辨率重建、风格迁移等领域已经做出了很多有意思的成就。

(比如量子位昨天推荐的去马赛克大法)

不过,GAN只会模仿怎么行?最近一项新研究改进了GAN,教机器去创造。

上面这些广受好评的画,出自美国罗格斯大学的计算机科学实验室、Facebook的人工智能研究部和查尔斯顿学院的艺术史系联合发表的新论文:CAN: Creative Adversarial Networks Generating “Art” by Learning About Styles and Deviating from Style Norms

这篇论文,提出了创造性对抗网络(Creative Adversarial Networks),探究了利用机器生成来产生创意内容的可能性。

Hackernoon发文介绍了这篇论文的主要内容,量子位翻译如下:

在阅读本文前,希望你已经了解神经网络的概念及一些基本概念,如损失函数和卷积操作等。

GAN网络和CAN网络的一些生成图像

回顾GAN网络

GAN网络是由两个相互斗争的神经网络组成,分别称为生成器和鉴别器。

与字面含义相似,生成器的作用是根据输入来生成数据,该输入可以是噪声甚至是其他类型的数据。鉴别器的作用是分析数据并区分该数据是属于原始输入数据,还是由生成器产生的生成数据。

通常来说,GAN网络可以看作是一种由生成器和鉴别器完成的对抗游戏:

方程1.0

简单版解释

如果你觉得上述方程太复杂,别担心,接下来会分步介绍这个方程,详细解释下每部分的含义。

方程1.1

上面是极大极小方程的符号,字母G和D分别代表了生成器Generator和鉴别器Discriminator。生成器的任务为最小化方程1.0的值,与此同时,鉴别器的任务为最大化方程1.0的值。这两者会无休止地相互竞争,直到程序作出停止的命令。

方程1.2

当给定输入x为来自原始数据集的数据时,鉴别器的输出会表明这是真实的数据。

方程1.3

方程1.3计算了鉴别器对生成器输入的输出值。D(G(z))表示鉴别器判断输入数据为真实数据的概率,则1- D(G(z))表示鉴别器判断输入数据为生成数据的概率。G(z)表示由生成器产生的数据。

将上述方程统一起来,得到鉴别器的任务为最大化以下方程:

方程1.4

而生成器的任务为最小化方程1.4的值,也就是最大化方程1.5的值。

方程1.5

关于GAN网络更详细的解释可以参考英属哥伦比亚大学的在线课程。

在线课程地址:http://wiki.ubc.ca/Course:CPSC522/Generative_Adversarial_Networks

从模仿到创造

生成器通过不断调整自身,使鉴别器将生成图像标记为真实图像,而鉴别器也在不断调整自身来指出生成图像和原始图像间的差异。

这不是简单的模仿吗?

在一定程度上,是这样的。生成器的目标是愚弄鉴别器,使其认为生成数据与真实数据尽可能地相似。那么是怎么实现呢?通过使相应输出与真实数据极其相似。

要让网络更具有创意性,该如何改进呢?

创造性对抗网络来了!

论文作者提出了改进后的GAN网络:CAN,来产生创意性的内容。该网络通过向生成器发送一个附加信号,以防止其产生与原始数据过于相似的内容,这该如何实现?作者在方程1.4中修改了最初的GAN网络损失函数。

CAN简单解释

在原始的GAN中,鉴别器通过判断输入数据与真实数据的相似程度得到一个输出值,生成器就是根据这个输出值来修改其权重。CAN网络可以通过以下两种方式来扩展此过程:

1. 鉴别器不仅会判断数据是真是假,而且还可以确定该艺术图像的所属年代;

2. 生成器将会接收鉴别器中附加的年代信息,并使用该指标与鉴别器的(可真可假)输入进行联合训练。

改进目的

原始GAN网络的存在问题是不会探索新的内容,训练的唯一目标只是使生成数据与真实数据集尽可能相似。

通过对输入数据所属年代进行分类的附加度量,可能会带有置信度列表,生成器可以获得其生成数据与某个年代相似程度的反馈信息。

现在,生成器不仅要使生成数据与真实数据集相似,而且还要确保其与某个类别不过于相似。这条规则将限制生成器产生带有具体特征的艺术图像。

新的损失函数定义如下:

方程2.0

真的很简单!

第一行与原始方程完全相同。但是要注意,下标r代表鉴别器的输出是真或是假,下标c为鉴别器分类的输出值。

第二行为提高创造性的改进点,接下来详细解释。

方程2.1

上述公式使得鉴别器能正确获取输入图像的类别。鉴别器将会努力最大化该概率值,来正确得到输入图像的年代类别。

方程2.2

这个方程可能看起来很复杂,但这只是定义了多标签交叉熵损失(Multi Label Cross Entropy Loss),这里的K表示图像类别的数目。在分类器中,也使用了该损失函数。生成器在训练过程中通过最小化该值来最大化方程2.0的值。

方程2.2的直观解释

方程2.2的作用是,如果某个类的得分值接近1或0,则整个方程的值接近于无穷大。

方程2.2可以取到最大值时,此时意味着鉴别器完全不确定输入图像属于哪一类,即上述方程中的计算和都相同,这也是生成器想完成的结果。

这是有一定依据的,因为如果鉴别器不可能将输入图像正确地分类到现有的某一类中,则意味着该数据与原始数据相同。

结论

本文讨论了一种能根据已有数据推进GAN网络探索新内容的损失函数,通过改进原有的损失函数来进行探索,期待更有趣的研究。

相关链接

CAN论文: https://arxiv.org/abs/1706.07068

损失函数详细信息: https://christopher5106.github.io/deep/learning/2016/09/16/about-loss-functions-multinomial-logistic-logarithm-cross-entropy-square-errors-euclidian-absolute-frobenius-hinge.html

原文发布于微信公众号 - 量子位(QbitAI)

原文发表时间:2017-06-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

ECCV 2018 | 腾讯AI lab & 复旦大学合作提出无监督高分辨率的图像到图像转换方法SCAN

作者:Minjun Li,Haozhi Huang,Lin Ma, Wei Liu, Tong Zhang, Yu-Gang Jiang

911
来自专栏SIGAI学习与实践平台

机器学习中的最优化算法总结

对于几乎所有机器学习算法,无论是有监督学习、无监督学习,还是强化学习,最后一般都归结为求解最优化问题。因此,最优化方法在机器学习算法的推导与实现中占据中心地位。...

1.4K5
来自专栏机器之心

业界 | 似乎没区别,但你混淆过验证集和测试集吗?

选自Machine Learning Mastery 机器之心编译 参与:蒋思源 很多机器学习入门者对测试集和验证集的概念有所混淆,甚至很多机器学习开发工程师常...

3175
来自专栏SIGAI学习与实践平台

【SIGAI综述】行人检测算法

行人检测是计算机视觉中的经典问题,也是长期以来难以解决的问题。和人脸检测问题相比,由于人体的姿态复杂,变形更大,附着物和遮挡等问题更严重,因此准确的检测处于各种...

5152
来自专栏机器人网

10 个常见机器学习案例:了解机器学习中的线性代数

它是机器学习的重要基础,从描述算法操作的符号到代码中算法的实现,都属于该学科的研究范围。

1213
来自专栏SIGAI学习与实践平台

反向传播算法推导-全连接神经网络

本文《反向传播算法推导-全连接神经网络》系SIGAI原创,只供学习使用,未经允许,不得转载,不得用于商业用途。如需获取PDF全文,可搜索关注公众号SIGAICN...

3366
来自专栏PPV课数据科学社区

【学习】数据挖掘中分类算法小结

数据仓库,数据库或者其它信息库中隐藏着许多可以为商业、科研等活动的决策提供所需要的知识。分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集...

32511
来自专栏新智元

【CVPR Oral】TensorFlow实现StarGAN代码全部开源,1天训练完

2434
来自专栏用户2442861的专栏

深层学习为何要“Deep”(上)

http://blog.csdn.net/u010751535/article/details/52739803

2421
来自专栏新智元

【干货】计算机视觉视频理解领域的经典方法和最新成果

1.4K2

扫码关注云+社区

领取腾讯云代金券