【GAN】七个不容易被发现的生成对抗网络(GAN)用例;案例详解聚类、回归、分类算法

2018 年 12 月 9 日 产业智能官


像许多追随AI发展的人一样,我无法忽略生成建模的最新进展,尤其是图像生成中生成对抗网络(GAN)的巨大成功。看看下面这些样本:它们与真实照片几乎没有区别!

从2014年到2018年,面部生成的进展也非常显着。

这些结果让我感到兴奋,但我内心总是怀疑它们是否真的有用且广泛适用。基本上我“怀疑”,凭借生成模型的所有功能,我们并没有真正将它们用于比高分辨率面部表情生成这些更实用的东西。当然,有些企业可以直接基于图像生成或风格转移(如游戏行业中的角色生成或关卡生成,从真实照片到动漫头像的风格转换),但我一直在寻找GAN和其他生成方式更多领域模型的应用。我想通过生成模型,我们不仅可以生成图像,还可以生成文本、声音、音乐、结构化数据,如游戏关卡或药物分子。

使用RNN生成游戏人物

在本文中,我将介绍7个用例。其中一些我已经亲自确认它们的用处,其他一些正在研究中,但这并不意味着它们不值得尝试。所有这些使用生成模型创建的例子都可以应用于不同的领域,因为我们的主要目标不是生成一些现实的东西,而是利用神经网络的内在知识来完成新任务。

1.数据增强

最明显的应用是训练模型:从我们的数据生成新样本以增强我们的数据集。我们如何检查这种增强是否真的有帮助呢?有两个主要策略:我们可以在“假”数据上训练我们的模型,并检查它在真实样本上的表现。对应的我们在实际数据上训练我们的模型来做一些分类任务,并且检查它对生成的数据的执行情况。如果它在两种情况下都能正常工作,你可以随意将生成模型中的样本添加到你的实际数据中并再次重新训练,你应该期望获得性能。

NVIDIA展示了这种方法的惊人实例:他们使用GAN来增加具有不同疾病的医学脑CT图像的数据集,并且表明仅使用经典数据的分类性能是78.6%的灵敏度和88.4%的特异性。通过添加合成数据增强,可以增加到85.7%的灵敏度和92.4%的特异性。

https://arxiv.org/pdf/1803.01229.pdf

2.隐私保护

许多公司的数据可能是秘密的,敏感的(包含患者诊断的医疗数据),但有时我们需要与顾问或研究人员等第三方分享。如果我们只想分享关于我们的数据的一般信息,包括最重要的模式,对象的细节和形状,我们可以使用生成模型来抽样我们的数据示例以与其他人分享。这样我们就不会分享任何确切的机密数据,只是看起来完全像它的东西。

更困难的情况是我们想要秘密共享数据。当然,我们有不同的加密方案,如同态加密,但它们有已知的缺点,例如在10GB代码中隐藏1MB信息。2016年,谷歌开辟了一条关于使用GAN竞争框架加密问题的新研究路径,其中两个网络必须竞争创建代码并破解它:

但最好的结果不是获得的代码效率,我们应该记住,通过神经网络获得的表示通常包含有关输入数据的最有用的信息,并且从这个压缩数据我们仍然可以进行分类/回归/聚类。如果我们将“压缩”替换为“加密”,那么这个想法很明确:这是与第三方共享数据而不显示任何数据集的惊人方式。它比匿名甚至假样本生成强得多,可能是下一件大事(当然使用区块链)

3.异常检测

变分自动编码器(VAE)或GAN等主要生成模型由两部分组成。VAE具有编码器和解码器,其中第一个对分布进行建模,第二个重建。GAN由生成器和鉴别器组成,第一个模拟分布,第二个判断它是否接近训练数据。我们可以看到,它们在某种程度上非常相似:有建模和判断部分(在VAE中我们可以考虑将重建视为某种判断),建模部分应该学习数据分布。如果我们将一些不是来自训练样本分发,那么判断部分将会发生什么?训练有素的GAN鉴别器会告诉我们0,并且VAE的重建误差将高于训练数据的平均值。这就是我们接下来要说的:无监督异常探测器,它易于训练和评估。在本文中你可以找到例子是用于异常检测,这里可以找到自动编码的。我还添加了自己的基于自动编码器的粗略草图——用于在Keras中编写的时间序列。

4.判别性建模

