DA-GAN技术【简介】【机器通过文字描述创造图像】
【题外话:今天上课我做了一个关于DA-GAN技术的ppt演讲,写一点东西留念一下...】
转载请注明出处:https://www.cnblogs.com/GraceSkyer/p/9107471.html
DA-GAN技术是微软亚洲研究院新研发的一项技术,可能对今后的艺术创造模式产生巨大影响。
前言
首先,大家还记得微软小冰吗,目前最新的第五代拥有“高级感官”的小冰不仅会唱歌、讲故事、写文章,还能主动与人交往。除此之外,她还出版了人类首部人工智能灵思诗集《阳光失了玻璃窗》,这已体现其具有文字的创造力。

我们知道,人工智能可以大致分为下图四个层次:
从下往上依次是运算智能、感知智能、认知智能和创造智能。而正如前面举例的小冰,其创作的诗集就已经在文字方面体现了人工智能在创造能力上的发展。而我要介绍的DA-GAN技术,是微软亚洲研究院研发的一种让机器绘画创造成为可能的技术。

GAN(Generative Adversarial Nets)简介
GAN(Generative Adversarial Nets)生成式对抗网络,启发自博弈论中的二人零和博弈(two-player game),GAN 模型中的两位博弈方分别由生成式模型(generative model)和判别式模型(discriminative model)充当。生成模型 G 捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声 z 生成一个类似真实训练数据的样本,追求效果是越像真实样本越好;判别模型 D 是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据,D 输出大概率,否则,D 输出小概率。
简单说明GAN就比如:生成网络 G 好比假币制造团伙,专门制造假币,判别网络 D 好比警察,专门检测使用的货币是真币还是假币,G 的目标是想方设法生成和真币一样的货币,使得 D 判别不出来,D 的目标是想方设法检测出来 G 生成的假币。双方在训练中都极力优化自己的网络,从而形成竞争对抗,直到最后G可以以假乱真,D难以判定G是否为真时,目标就达成了。实际中,我们就可以用这个生成式的模型G来生成图片。
Deep Attention GAN(DA-GAN)简介
但是,基于GAN展开的研究工作使得翻译图像的分布与目标集合的分布无法区分。这样的集合约束不能学习实例级别的对应关系(例如对象配置任务中对齐的语义部分)。这种限制常常导致误报(例如几何或语义伪像),并进一步导致模式崩溃问题。为了解决上述问题,微软研究院提出了一个由Deep Attention GAN(DA-GAN)提供的用于实例级图像转换的新框架。
这样的设计使DA-GAN能够将翻译两个集合的样本任务分解成翻译高度结构化的潜在空间中的实例。具体来说,我们共同学习一个深入关注的编码器,通过参加学习的实例对可以发现实例级别的对应关系。因此,可以在集合级别和实例级别上利用约束条件。
DA-GAN实现效果
我们首先来看一下DA-GAN实现的效果是什么样的。当我们用文字描述“我想要一只腹部、胸部为白色、头顶灰色、翅膀有白色翅斑的小鸟”时,计算机便可以通过DA-GAN在几毫秒的时间内生成多个与文字描述高度吻合的形象,如下图所示。这些由计算机生成的鸟 完全符合人们期待的鸟的形象,不过它有可能是真实存在于现实世界中的,也有可能是系统根据鸟类特征和文字描述“创造”出来的一只“鸟”。

