如何让GAN生成带有指定特征的图像?这是一个极有潜力、极有应用前景的问题,然而目前都没有理想的方法。韩国大学电子工程学院Minhyeok Lee和Junhee Seok近期发表论文,就生成对抗网络的控制问题给出了自己的办法,AI 科技评论根据原文进行如下编辑。

简介

生成对抗网络(GANs)是最近几年提出的新方法,在其问世之后的短短时间内,生成对抗网络已经在生成真实的样本上表现出很多有前途的结果了。然而, 在生成对抗网络的使用上,目前还有未能解决的问题:由于发生器(Generator)的输入变量是随机的,控制GANs产生的样本非常困难。业界了已经有了一些解决方案,但是这些方案普遍没有办法很好地应用在复杂问题上。除此之外,难以将发生器集中在产生真实的图像和产生有差异的图像的任务上,也一直亟待解决。比如,沿用已知的模型,用于脸部图像生成的发生器就无法专注于两个目标中的某一个,即根据标签产生人脸的真实图像,或是产生有差异的人脸图像。这篇文章则介绍了一种新的方法,即可控生成对抗网络(Controllable GAN, CGAN)。CGAN在控制生成样本上有很强的表现,同时,它还能控制发生器专注于单个目标(生成真实的图像或产生不同的图像)。文章最后使用CelebA的数据库对CGAN进行评估。CGAN实现了对GAN的控制,相信可以加速和助益GAN的研究。

背景

生成对抗网络(GAN)是一种神经网络架构,被引用来生成真实的样本。尽管这个架构是近几年才提出的,GAN的大量成果不仅表现于生成真实样本上,还体现于机器翻译和图像超分别率的应用中。

但是,由于样本发生器的输入是随机分布的,在生成真实样本的时候,很难控制GAN。比如,生产的vanilla GAN样本是现实的,也具备多样性,但是随机输入和生成样本的特征之间的关系却不明显。

在过去的几年中,尝试控制由GAN产生的样本的研究从未停止。其中,最为著名的控制方法就是有条件的GAN(Conditional GAN)。有条件的GAN将标签分别输入发生器(Generator)和鉴别器(Discriminator),由此他们可在训练时有条件的工作。但是,这种有条件的GAN不能解决控制发生器专注于一个任务的问题,如生成真实样本和根据输入标签在样本之间产生差异的任务。例如:CelebA数据库包含202559张名人的脸部图片,有40中不同的特征标记,如戴帽子或者年轻人等。当有条件的GAN生成真实样本时,预训练的只有一些简单的标签,比如笑、帽子之类的。为了让发生器具备处理复杂标签的能力,如尖尖的鼻子或者拱形的眉毛,需要控制发生器更注重根据标签生成不同的样本。

可控生成对抗网络 CGAN

在这篇论文中,作者介绍了一种新颖的生成对抗网络架构来控制生成的样本,称为可控生成对抗网络(CGAN)。CGAN由三个部分构成,发生器/解码器,鉴别器和分类器/编码器。在CGAN中,发生器和鉴别器、分类器同时工作;发生器旨在欺骗鉴别器并同时需要被分类器正确的进行分类。

与现有的模型相比,CGAN具有两个主要的优势。首先,CGAN可以通过参数化损失函数专注于条件GAN的两个主要目标中的一个目标,即真实样本或者表现差异。因此,如果要牺牲真实实现差异性,CGAN可以根据复杂标签生成面部图像。其次,当鉴别器使用条件GAN时,CGAN使用一个独立的网络进行相应输入标签的特征映射。因此,鉴别器可以更多的专注进行假样本和原始样本之间的甄别,从而提高生成样本的真实性。 在这篇论文中,使用CelebA进行CGAN的实验。通过实验,证实了CGAN可以有效地根据输入标签生成人脸图像样本。

材料和方法