深度学习所做的一切都是将输入数据映射到某个空间,在这个空间中,通过SVM或逻辑回归等简单的数学模型可以更容易地分离或解释。生成模型也有自己的映射,我们从VAE开始。Autoencoders将输入样本映射到一些有意义的潜在空间,基本上我们可以直接训练一些模型。它有意义吗?它是否与仅使用编码器层和训练模型直接进行分类有所不同?确实是。自动编码器的潜在空间是复杂的非线性降维,并且在变分自动编码器的情况下也是多变量分布,这可以比一些随机初始化更好地开始训练判别模型。

GAN对于其他任务来说有点难度。它们被设计为从随机种子生成样本,并且不期望任何输入。但我们仍然可以至少以两种方式利用它们作为分类器,第一个已经研究过的,就是利用鉴别器将生成的样本分类到不同的类别,同时只是告诉它是真的还是假的。我们可以期望从获得的分类器更好地规则化(因为它已经看到不同类型的噪声和输入数据的扰动)并且具有用于异常值/异常的额外类:

5.域迁移(Domain adaptation)

我认为,这是最强大的用处之一。在实践中,我们几乎从未拥有相同的数据源来训练模型并在现实世界环境中运行它们。在计算机视觉中,不同的光线条件、相机设置或天气可以使非常准确的模型变得无用。在NLP/语音分析中,俚语或重音会破坏你在“语法正确”上训练的模型的表现。在信号处理中,你很可能拥有完全不同的设备来捕获数据以训练模型和生产。我们知道机器学习模型执行是从一个条件到另一个条件的映射,保留主要内容,但要更改细节。

例如,如果你正在处理应该在某种CCTV摄像机上工作的应用程序,但是你已经在高分辨率图像上训练了你的模型,那么你可以尝试使用GAN来对图像进行去噪处理并对其进行增强。我可以从信号处理领域提供更激进的例子:有很多与手机加速度计数据相关的数据集,描述了不同的人的活动。但是,如果你想在腕带上应用受过手机数据训练的模型,该怎么办?GAN可以尝试帮助你还原不同类型的动作。一般来说,生成模型不是从噪声中进行生成,而是一些预定义的先验模型可以帮助你进行域迁移,协方差转换以及与数据差异相关的其他问题。

6.数据处理

我们在前一段谈到了风格转移。我不喜欢的是它的映射函数适用于整个输入,如果我只想换一些照片的鼻子怎么办?或改变汽车的颜色?或者在不完全改变的情况下替换演讲中的某些单词?如果我们想要这样做,那么我们的对象就需用一些有限的因子来描述,例如,脸是眼睛,鼻子,头发,嘴唇等的组合,这些因素有它们自己的属性如颜色、大小等。如果我们可以将带有照片的像素映射到某些…我们可以调整这些因素并使鼻子更大或更小?有一些数学概念允许它:多样性假设,对我们来说好消息是,自动编码器可能实现。

7.对抗训练(Adversarial training)

你可能不同意我添加关于机器学习模型攻击的文字,但它对生成模型(对抗性攻击算法确实非常简单)和对抗性算法影响很大。也许你熟悉对抗性例子的概念:模型输入中的小扰动(甚至可能是图像中的一个像素)导致完全错误的性能。其中一个最基本的方法叫做对抗性训练:基本上是利用对抗性的例子来构建更准确的模型。

如果不深入细节,这意味着我们需要双人游戏:对抗模型需要最大化其影响力,并且存在需要最小化其损失的分类模型。看起来很像GAN,但出于不同的目的:使模型对对抗性攻击更稳定,并通过某种智能数据增强和正规化提高其性能。

小贴士

在本文中,我们已经介绍了几个例子,说明GAN和其他一些生成模型如何用于生成漂亮的图像,旋律或短文本。当然,他们的主要长期目标是生成以正确情况为条件的真实世界对象,但今天我们可以利用他们的分布建模和学习有用的表示来改进我们当前的AI、保护我们的数据、发现异常或适应更多现实世界的案例。我希望你会发现它们很有用,并将适用于你的项目。

文章原标题《gans-beyond-generation-7-alternative-use-cases》

作者:Alexandr Honchar



轻松看懂机器学习!3个案例详解聚类、回归、分类算法

机器学习,一言以蔽之就是人类定义一定的计算机算法,让计算机根据输入的样本和一些人类的干预来总结和归纳其特征和特点,并用这些特征和特点和一定的学习目标形成映射关系,进而自动化地做出相应反应的过程。

