当前位置: 首页 > 编程日记 > 正文

中科院、百度研究院等联合提出UGAN,生成图片难以溯源

640?wx_fmt=jpeg


作者 | 中国科学院、北京航空航天大学、百度研究院团队译者 | 凯隐编辑 | 夕颜出品 | AI科技大本营(ID: rgznai100)  

导读:生成对抗网络(GAN)是近年大热的深度学习模型,中国科学院相关团队注意到,在多领域图片转换任务中,生成图片中会残留一些源类别特征,通俗来讲就是和输入源图片或多或少都有相似之处。针对这个问题,中国科学院、北京航空航天大学、百度研究院团队联合提出了一个神奇的 UGAN 模型,它可以去除生成图片中保留的源类别信息,使得生成图片的源类别变得更加难以追踪,即让生成图片的伪装性更强,掩盖原图片的“遗传”信息,使其看起来与源图相似性变弱,甚至完全不相同。


什么是多领域图像转换?


图像转换代表一类视觉和图像问题,主要目的是学习输入图像从一个类别域到另一个类别域的转换,例如表情转换,输入人脸面无表情的图像,输出该人脸在生气、开心、难过、害怕等一系列表情下对应的图像。风格转换,输出原始图片在不同亮度、光照等风格下的转换图片。通常每一中类型的转换都需要一个专门的模型去处理(例如 CycleGAN[1]),这样做非常低效,StarGAN[2] 进一步实现了用统一的框架来完成多个不同领域之间的转换,即多领域图像转换。


生成图片的源特征残留问题


类似 StarGAN 的多领域图像转换模型,得到的生成图片(translated images)往往会保留原始类别的特征,因此,本文提出了 Untraceble GAN(UGAN),即无法溯源的GAN模型,能解决源特征残留问题,如下图所示:         640?wx_fmt=png      图1 UGAN和StarGAN的对比效果图 在年龄转换(Aging),化妆风格转换(makeup),表情转换(Expression)三个不同的任务中,UGAN 的转换程度都要比StartGAN更彻底,例如在年龄转换中,StarGAN 的结果看起来仍然像成年人而 UGAN 的结果更像小孩。这表明 UGAN 在生成目标类别特征的同时,还能去除原始特征,这使得生成图片的源类别变得更加难以追踪。在结构上,UGAN 额外包含了一个源类别分类器,用来判别生成图片从哪个源类别转换而来,这有助于了解生成图片是否保留了源类别的特征。


UGAN 网络结构

       640?wx_fmt=png图2 UGAN 网络结构 网络结构如图 2,输入数据的是源图像和目标类别(Target Condition),首先经过转换器 G 得到生成图片(Output Image),之后再和源类别信息(Source Condition)以及真实图片(Real Image)一起输入到判别网络 D 中。不同于传统 GNN,判别网络 D 需要连接两个分类器(黄色模块),不仅需要真实性判别器(Authenticity Classifier)来判断图片是真实图片还是生成图片,还需要通过源类别分类器(Source Cclassifier)来确定生成图片对应的输入图片的类别(源类别)。 此外,生成图片和源类别还作为转换器 G 的输入,用于重构源输入图片。因此,转换器 G 由三部分监督:首先通过训练 G 来迷惑判别模型 D 的真实性判别器,这是生成对抗网络的基本功能;接着根据生成图片和源类别,来训练 G 重构输入图片,这是为了保证网络的循环稳定性[1];最后训练 G 来迷惑源类别分类器,让其相信生成图片的是从目标类别转换而来的,这是为了进一步去除生成图片中的源类别信息,使其更贴近目标类别。 由于添加了源类别作为监督信息,因此随着对抗训练的进行,生成图片能够逐渐摆脱源类别所具有的特征,而更贴近目标类别。


UGAN的三个目标函数


要通过真实性分类器,源类别分类器,图片重构器对转换器G进行监督学习,就需要设计相应的目标函数(损失函数)。 

真实性分类器

对于真实性分类器 Da ,作者参考了WGAN-gp[3]中提出的对抗损失函数来限制生成图片和目标类别的联合分布:
       640?wx_fmt=png              640?wx_fmt=png      