CGAN由三种神经网络结构组成,发生器/解码器,鉴别器和分类器/编码器。图1中描述了这种CGAN的架构。这三种结构相互协作,发生器尝试欺骗鉴别器,这与vanilla GAN相同,并且旨在正确的被分类器进行分类。发生器和分类器也可以理解为解码器-编译器的结构,原因是标签是发生器的输入同时是分类器的输出。

CGAN对如下的方程进行最小化:

l 是样本x的二进制表示,并且是发生器的输入数据,同时还作为鉴别器和分类器的参数。

CGAN强制将特征映射到相应输入发生器的l。这个参数决定了发生器专注于样本真实性的程度。这篇论文中应用了Boundary Equilbrium GAN(BEGAN)架构,即目前最新的生成图像样本的GAN架构。发生器由四个反卷积层组成。每层使用5*5的过滤器。鉴别器由四个卷积层和4个反卷积层构成。分类器由4个卷积层和一个全连接层构成。为了验证方法的效率,并没有使用dropout和max-pooling。我们将α设置为0.5,β设置为1并将γ设置为5。

结果和讨论

使用CelebA数据库生成多标签的名人人脸图片样本

通过想发生器输入多个标签,CGAN可以生成多标签样本。CelebA数据库由多个标签的图片构成。例如,一个样本图片可以有“Attractive”,“Blond Hair”,“Mouth Slightly Open”和“Smiling”的标签。

首先,使用一个标签生成图片。生成的样本见图2。

像之前讨论的,CGAN可以通过向发生器输入多个标签生成多标签的样本。图3是通过CelebA生成的多标签图片。其中“No Label”的图片只通过随机分布z~N(0,1)生成,并且输入标签设置成一个0矩阵,长度为40,l=【0,0,...,0】。“+ Attractive”的图片由同样的z和“Attractive”标签的二进制生成。类似的,最后一组图片是由z和多个标签生成的。

CGAN还具有另一优势:相较于条件GAN,CGAN可以生成label-focused样本。通过选择γ的低值,可以讲发生器更多的专注于输入标签。图4是CGAN,γ=5和条件GAN的对比。从图中可以看出CGAN生成的人脸图片比条件GAN更契合输入标签。例如,使用“Arched Eyebrow”标签时,CGAN生成的图片全部符合这个标签的特征,而条件GAN则有偏差。

结论

这篇论文提出了一种新的生成网络模型,即CGAN,这种模型可以控制生成的图片样本。CGAN包含三个模块,发生器/解码器,鉴别器和分类器/编码器。通过将相应的特征映射到输入标签上,生成的样本可以被有效地控制。

其实CGAN是一个简单的架构,即为vanilla GAN和解码-编码结构的组合。通过实验,作者证实了CGAN可以生成具有多个标签的人脸图片。同时,这种控制有效性也可以对生成对抗网络的研究带来一些重要的提升。

论文地址:https://arxiv.org/abs/1708.00598