这个反应可能是做出相应的标记或判断,也可能是输出一段内容——图片、程序代码、文本、声音,而机器自己学到的内容我们可以描述为一个函数、一段程序、一组策略等相对复杂的关系描述。

算法这种东西在最初出现的时候是一种确定性的机器指令执行序列,也就是说,机器需要怎么做早就在程序一开始就设定好。虽然说在程序执行的过程中可以依靠有限的参数对程序执行过程所涉及的对象,执行次数,执行分支条件等进行设定,但是基本行为逻辑已经大抵确定。

在这个过程中,机器——计算机是非常被动的,它老老实实地严格执行程序员赋予它们的指令执行序列,没有任何“学习”的行为。这也没办法,因为最开始的图灵机模型在设计的时候就是期望计算机以这种方式。

机器学习从学习的种类来说,最常见的我们习惯分作两种:

一种叫“无监督学习”(Unsupervised Learning)

一种叫“有监督学习”(Supervised Learning)

所谓“无监督学习”,是指人们在获得训练的向量数据后在没有标签的情况下尝试找出其内部蕴含关系的一种挖掘工作,这个过程中使用者除了可能要设置一些必要的“超参数”(Hyper-parameter)以外不用对这些样本做任何的标记甚至是过程干预;“有监督学习”与此不同,每一个样本都有着明确的标签,最后我们只是要总结出这些训练样本向量与标签的映射关系。

所以在这两种方式下,处理的逻辑有很大的区别,对于初学的朋友需要格外注意。

一、 聚类

聚类——英文为Clustering,它就是我们说的典型的“无监督学习”的一种,就是把物理对象或抽象对象的集合分组为由彼此类似的对象组成的多个类的分析过程。

聚类这种行为我们不要觉得很神秘,也不要觉得这个东西是机器学习所独有的,恰恰相反,聚类的行为本源还是人自身。我们学习的所有的数据挖掘或者机器学习的算法或者思想的来源都是人类自己的思考方式,只不过我们把它教给机器让它们代劳,让他们成为我们肢体和能力的延伸而不是让他们替我们做创造和思考。

聚类是一种什么现象呢?我们人类在认识客观世界的过程中其实一直遇到容量性的问题,我们遇到的每一棵树、每一朵花、每一只昆虫、每一头动物、每一个人、每一栋建筑……每个个体之间其实都不同,有的差距还相当大。那么我们人在认知和记忆这些客观事物的过程中就会异常痛苦,因为量实在是大到无法承受的地步。

因此人类才会在“自底向上”的认识世界的过程中“偷懒”性地选择了归纳归类的方式,注意“偷懒”的这种方式是人类与生俱来的方法。

我们在小时候被父母用看图说话的方式来教咿呀学语的时候就有过类似的体会了,图片上画了一只猴子,于是我们就认识了,这是一只猴子;图片上画了一辆汽车,于是我们就了解了,这是一辆汽车……

等我们上街或者去动物园的时候再看,猴子也不是画上的猴子,而且众多猴子之间也长得各式各样,每个都不同,我们会把它们当成一个一个的新事物去认识吗?我们看汽车也同样,大小,颜色,样式,甚至是喇叭的声音也是形形色色五花八门,它们在我们眼里是一个个新的事物吗?不,它们都还是汽车。

这些事物之间确实有所不同,但是它们对我们的认知带来了很大的困扰吗?并没有。我们无论如何是不会把猴子和汽车当成一类事物去认知的,猴子彼此之间是不同,但是体格、毛发、行为举止,种种形态让我们认为这些不同种类的猴子都还是猴子一个大类的动物,别说是和汽车混为一谈,就是跟狗、马匹、熊这些脊椎动物我们也能轻易地分开。

人类天生具备这种归纳和总结的能力,能够把认知的事物相似地放到一起来作为一类事物做认识,它们之间可以有彼此的不同,但是有一个我们心里的“限度”,只要在这个限度内,特征稍有区别无关大碍,它们仍然还是这一类事物。

在这一类事物的内部,同样有这种现象,一部分个体之间比较相近,而另一部分个体之间比较相近,这两部分个体彼此之间我们人还是能够明显认知到差别,那么这个部分的事物又会在大类别的内部重新划分成两个不同的部分进行认知。比如汽车直观从样子上可以分成小轿车、卡车、面包车等种类,虫子们也被人轻易地从外型上区别为飞虫、爬虫、毛毛虫……