公式 1 是判别模型 D 的目标函数,公式 2 是生成器 G 的目标函数。x 和 y 代表图片和相应类别, x 和 y 都分别服从分布 q(x) 和 q(y),公式1类似交叉熵损失函数, -Ex~q(x)[Da(x)] 表示输入图片 x 被分类正确时的奖励,相应的的第二部分表示分类成生成器输出类别时的惩罚,第三部分则是一个梯度惩罚项,通过一阶莱布尼茨函数来强化判别能力。公式2则正好是公式1取反,也就是说判别模型表现越好,生成模型表现越差。


图片重构器


训练图片重构器是为了提高网络的循环稳定性(Cycle Consistence),这一部分主要参考了工作[1],目标函数为:         640?wx_fmt=png       即尽量保证重构图片与原始输入图片相同,这里带下标 s 的变量表示源图片或源类型,带下标 t的表示生成图片或目标类型。


源类别分类器


训练源类别分类器 Ds 是为了解决源特征遗留的问题,对于真实的图片而言,源类别和目标类别相同,而对于生成图片,分类器应该准确识别其源类别。相反,转换器 G 就是要让分类器无法找到生成图片的真实源类别,而是将错误的类别作为其源类别。因此二者的目标函数也存在负相关的关系: 
       640?wx_fmt=png        其中公式(4)是源类别分类器的损失函数,(5)是生成器 G 的损失函数。形式上和真实性分类器相同。然而目标类型yt的特征混合了从yt采样得到的真实图片xt以及生成图片的特征,因此生成的图片特征并不纯净,为了完全从目标类型yt来合成图片,用额外的参数C来区别真实图片和生成图片:
       640?wx_fmt=png             640?wx_fmt=png       这使得 Ds 不仅能确定图片的源类别,还能判断目标图片是真实图片还是生成的假图片,相反,也使得生成器 G 生成的图片变得更加难以追踪。


最终目标函数


将各个分类器的损失函数叠加,以及对应的生成器损失函叠加,就能得到最终的目标函数:      

       640?wx_fmt=png

      

实验步骤及结果

该团队主要在年龄转换、化妆风格转换、表情转换三个任务上开展对比实验,相应数据集是 Face aging、MAKEUP-A5 和 CFEE。由于本文主要是解决 StarGAN[2] 中存在的源特征存留问题,因此所有实验的基线对比工作都是 StarGAN。实验的评价指标有 Intra FIDs、AMT、余弦相似度。年龄转换相关实验额外添加 CAAE 和 C-GAN 作为基线对比。实验结果如下:      640?wx_fmt=png        640?wx_fmt=png              640?wx_fmt=png       640?wx_fmt=png        640?wx_fmt=png             640?wx_fmt=png      可以看到,在各项任务和指标下,UGAN 都优于 StarGAN。此外,直观地观察生成图片,可以发现 UGAN 生成的图片更好的去除了原始输入图片的特征,具有更强的源类别特征去除能力:     640?wx_fmt=png    640?wx_fmt=png       UGAN 在去除源类别信息上效果显著,使得生成图片技术更加成熟,生成图像伪装性更强,为 GAN 的研究打开了新的思路。


参考论文: [1] J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros. Unpaired image to image translation using cycle-consistent adversarial networks.arXiv:1703.10593, 2017.[2] Y. Choi, M. Choi, M. Kim, J.-W. Ha, S. Kim, and J. Choo. Stargan: Unified generative adversarial networks for multidomain image-to-image translation. In CVPR, 2018.[3] I. Gulrajani, F. Ahmed, M. Arjovsky, V. Dumoulin, and A. C. Courville. Improved training of wasserstein gans. In NIPS, 2017.


原文链接:https://arxiv.org/pdf/1907.11418.pdf

(*本文为 AI科技大本营编译文章,转载请联系微信 1092722531)


精彩推荐



640?wx_fmt=jpeg


60+技术大咖与你相约 2019 AI ProCon!大会早鸟票已售罄,优惠票速抢进行中......2019 AI开发者大会将于9月6日-7日在北京举行,这一届AI开发者大会有哪些亮点?一线公司的大牛们都在关注什么?AI行业的风向是什么?2019 AI开发者大会,倾听大牛分享,聚焦技术实践,和万千开发者共成长。