要让GAN生成想要的样本,可控生成对抗网络可能会成为你的好帮手相关推荐

  1. 求离散马尔科夫链的平稳分布+按照一定概率分布生成想要的样本

    1. 求离散马尔科夫链的平稳分布的两种解法 假设离散马尔科夫链的转移矩阵为P PP,平稳分布为π \piπ,则平稳分布满足: Pπ=πP \pi = \piPπ=π 1.1 迭代法 求平稳分布的一种简 ...

  2. 对抗样本与生成式对抗网络

    1.前言 对抗样本和对抗性网络,从最开始YannLeCun在Quora上直播时表示生成对抗性网络是近期人工智能最值得期待的算法之一,到生成对抗性网络的发明者IanGoodfellow在Quora上直播 ...

  3. 《深度学习》------生成对抗网络(GAN)学习笔记

    1.生成对抗网络的(GAN)的原理 GAN的思想:一种二人零和博弈思想(two-player game),博弈双方的利益之和是一个常数. 就像电影<猫鼠游戏>,生成网络G可以被看做是假支票 ...

  4. 贝叶斯生成对抗网络(GAN)

    转自新智元:http://www.sohu.com/a/144843442_473283 原标题:贝叶斯生成对抗网络(GAN):当下性能最好的端到端半监督/无监督学习_搜狐科技_搜狐网 新智元报道 作 ...

  5. 一文看懂「生成对抗网络 - GAN」基本原理+10种典型算法+13种应用

    生成对抗网络 – Generative Adversarial Networks | GAN 文章目录 GAN的设计初衷 生成对抗网络 GAN 的基本原理 GAN的优缺点 10大典型的GAN算法 GA ...

  6. 简述生成式对抗网络 GAN

    本文主要阐述了对生成式对抗网络的理解,首先谈到了什么是对抗样本,以及它与对抗网络的关系,然后解释了对抗网络的每个组成部分,再结合算法流程和代码实现来解释具体是如何实现并执行这个算法的,最后通过给出一个 ...

  7. 从双层优化视角理解对抗网络GAN

    目录 详细目录 1. 入门对抗网络 1.1 公式解读(将数学语言翻译成简体中文) 1.2 图像生成 2. 为何原版GAN训练不稳定 2.1 梯度消失 vanishing gradient 2.2 模式 ...

  8. 对抗网络之PG-GAN,无条件下生成更真实的人脸图像

    对抗网络之PG-GAN,无条件下生成更真实的人脸图像 1. 介绍 GAN在2015年DCGAN[1]论文提出之后,开始迅速的被关注和被应用到各个领域.比较有影响力的应用,比如Image transla ...

  9. 《生成式对抗网络GAN的研究进展与展望》论文笔记

    本文主要是对论文:王坤峰, 苟超, 段艳杰, 林懿伦, 郑心湖, 王飞跃. 生成式对抗网络GAN的研究进展与展望. 自动化学报, 2017, 43(3): 321-332. 进行总结. 相关博客地址: ...

最新文章

  1. freemarker入门教程
  2. poj 2352 线段树
  3. USACO / Cow Pedigrees(DP)
  4. IDEA mybatis-generator-maven-plugin 插件的使用
  5. 批量标准化BN方法简介【避免了梯度消失和梯度爆炸、加速网络的收敛、优化网络结构】
  6. python第七章文件和数据格式化选择题_python第七章-文件和数据格式化
  7. 谭晓生大闹中国计算机中心,360高管谭晓生不满中国计算机大会拖堂和临时加议程,现场摔话筒发飙...
  8. 两种模式的资源管理器代码之———— 重命名文件夹
  9. Flex Builder4.7 与 MyEclipse2013集成 64位
  10. 丘成桐:数理与人文(官方完整版PDF下载)(公号回复“丘成桐数学”下载PDF典型资料,欢迎转发、赞赏支持科普)
  11. 网页制作中的超链接怎么做
  12. CodeCombat代码全记录(Python学习利器)--SARVEN沙漠(第三章)代码10
  13. Android系统的指纹开发
  14. 华为Linux如何安装微信,华为手机怎么重新安装微信?
  15. 物联网中常提到的M2M究竟是什么?
  16. 盘点买房贷款的八大注意事项
  17. 计算机网络体系结构整理-第二单元IP技术
  18. Force 10交换机初始配置文档
  19. 用ArcMap画一个彩虹风格的蜂窝
  20. Guava EventBus 使用

热门文章

  1. 查处的数据如何乱序_老司机总结常用镜像方法,让镜像数据更加可靠
  2. python第三方开发软件_python开发者的必备工具(一)
  3. 【c语言】蓝桥杯算法提高 3-2求存款
  4. 敏捷个人2012.8月份线下活动报道:Toastmasters、团队管理
  5. 指针的本质是:内存(地址)+ 类型 装包解包
  6. svn在linux上的安装
  7. bootstrap的使用
  8. Smarty模板的基础
  9. 在启动activity之前,调用application的oncreate
  10. I.MX6 ar1020 SPI device driver hacking