在没有人特意教给我们不同小种群的称谓与特性之前,我们自然具备的这种由我们主观的认知能力,以特征形态的相同或近似将它们划在一个概念下,特征形态的不同划在不同的概念下,这本身就是聚类的思维方式。

比较常用的聚类算法有K-Means、DBSCAN等几种,基本思路都是利用每个向量之间的“距离”——这里指的是空间中的欧氏距离或者曼哈顿距离。从远近来进行彼此是否更适于从属与同一类别来做的分类判断。

假如有三个1维样本,一个180,一个179,一个150,这三个向量如果要分成两类的话,应该是180和179这两个分在一个类别,150单一个类别。原因就是180和179两个的距离为1,而180和179距离150分别为30和29个单位——非常远,就是从肉眼感官上来看也是这样。用机器来做学习的话,它也能够通过算法自动去感知到这些向量之间的距离,然后将它们彼此之间那些靠得近的分在一起以区别于其他类簇。

在用机器做聚类学习的时候,我们每种算法都对应有相应的计算原则,可以把输入的各种看上去彼此“相近”的向量分在一个群组中。然后下一步,人们通常更有针对性地去研究每一组聚在一起的对象所拥有的共性以及那些远离各个群组的孤立点——这种孤立点研究在刑侦、特殊疾病排查等方面都有应用。

在这个过程中,从获得到具体的样本向量,到得出聚类结果,人们是不用进行干预的,这就是“非监督”一词的由来。

二、回归

回归是一种解题方法,或者说“学习”方法,也是机器学习中一块比较重要的概念。

回归的英文是Regression,单词原型的regress大概的意思是“回退,退化,倒退。”其实Regression——回归分析的意思是借用里面“倒退,倒推”的含义。简单说就是“由果索因”的过程,是一种归纳的思想——当我看到大量的事实所呈现的样态,我推断出原因或客观蕴含的关系是如何的;当我看到大量的观测而来的向量(数字)是某种样态,我设计一种假说来描述出它们之间蕴含的关系是如何的。

在机器学习领域,最常用的回归是两大类——一类是线性回归,一类是非线性回归。

所谓线性回归,就是在观察和归纳样本的过程中认为向量和最终的函数值呈现线性的关系。而后设计这种关系为:

y = f(x) = wx + b

这里的w和x分别是1×n和n×1的矩阵,wb则指的是这两个矩阵的内积。具象一点说,例如,如果你在一个实验中观察到一名病患的几个指标呈现线性关系(注意这个是大前提,如果你观察到的不是线性关系而用线性模型来建模的话,是会得到欠拟合的结果的)。

拿到的x是一个5维的向量,分别代表一名患者的年龄、身高、体重、血压、血脂这几个指标值,y标签是描述他们血糖程度的指标值,x和y都是观测到的值。在拿到大量样本(就是大量的x和y)后,我猜测向量 (年龄,身高,体重,血压,血脂) 和与其有关联关系的血糖程度y值有这样的关系:

y=w1×年龄+w2×身高+w3×体重+w4×血压+w5×血脂+b

那么就把每一名患者的 (年龄,身高,体重,血压,血脂) 具体向量值带入,并把其血糖程度y值也带入。这样一来,在所有的患者数据输入后,会出现一系列的六元一次方程,未知数是w1~w5和b——也就是w矩阵的内容和偏置b的内容。而下面要做的事情就是要把w矩阵的内容和偏置b的内容求出一个最“合适”的解来。这个“合适”的概念就是要得到一个全局范围内由f(x)映射得到的y和我真实观测到的那个y的差距的加和,写出来是这种方式:

怎么理解这个Loss的含义呢?右面的

表示加和,相当于做一个一个循环,i是循环变量,从1做到n,覆盖训练集当中的每一个样本向量。加和的内容是wxi+b和yi的差值,每一个训练向量xi在通过我们刚刚假设的关系f(x)=wx+b映射后与实际观测值yi的差距值。取绝对值的含义就是指这个差距不论是比观测值大或者观测值小,都是一样的差距。将全局范围内这n个差距值都加起来我们管他叫总差距值好了,就是这个 的含义。

那么显而易见,这个映射关系中如果w和b给的理想的话,应该这个差距值是0,因为每个x经过映射都“严丝合缝”地和观测值一致了——这种状况太理想了,在实际应用中是见不到的。不过,Loss越小就说明这个映射关系描述越精确,这个还是很直观的。那么想办法把Loss描述成:Loss=f(w, b)