技术核心部分
DA-GAN在技术上最大的创新是 “隐空间”(latent space),这是它最核心的部分。
与传统的数据训练模式需要pair data(数据对)不同,DA-GAN不需要将文本与真实的鸟一一对应,而是将原始图片分割成不同的部分(暂称该部分的样本为T),例如头部、身体、尾巴、姿势等,不同的部分分别投射到一个“隐空间”(暂称该部分的生成样本为T’),然后通过大量的图片训练,去验证T-T’对应的精确程度,也就是去不断验证该“隐空间”的好坏,从而不断迭代,确保从T-T’的过程并非随机产生,而是保持一定的规则,进而让“隐空间”的模型逐步趋于完善。这个过程就是DA-GAN系统最为核心的创新所在,也是它能够更加智能、真正具有举一反三学习能力的关键点。
上图用于说明DA-GAN流水线的姿态变形示例。给定从源域S和目标域T两个鸟类的图像,姿态变形的目标是将源姿态转换为目标姿态,同时仍然保持s的身份。
(a)中显示了前馈过程,其中两个输入图像被送到DAE中,并将它们投影到一个潜在空间(用虚线框标记)。然后,G从潜在空间中取出这些高度结构化的表示(DAE(s)和DAE(t)),以生成转换后的样本,即s0 = G(DAE(s)),t0 = G(DAE(t))。 (b)中显示了上述DAE的细节(以橙色块标记)。给定图像X,定位函数floc将首先根据X的特征图(即E(X),其中E是可以以任何形式使用的编码器)预测N个关注区域的坐标。然后在X上产生并激活N个注意掩模以产生N个关注区域。最后,每个区域的功能由实例级别的表示组成。通过在S和T上操作相同的方式,可以在潜在空间中找到实例级别的对应关系。我们利用实例级别和集合级别上的约束条件进行优化,如(c)所示。(d)中列出了所有符号。
接下来,DA-GAN就可以基于该模型创作用户想要的鸟类了,正就如我前面说的,输入你的需求,一只栩栩如生的鸟就会相应生成。它可能是真实存在的,也可能是一只拥有A种鸟类的头部特征、B种鸟类的身体特征、C种鸟类的尾部特征以及任意姿态的一只“想象中 的鸟”,而在现实世界里并没有这样的鸟类,但它看上去就是一只真正的 “鸟”。

优势
其分辨率已经从其他相关技术能够达到的64*64升级到了256*256,分辨率的提高,意味着图片每个部分所包含的细节信息更加完善,也正因为细节的丰富,才使得DA-GAN的表现在与真实世界的对比中优于同类技术。
对于DA-GAN来说,最重要的是早期的数据训练,图片越多质量越高。DA-GAN生成的众多新的图片,又可以反哺给该系统,从而让它拥有更多的学习数据。也就是说,只要基于少量的原始数据,它就可以产生更多“真实”的练习数据,大大改善某些领域真实数据缺乏的问题。利用这一优势,研究团队实现了业内首次在鸟类数据集中增加生成数据,并将系统的准确度提升了两个百分点。

下图是数据增强结果——一个姿态变换任务。图中有三组图片,每组图片的第一列是原始样本,第二列是目标样本,第三列是DA-GAN生成的鸟类。它保存了与第一列鸟类类别一致,但保留了第二列的鸟类姿态。