推荐阅读

  • 认知智能的突围:NLP、知识图谱是AI下一个“掘金地”?

  • 你想见的大神都来AI ProCon 2019了,优惠票限时抢购开启!

  • Python分析那些“标题党”文章

  • Python之父新发文,将替换现有解析器

  • 华为否认鸿蒙为噱头;谷歌公布 6 大 iOS 漏洞;极客头条

  • 三次创业,三次跨界,这次凭十万行核心 C 代码登上 GitHub Top 1!

  • 64%的投资者对比特币不感兴趣,那是谁投资了比特币?


640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢


相关文章:

搜索引擎的时效性需求满足

“全、准、快、新”是搜索引擎的四大评价指标,其中的“新”指代的就是时效性。随着互联网的发展,网民对信息获取的时效性要求越来越高。同时越来越多的网民更多的参与到创造互联网内容中去,互联网上的新信息也在迅速的膨胀。这都给搜索引擎时…

如何卸载sql2008,完全清除

1.先把SQL Server卸载,再把安装时产生的“Microsoft SQL Server”文件夹删掉,在运行注册表,把HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQLServer,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server全部删掉,(注意要把Mic…

别再说学不会:超棒的Numpy可视化学习教程来了

作者 | Jay Alammar译者 | 苏南下来源 | 机器会学ML(ID:AI_Learning007)导读:学习 Python,尤其是基于 Python 的学习机器学习算法,最基础的 NumPy 用法必须得熟悉。网上这方面的教程不少,但大多…

设计模式之备忘录模式(Memento)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

型网站的架构设计问题----大型高并发高负载网站的系统架构

随着中国大型IT企业信息化速度的加快,大部分应用的数据量和访问量都急剧增加,大型企业网站正面临性能和高数据访问量的压力,而且对存储、安全以及信息检索等等方面都提出了更高的要求…… 本文中,我想通过几个国外大型IT企业及网站…

java之php、Android、JAVA、C# 3DES加密解密

异常如下1.javax.crypto.BadPaddingException: Given final block not properly padded1)要确认下是否加密和解密都是使用相同的填充算法(也就是说,是否都是使用PKCS5Padding)2)确认下你要解密的字节数组是否正确。jav…

设计模式之中介者模式(Mediator)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

谷歌引入自动网络设计,高效解决大规模深度推荐模型的特征嵌入问题

来源 | 深度传送门(ID:gh_5faae7b50fc5)导读:本文主要介绍Google在大规模深度推荐模型上关于特征嵌入的最新论文。 一、背景大部分的深度学习模型主要包含如下的两大模块:输入模块以及表示学习模块。自从NAS[1]的出现以来&#xf…

什么是POM maven

POM是项目对象模型(Project Object Model)的缩写,下面援引一下百度百科中对于POM的解释 定义 Maven是以项目为中心的设计。POM是Maven对一个单一项目的描述。没有POM的话,Maven是毫无用处的——POM是Maven的核心。是POM实现的并驱动了这种以模型来描述的…

新的Mac下如何配置开发者账号信息

1:把p12文件下载来,打开,添加到钥匙串 2:在xcode中的Organizer中的 Provisioning Profiles项中,点击 “New”, 添加账号信息,从网络获取相关文件。 转载于:https://www.cnblogs.com/willbin/arc…

5G+AI重新定义生老病死?

作者 | 胡巍巍来源 | CSDN(ID:CSDNnews)5G时代,我们的生老病死,或将被重新定义。5G手术,让生命不再受制于距离海南的神经外科专家凌至培,使用5G技术,跨越南北为一位北京的患者&#…

设计模式之命令模式(Command)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

QTP的那些事---页面弹出框的处理,页面等待加载的处理

处理方法:先判断父类对象是否存在,如果存在,判断相关的static文本对象是否存在,如果存在,则点击弹出框中的按钮即可; 例如如下的代码: 设置循环判断dialog对象是否存在,如果存在&…

如何衡量一个项目的交付质量???

昨天与部门开会讨论项目的完整规范交付流程,参会的涉及到项目相关的所有人员,总结一下供大家讨论交流: 1、小插曲:我们把客户的干系人、自己的干系人对项目的影响做了一个排名并打分,结果很有意思:客户的领…

华人“霸榜”ACL最佳长短论文、杰出论文一作,华为、南理工等获奖