再使用相应的方法找出保证Loss尽可能小的w和b的取值,就算是大功告成了。我们后面会讲计算机怎么来求这一类的解——放心,有办法的,即便不用联立解方程。一旦得到一个误差足够小的w和b并能够在验证用的数据集上有满足当前需求的精度表现后就可以了。例如,预测病患的血糖误差为误差平均小于等于0.3为容忍上线,训练后在验证集上的表现为误差平均为0.2,那就算是合格了。

请注意,在传统的机器学习中回归、分类这些算法里都有一个要把获取到的数据集分成训练集合验证集的过程。用训练集数据来做训练,归纳关系用;用验证集数据来做验证,避免过拟合现象,如果你不太明白过拟合是什么意思也没关系后面我们会讲的,不必着急。数据集的划分三七开也可以,二八开也没什么不行,现在生产环境中大致用的都是这样一种比例,反正训练集一侧用数据多的那部分。

由于这种假设中输入的x向量与标签值y是一种线性关系y=f(x)=wx+b,所以才叫做线性回归。最常见的形式是y=f(x)=ax+b这种形式,也就是x是一个一维向量,w也是一个一维向量的情况。如果是呈现其他关系比如指数关系,对数关系,那么这种时候你用线性回归去做拟合会发现它的损失函数非常大,在验证集上表现出来的误差也非常大,这是一种欠拟合现象,我们后面同样会讲,大家先技术这样一个名词。

线性回归之中在机器学习领域应用最多的当属逻辑回归。它和线性回归都叫回归,但是逻辑回归看上去更像分类。我们先在回归这一节提一下这种回归的工作方式。与前面我们说的线性回归不同,在这种模型中观察者假设的前提是y只有两种值,一种是1,一种是0,或者说“是”或“否”的这种判断。

这里面的wx+b和前面线性回归中所说的wx+b是一个概念,都是指一个w矩阵和x做了内积再和偏置b做了一个加和。如果设z=wx+b那么这个回归的分类模型表达式就可以改写为:

函数图像为:

横轴是z,纵轴是y,一个多维的x经过这样两次映射后最后投射在y上是一个取值只有1和0二项分布。也就是我们前面说的产生了一个“是”或“否”的分类。

训练的过程跟普通线性回归也是一样的,只不过损失函数的形式不同。但是,它的损失函数的含义仍旧是表示这种拟合残差与待定系数的关系,并通过相应的手段进行迭代式的优化,最后通过逐步调整待定系数减小残差。逻辑回归的表达式的定义本源是来自于伯努利分布的,后面我们也会有相对详细的说明,这里先做一个感性认识。

三、分类

分类是我们在利用机器学习中使用的最多的一大类算法,我们通常也喜欢把分类算法叫“分类器”。

这个说法其实也非常形象,在我们看来,这就是一个黑盒子,有个入口,有个出口。我们在入口丢进去一个“样本”,在出口期望得到一个分类的“标签”。

比如,一个分类器可以进行图片内容的分类标签,我们在“入口”丢进去一张老虎的照片,在“出口”得到“老虎”这样一个描述标签;而当我们在“入口”丢进去一张飞机的照片,在“出口”得到“飞机”这样一个描述标签,这就是一个分类器最为基本的分类工作过程。

一个分类器模型在它诞生(初始化)的时候其实是不具备这种功能的,而要让它具备这种功能只有通过给予它大量的图片以及图片所对应的标签分类,让它自己进行充分地总结和归纳,才能具备这样一种能力。

在刚刚看到的逻辑回归这种方式中我们已然看到了一些端倪。逻辑回归和普通的线性回归不同,它的拟合是一种非线性的方式。而最终输出“标签值”虽然是一种实数变量,而最终分类的结果却期望是一种确定的值“是”(1)或“不是”(0)。其他各种分类器的输出通常也是离散的变量,体现出来也多是非线性的分类特点。

我们在编写代码教会分类器怎么做学习的时候,其实是在教它如何建立一种输入到输出的映射逻辑,以及让它自己调整这种逻辑关系,使得逻辑更为合理。

而合理与否的判断也非常明确,那就是召回率和精确率两个指标——召回率指的是检索出的相关样本和样本库(待测对象库)中所有的相关样本的比率,衡量的是分类器的查全率。精确率是检索出的相关样本数与检索出的样本总数的比率,衡量的是分类器的查准率。