发展前景
在未来,或许,DA-GAN技术将开启一个每个人都是创造者的时代。只要你的需求输入它能够读懂,哪怕是你脑海中幻想出来的物体和场景,它都能“画”出来。而由它所描绘出来的虚拟世界,可能一点都不比文学家、艺术家创作出来的场景逊色。
它能为安防领域提供更真实的犯罪嫌疑人画像;在生活购物方面帮助人们贴合自身的情况试穿网络售卖的衣物,它也可能让已经灭绝的动植物,通过记载文字的描述重新跃然纸上,等等。它可以用于任何与图片相关的创作。
【这几个应用,老师觉得有些牵强???】
【然后我回答了两个问题,一个是无监督学习方式,一个是... 我又讲了其他类似的技术... Over... .) 】
参考:
【读书笔记】DA-GAN: Instance-level Image Translation
不要怂,就是GAN (生成式对抗网络) (一): GAN 简介
其他阅读(可能跟本博客内容无关,我看着了解了一点...):
http://www.cyzone.cn/article/14379.html 【了解了一下“视觉文字”以及一种图像分析方式...】
感兴趣的可以再了解了解“视频结构化”。。。。。。
DA-GAN技术【简介】【机器通过文字描述创造图像】的更多相关文章
- Java Servlet 技术简介
Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...
- CSS border三角、圆角图形生成技术简介
http://www.zhangxinxu.com/wordpress/?p=794 一.前言 利用CSS的border属性可以生成一些图形,例如三角或是圆角.纯粹的CSS2的内容,没有兼容性的问题, ...
- FC总线技术简介
FC是由美国标准化委员会(ANSI)的X3T11小组于1988年提出的高速串行传输总线,解决了并行总线SCSI遇到的技术瓶颈,并在同一大的协议平台框架下可以映射更多FC-4上层协议.FC具备通道和网络 ...
- 常见爬虫/BOT 对抗技术简介(二)
上一篇文章分别从网络协议,Robots文件,JS渲染,行为分析等多方面讲了些“反爬虫”,“反-反爬虫”技术. 点击查看:<常见爬虫/BOT 对抗技术简介(一)> 本文将主要介绍各种IP地址 ...
- 【转】Android 防破解技术简介
http://www.cnblogs.com/likeandroid/p/4888808.html Android 防破解技术简介 这几年随着互联网的不断发展,Android App 也越来越多!但是 ...
- InfiniBand技术简介
InfiniBand技术简介 转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 介绍 随着CPU和通讯处理速度的 ...
- Windows NT 技术简介
Windows NT 技术简介 NT:New Technoly(新技术,因比DOS.WIN9X采用了很多新技术而得名) Windows NT基本介绍 WindowsNT是Microsoft推出的面向工 ...
- P2P技术简介
P2P技术简介 NAT( Network Address Translation)穿越(俗称打洞)技术 前言: p2p已经存在于我们生活的方方面面:我们通过下载在工具(比如迅雷,bitorent,各种 ...
- 【CUDA并行程序设计系列(1)】GPU技术简介
http://www.cnblogs.com/5long/p/cuda-parallel-programming-1.html 本系列目录: [CUDA并行程序设计系列(1)]GPU技术简介 [CUD ...
随机推荐
- babel使用入门以及使用webpack+babel来"编译"你的JS代码
Babel是一个广泛使用的转码器,可以将ES6代码转为ES5,从而在现有的环境中执行. 这是一个开端,以后遇到问题,也会持续记录. 一.babel配置 官网有更详细的配置教程:https://www. ...
- ES6新特性:var与let区别
1.let的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效.var定义的变量为全局变量. 2.var在同一块可以重复定义,let不能 //正常 function () { var ...
- js中的深浅拷贝
js中的深浅拷贝 js中有深拷贝.浅拷贝一说,所谓的深浅拷贝是针对value类型为引用类型(函数.对象.数组)而言的,大概理解的就是: 浅拷贝: 拷贝出的对象c和原始对象o,c和o在key对应的val ...
- 后台管理UI+功能
kingRoad功能强大,丰富各种功能和插件,自定义开发功能组件及样式,使用webpack方式集成和纯html两种,UI(自定义开发和AdminLTE的集成优化),弹窗功能使用(Layer弹窗,并与框 ...
- python学习之老男孩python全栈第九期_day029知识点总结——configparser模快、logging模块
一. configparser模块 生成文档 import configparser config = configparser.ConfigParser() config[', 'Compressi ...
- mysql + excel 校正线上数据
积分问题处理 1. 所有应补汇总 select driver_id, SUM(integral) from detail_score group by driver_id; 2. 原汇总积分 sele ...
- vmware参数详解
config.ini - 设置 VMX文件参数 文件configs.ini或config(在Linux中)为所有用户设置参数,或者如果您喜欢 - 为主机设置参数. 如果要为所创建的所有虚拟机使用某些设 ...
- FineReport中如何实现自动滚屏效果
对于一些特殊的模板,可能为了展示的更加丰富.全面会在一个页面放置很多图表.表格等内容.由于内容过多,超出了浏览器窗口的大小导致内容展示不全的情况.这样我们就需要用到JS滚屏效果来解决,这里主要介绍在F ...
- 安装部署 OpenPAI Install OpenPAI on Ubuntu
介绍 不管是机器学习的老手,还是入门的新人,都应该装备上尽可能强大的算力.除此之外,还要压榨出硬件的所有潜力来加快模型训练.OpenPAI作为GPU管理的利器,不管是一块GPU,还是上千块GPU, ...
- 记一次Android studio升级之后的坑
像往常一样打开Android studio,但这次它提示我升级!说是什么为了更好的体验,在好奇心的驱使下,我毅然地点击了“update”按钮.升级之后,编译项目,报出了N多个error,我的心都慌完! ...