作者 | 夕颜、一一出品 | AI科技大本营(ID:rgznai100)导读:7 月 31 日晚,自然语言处理领域最大顶会 ACL 2019 在佛罗伦萨进行到了第四天(7 月 29 日-8 月 1 日),当天,组委会最终从提…

设计模式之访问者模式(Visitor)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

关闭Windows 8的metro UI的方法汇总

http://www.ssdax.com/570.html 上面就是windows8新出现的Metro UI,点击开始菜单就会出现,取代了windows长久以来的开始菜单,有了非常大的突破 不过我发现很多人都在找怎么关闭windows8 的Metro UI,下面介绍两个如何关闭Metro的方…

coredata Lightweight Migration 心得

关于coredata 网上的相关资料比较少,大部分是基本用法。于是便找到苹果官方文档进行深入学习。 分享一下心得,如果用了coredata 必须懂得 coredata Migration,否则app版本更新 core data model schema 变化很大可能导致持久化coredata 出错&a…

设计模式之职责链模式(Chain of Responsibility)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

澎思科技与新加坡国立大学等高校共研AI产品加快技术应用落地

2019年7月31日,中国人工智能企业澎思科技宣布新加坡研究院正式揭牌成立,并宣布成立澎思技术委员会,推动全球视野下的人工智能技术研究。同时,澎思科技与新加坡国立大学、新加坡南洋理工学院等重量级机构签订战略合作。未来&#x…

codility上的问题 (22)

问题描述: 用1 * 1, 1 * 2的矩形覆盖一个n行m列的矩形,问有多少种方法。 数据范围 : n [1..10^6], m [ 1..7] 要求复杂度: 时间 O(log(n) * 8 ^m)) 空间 O(4^m) 分析:这个题跟之前那个木块砌墙问题一样…… 稍作修…

session 与 cookie的区别

session和cookie是网站浏览中较为常见的两个概念,也是比较难以辨析的两个概念,但它们在点击流及基于用户浏览行为的网站分析中却相当关键。基于网上一些文章和资料的参阅,及作者个人的应用体会,对这两个概念做一个简单的阐述和辨析…

设计模式之迭代器模式(Iterator)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

澎思科技成立新加坡研究院,将与多家机构合作研发自动驾驶等项目

2019 年 7 月 31 日,中国人工智能企业澎思科技宣布新加坡研究院正式揭牌成立,并成立澎思技术委员会,由来自新加坡国立大学、新加坡南洋理工学院等四名 AI 专家/教授担任澎思技术委员会首批委员。此外,澎思科技还与新加坡国立大学、…

对象----《你不知道的JS》

最近在拜读《你不知道的js》,而此篇是对于《你不知道的js》中对象部分的笔记整理,希望能有效的梳理,并且深入理解对象 一、语法 对象两种定义形式:声明(文字)形式、构造形式 声明(文字)形式 var…

Android:FragmentTransaction

为什么80%的码农都做不了架构师?>>> FragmentTransaction FragmentManager:能够实现管理activity中fragment. 通过调用activity的getFragmentManager()取得它的实例.。 FragmentTransaction:对fragment进行添加,移除,替换,以及执…

设计模式之解释器模式(Interpreter)摘录

23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给…

自动驾驶激荡风云录:来自圈内人的冷眼解读

作者 | 黄浴,奇点汽车美研中心总裁兼自动驾驶首席科学家编辑 | 夕颜出品 | AI科技大本营(ID:rgznai100)最近一个月,有关自动驾驶的新闻层出不穷,也是少有的热闹。先说正面的吧。激情的焰火 ▌传感器之争2019 年 7 月&a…

激动人心的AutoCAD .net开发技术

自从了解了vsto和sc(SmartClient)技术后,对以前Win32的二次开发技术,再也没有一点兴趣。对Office VBA, AutoCAD lisp, VBA, PowerBuilder PoserScript, MapInfo MapBasic 的开发,简直室深恶痛绝,希望一切…

Linux Shell简介

目录 版权信息前言第一篇:超级工具/Terminals,xterms 和 Shells 一、超级工具二、为了说明 shell ,这里需要一些背景知识。 1、Terminals, xterms 与 Shells2、终端(Terminals)3、xterms4、Shells 三、Shel…