具体来说,譬如有一个1000个样本的训练集,是1000张照片,里面有200张是猫,200张是狗,600张是兔子,一共分成三类。我们将每个照片向量化后,加上它的标签

“猫”——“0”

“狗”——“1”

“兔子”——“2”

这相当于一个x和y的对应关系,把它们输入到训练集去训练(但是这个地方的标签0、1、2并不是实数定义,而是离散化的标签定义,通常习惯用one-hot独热编码的方式来表示)。经过多轮训练之后,分类器将逻辑关系调整到了一个相对稳定的程度,然后用这个分类器再对这200张猫,200张狗,600张兔子进行分类的时候。发现:

200张猫的图片中,有180张可以正确识别为猫,而有20张误判为狗。

200张狗的图片可以全部判断正确为狗。

600张兔子的图片中,有550张可以正确识别为兔子,还有30张被误判为猫,20张误判为狗。

你可不要觉得奇怪,在所有的机器学习或者深度学习训练的工程中,误判率几乎是没有办法消灭的,只能用尽可能科学的手段将误判率降低。不要太难为机器,其实人都没办法保证所有的信息100%正确判断,尤其是在图片大小、图片清晰程度、光线明暗悬殊的情况下,不是吗?那就更别说机器了,它更做不到。

我们还是来解释召回率和精确率的问题,就刚才这个例子来说,一共1000张图片中,200张是猫,但是只能正确识别出180张,所以猫的召回率是180÷200=90%,600张兔子中正确识别550张,所以兔子的召回率是550÷600≈91.7%,就这样计算。

而在1000中图片中,当我检索狗的时候会检索出240张狗的图片,其中有200张确实是狗,有20张是被误判的猫,还有20张是被误判的兔子,所以240张狗的图片中正确的仅有200张而已,那么狗的精确率为200÷240≈83.3%。怎么样,这两个概念不难理解吧。

分类的训练过程和回归的训练过程一样,都是极为套路化的程序。

第一,输入样本和分类标签。

第二,建立映射假说的某个y=f(x)的模型。

第三,求解出全局的损失函数Loss和待定系数w的映射关系,Loss=g(w)。

第四,通过迭代优化逐步降低Loss,最终找到一个w能满足召回率和精确率满足当前场景需要。注意这说的尤其指的是在验证数据集上的表现。

大家请注意这4个步骤,我们从前面最简单的机器学习的例子中已经总结出来一个最为有概括性的科学性流程。这种流程广泛使用,并且在其它机器学习的场景中也是可以顺利落地的。

分类器的训练和工作过程就是这个样子了,听起来分类器的工作过程非常简单,但是要知道人的智能行为其实就是一种非常精妙或者称为完美的分类器。他能够处理极为复杂,极为抽象的输入内容——不管是文字、声音、图像,甚至是冷、热、刺痛感、瘙痒感这种难以名状的刺激,并且能够在相当短的时间内进行合理的输出——例如对答、附和、评论,亦或是尖叫、大笑等各种喜怒哀乐的反应与表现。

从定义的角度上来说,人其实就是一种极为复杂的且极为智能的分类器。而我们在工业上使用的分类器则通常是非常片面的,偏门的,只研究一种或几个事物的“专业性”的分类器,这和我们人类的分类能力区别就太大了。

四、综合应用

到现在为止,我们看到的绝大多数的机器学习的应用环境都非常单纯——向量清洗到位,边界划定清晰。

例如,垃圾邮件的分拣,能够通过邮件内容的输入来判断邮件是否为垃圾邮件;新闻的自动分类,能够通过欣慰内容的分类来判断新闻的类别或描述内容的属性;摄像头对车牌号的OCR电子识别手写识别,这些应用可以通过输入一个图像来得到其中蕴含的文字信息向量,诸如此类等等,这些都是早些年应用比较成熟的领域,在这种应用场景中机器通过学习能够取代一些纯粹的体力劳动。

在近几年,随着计算机能力的提升,尤其是GPU并行计算的普及化,使得很多原来高密度计算的场景变得门槛越来越低,人们在商用领域已经开始寻找用深度学习的网络来做一些原来不可想象的事情。

例如这种使用卷积神经网络对照片进行风格处理,拿一张输入的普通照片,再拿一张有着较强艺术风格的绘画作品,然后通过卷积网络进行处理,最后由计算机“创作”出一幅内容基于照片但是风格基于绘画作品的新作出来。而这种事情在几年前是难以想象的,因为这看上去太“智能”了,太有“创造力”了。

还有类似这种,我们输入一张照片,然后让计算机根据这张照片的风格和内容,凭空创造一张很像但不一样的照片出来。注意哦,这个跟Photoshop的功能可是完全不同的,它是全自动。在这些图中,右侧的图都是源图,左侧的图都是计算机生成的图,有水波纹、云朵、花丛、还有随意的艺术涂鸦。怎么样,有不少真的是可以以假乱真了吧。这都是使用深度神经网络处理的结果。

那么除此之外,像语音识别以及视频中存在物体的检出,这些内容也是属于近几年研究比较热门并逐渐趋于成熟的应用领域。实际上,在实现层面有很多种实现方式可以完成像这样的应用。

而在学术领域,也有一类新兴的基于深度学习神经网络的研究领域,叫做“对抗学习”可以实现类似的方式。在深度学习领域我们会使用“生成对抗网络”(Generative Adversial Network),这种网络的特点就是可以进行复杂内容的生成,而非生成一个标签这么简单。





工业互联网




产业智能官  AI-CPS


加入知识星球“产业智能研究院”:先进产业OT(工艺+自动化+机器人+新能源+精益)技术和新一代信息IT技术(云计算+大数据+物联网+区块链+人工智能)深度融合,在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的机器智能认知计算系统实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链



版权声明产业智能官(ID:AI-CPS推荐的文章,除非确实无法确认,我们都会注明作者和来源,涉权烦请联系协商解决,联系、投稿邮箱:erp_vip@hotmail.com。



登录查看更多
60

相关内容

在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。条件概率分布可以由生成模型根据贝叶斯定理形成。
专知会员服务
108+阅读 · 2020年5月21日
【CVPR2020】MSG-GAN:用于稳定图像合成的多尺度梯度GAN
专知会员服务
28+阅读 · 2020年4月6日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
340+阅读 · 2020年3月17日
生成式对抗网络GAN异常检测
专知会员服务
116+阅读 · 2019年10月13日
深度学习中最常见GAN模型应用与解读
计算机视觉life
22+阅读 · 2019年10月23日
能生成逼真图像的不只有 GAN
机器学习算法与Python学习
8+阅读 · 2019年6月6日
探幽深度生成模型的两种方法:VAE和GAN
AI前线
15+阅读 · 2018年3月10日
一文详解聚类和降维(附实例、代码)
数据派THU
7+阅读 · 2017年9月3日
【原理】十个生成模型(GANs)的最佳案例和原理 | 代码+论文
GAN生成式对抗网络
8+阅读 · 2017年8月14日
干货|生成对抗网络(GAN)之MNIST数据生成
全球人工智能
7+阅读 · 2017年7月24日
GAN猫的脸
机械鸡
11+阅读 · 2017年7月8日
Arxiv
4+阅读 · 2019年4月17日
A Probe into Understanding GAN and VAE models
Arxiv
9+阅读 · 2018年12月13日
Arxiv
4+阅读 · 2018年3月23日
Arxiv
6+阅读 · 2018年1月29日
Arxiv
5+阅读 · 2017年12月14日
VIP会员
相关资讯
深度学习中最常见GAN模型应用与解读
计算机视觉life
22+阅读 · 2019年10月23日
能生成逼真图像的不只有 GAN
机器学习算法与Python学习
8+阅读 · 2019年6月6日
探幽深度生成模型的两种方法:VAE和GAN
AI前线
15+阅读 · 2018年3月10日
一文详解聚类和降维(附实例、代码)
数据派THU
7+阅读 · 2017年9月3日
【原理】十个生成模型(GANs)的最佳案例和原理 | 代码+论文
GAN生成式对抗网络
8+阅读 · 2017年8月14日
干货|生成对抗网络(GAN)之MNIST数据生成
全球人工智能
7+阅读 · 2017年7月24日
GAN猫的脸
机械鸡
11+阅读 · 2017年7月8日
相关论文
Arxiv
4+阅读 · 2019年4月17日
A Probe into Understanding GAN and VAE models
Arxiv
9+阅读 · 2018年12月13日
Arxiv
4+阅读 · 2018年3月23日
Arxiv
6+阅读 · 2018年1月29日
Arxiv
5+阅读 · 2017年12月14日
Top
微信扫码咨询专知VIP会员