当前位置:首页 > 行业报告 > 正文

苹果发布首份人工智能报告(全文):瞄准AI视觉2016-12-27 14:32:12 | 编辑:hely | 查看: | 评论:0

日前,苹果发布了其首份关于人工智能(AI)的学术论文——“通过对抗网络使用模拟和非监督图像训练”,其中主要描述了在计算机视觉系统中提高图像识别的方法,而这或许也标志着苹果公司研究的新方向。
日前,苹果发布了其首份关于人工智能(AI)的学术论文——“通过对抗网络使用模拟和非监督图像训练”(Learning from Simulated and Unsupervised Images through Adversarial Training),其中主要描述了在计算机视觉系统中提高图像识别的方法,而这或许也标志着苹果公司研究的新方向。

下面就是这篇报告的全文:

摘要

随着图形技术不断进步,利用合成图像训练机器学习模型变得越来越容易,这可以帮助避免注释图像的昂贵支出。然而,通过合成图像训练机器学习模型可能无法达到令人满意的效果,因为合成图像与真实图像之间毕竟存在区别。为了减少这种差异,我们提出“模拟+无监督”学习方法,即通过计算机生成图像或合成图像来训练算法的图像识别能力。

事实上,这种“模拟+无监督”学习需要将无标注的真实图像数据与已经注释的合成图像相结合。在很大程度上,它需要依赖生成式对抗网络(GAN)的新机器学习技术,它可通过两个神经网络相互对抗以生成更加真实的图像。我们对标准GAN算法进行了多处关键性修改,以保留注释、避免伪影以及稳定性训练:自正则化(self-regularization)-局部对抗性损失-使用精炼图像升级鉴别器。

我们发现,这个过程可以产生高度逼真的图像,在质量上和用户研究方面都已经获得证实。我们已经通过训练模型评估视线水平和手势姿态,对计算机生成图像进行定量评估。通过使用合成图像,我们的图像识别算法已经取得了巨大进步。在没有使用任何标准真实数据的情况下,我们在MPIIGaze数据集中获得了最高水平的结果。

引言

随着最近高容量深度神经学习网络的崛起,大规模标注训练数据集正变得日益重要。可是,标准数量庞大的数据集成本非常高,而且相当耗费时间。为此,使用合成图像而非真实图像训练算法的想法开始出现,因为注释已经可实现自动化。利用XBOX360外设Kinect评估人体姿势以及其他任务,都是使用合成数据完成的。

 

undefined

 

(图1:“模拟+无监督”学习:通过计算机生成图像或合成图像来训练算法的图像识别能力)

然而,由于合成图像与真实图像之间存在差距,使用合成图像训练算法可能产生很多问题。因为合成图像通常不够真实,导致神经网络学习仅仅能够了解到合成图像中的细节,并不能完整地识别出真实图像,进而也无法为算法提供精确的学习。一种解决方案就是改进模拟器,可是增加真实性的计算往往非常昂贵,渲染器的设计也更加困难。此外,即使最顶级的渲染器可能也无法模仿真实图像中的所有特征。因此,缺少真实性可能导致算法过度拟合合成图像中不真实的细节。

在这篇论文中,我们提出“模拟+无监督”学习的方法,其目的就是使用未标注真实数据的模拟器提高合成图像的真实性。提高真实性可更好地帮助训练机器学习模型,而且无需收集任何数据,也无需人类继续标注图像。除了增加真实性,“模拟+无监督”学习还应该保留注释信息以用于训练机器学习模型,比如图一中的注视方向应被保留下来。此外,由于机器学习模型对合成数据中的伪影非常敏感,“模拟+无监督”学习也应该产生没有伪影的图像。

我们为“模拟+无监督”学习开发出新的方法,我们称之为SimGAN,它可以利用我们称之为“精炼器网络(refiner network)”的神经网络从模拟器中提炼合成图像。图二中展示了这种方法的概述:第一,黑盒子模拟器中生成合成图像,然后利用“精炼器网络”对其进行提炼。为了增加真实性,也就是“模拟+无监督”学习算法的首要需求,我们需要利用类似生成式对抗网络(GAN)来训练“精炼器网络”,进而产生判别网络无法区分真假的精炼图像。

第二,为了保留合成图像上的注释信息,我们需要利用“自正则化损失”弥补对抗性损失,在合成图像和精炼图像之间进行修改。此外,我们还利用完全卷积神经网络,在像素水平方面进行操作,并保留全局结构,而非整体修改图像的内容。

第三,GAN框架要求训练2个神经网络进行对抗,它们的目标往往不够稳定,倾向于产生伪影。为了避免漂移和产生更强的伪影,导致甄别更困难,我们需要限定鉴别器的接收区域为局部接收,而非整张图片接收,这导致每张图像都会产生多个局部对抗性损失。此外,我们还引入提高训练稳定性的方法,即通过使用精炼图像而非当前“精炼器网络”中的现有图像升级鉴别器。

1、相关工作

GAN框架需要2个神经网络竞争损失,即生成器与鉴别器。其中,生成器网络的目标是在真实图像上绘制随机向量,而鉴别器网络的目标则是区分生成图像与真实图像。GAN网络是由古德弗罗(I. Goodfellow)等人首先引入的,它可以帮助生成逼真的视觉图像。自从那以来,GAN已经有了许多改进,并被投入到有趣的应用中。

 

undefined
(图2:SimGAN概观:我们利用“精炼器网络”提炼模拟器产生的输出图像,并最大限度地减少局部对抗性损失,并进行自正则化。对抗性损失可以欺骗鉴别器网络,从而令其将合成图像误认为真实图像。而自正则化则会最大限度减少合成图像与真实图像的差异,包括保留注释信息,并让精炼图像被用于训练机器学习模型。“精炼器网络”与鉴别器网络也会交替升级。)

 

王(X. Wang)与古普塔(A. Gupta)利用结构化GAN学习表面法线,然后将其与Style GAN相结合,以生成天然的室内场景。我们提议使用对抗性训练进行递归生成模型(recurrent generative model)训练。此外,最近推出的iGAN能够帮助用户以交互模式改变图像。刘(M.-Y. Liu)等人开发的CoGAN结合GAN可多模态联合分布图像,无需要求应对图像的元组,这有利于开发出联合发布解决方案。而陈(X. Chen)等人开发的InfoGAN是GAN信息理论的扩展,允许有意义的陈述学习。

恩杰尔·图泽尔(Oncel Tuzel)等人利用GAN解决人脸图像超高分辨率问题。李(C. Li)和王(M. Wand)提议Markovian GAN进行有效的纹理合成。洛特尔(W. Lotter)等人在LSTM网络中利用对抗性损失进行视觉序列预测。于(L. Yu)等人提议SeqGAN框架,利用GAN强化学习。许多近来的问题都显示出与生成模型领域相关的问题,比如PixelRNN可利用RNN的softmax损失预测像素顺序。生成网络侧重于使用随机噪声矢量生成图像,与我们的模型相比,其生成的图像没有任何标注信息,因此也无法用于训练机器学习模型。

许多努力都在探索使用合成数据进行各种预测任务,包括视线评估、RGB图像文本检测与分类、字体识别、对象检测、深度图像中手部姿态评估、RGB-D场景识别、城市场景语义分割以及人体姿态评估等。盖伊登(A. Gaidon)等人的研究表明,利用合成数据训练深度神经网络,可以提高其表现。我们的工作是对这些方法的补充,我们使用未标记真实数据提高了模拟器的真实性。

嘉宁(Y. Ganin)与莱姆皮茨基(V. Lempitsky)在数据域适应设置中利用合成数据,了解合成图像与真实图像域的变化过程中保持不变的特征。王(Z. Wang)等人利用合成和真实数据训练层叠卷积码自动编码器,以便了解其字体检测器ConvNet的低级表示形式。张(X. Zhang)等人学习多通道编码,以便减少真实数据与合成数据的域的转变。与经典域适应方法相反,它采用与特定的特征以便适应具体的预测任务,而我们可通过对抗性训练,弥合图像分布之间的差距。这种方法使我们能够生成非常逼真的图像,可以用于训练任何机器学习模型,并执行潜在的更多任务。

2“模拟+无监督”学习

模拟+无监督学习的目标是使用一组未标记的真实图像yi ∈ Y,学习可提炼合成图像X的refiner Rθ(x),其中θ属于函数参数。让我们用X?表示精炼图像,然后会得出X?:θ= R(X)。在“模拟+无监督”学习中,最关键的要求就是精炼图像X?,以便于其看起来更像真实图像,同时保留来自模拟器的注释信息。为此,我们建议通过最大化减少两个损失的组合来学习:

 

undefined

 

其中,xi是e ith合成训练图像,X是相应的精炼图像。第一部分是真实性成本,即向合成图像中增加真实性的成本。第二部分则代表着通过最小化合成图像精炼图像的差异保存注释信息的成本。在下面的章节中,我们会展开这个公式,并提供优化θ的算法。

2.1对抗性损失

为了向合成图像中添加真实性,我们需要在合成图形和真实图像的分部之间建立起联系。在理想情况下,精炼机可能无法将给定的图像分类为真实图像还是高度精炼图像。这就需要使用对抗性的鉴频器,网络Dφ,它可训练分辨图像到底是真实图像还是精炼图像,而φ是鉴别器网络参数。对抗性损失训练refiner networkR,它负责欺骗D网络,令其将精炼图像误认为是真实图像。利用GAN方法,我们建造了2个神经网络参与的极限博弈模型,并升级“精炼器网络”Rθ和鉴别器网络Dφ。接下来,我们更精确地描述这种模型。鉴别器网络通过最大限度地减少以下损失来更新参数:

 

undefined

 

这相当于两级分类问题产生的交叉熵误差,其中Dφ(.)输入的是合成图像,而1 ? Dφ(.)则是真实图像。至此,我们实现了Dφ作为ConvNet的最后输出层,样本很可能是精炼图像。为了训练这个网络,每个小批量随机抽取的样本都由精炼合成图像和真实图像组成。对于每个yj来说,交叉熵的目标标签损耗层为0,而每个x?i都对应1。然后通过随机梯度下降(SGD)方式,φ会随着小批量梯度损失而升级。在我们的实践中,真实性损失函数使用训练有素的鉴别器网路D如下:

 

undefined

 

通过最小化减小损失函数,“精炼器网络”的力量促使鉴别器无法分辨出精炼图像就是合成图像。除了产生逼真的图像外,“精炼器网络”应该保存模拟器的注释信息。举例来说,用于评估视线的学习转变不该改变凝视的方向,手部姿势评估不应该改变肘部的位置。这是训练机器学习模型使用配有模拟器注释信息的精炼图像的必要组成部分。为了实现这个目标,我们建议使用自正则化,它可以最大限度地减少合成图像与精炼图像之间的差异。

 

undefined

(算法1)

 

 

undefined
(图3:局部对抗性损失的图示。鉴别器网络输出wxh概率图。对抗损失函数是局部块上的交叉熵损失的总和。)

 

因此在我们的执行中,整体精炼损失函数(1)为:

 

undefined

 

(4)在||.||1是L1常模时,我们将Rθ作为一个完全卷积的神经网络,而无需跃进或池化。在像素级别上修改合成图像,而不是整体地修改图像内容。例如在完全连接地编码器网络中便会如此,保留全局结构合注释。我们通过交替地最小化LR(θ) 和LD(φ)来学习精化器和鉴别器参数。在更新Rθ的参数时,我们保持φ固定不变,而在更新Dφ时,则要保持θ不变。我们在算法1中描述了整个训练过程。

 

undefined
(图4:使用精细图像历史示意图。相关信息请参阅文本描述。)

 

2.2本地对抗损失

精炼网络另一个关键要求是,它应该学习模拟实际图像特性,而不引入任何伪影。当我们训练强鉴别器网络时,精炼网络倾向于过度强调某些图像特征以欺骗当前鉴别器网络,导致偏差和产生伪影。关键是任何我们从精化图像中采样的本地补丁都应该具有与真实图像相类似的统计。由此我们可以定制本地鉴别器网络对本地图像补丁进行分类,而不是定义全局鉴别器网络。

这不仅限制了接受域,还因此限制了鉴别器器网络的容量,并且为每个图像提供更多样本以供学习鉴别器网络。同时由于每个图像由多个实际损失值,它还改善了精炼网络的训练。

在我们的执行中,我们将鉴别器器D设计成一个完全卷积网络,输出伪类w × h概率图。在后者中w × h是图像中本地补丁的数量。在训练精炼网络时,我们将w×h本地补丁的交叉熵损失值求和,如图3所示。

2.3使用精化图像的历史记录更新鉴别器器

对抗训练的对抗训练的另一个问题是鉴别器器网络只关注最新的精细图像。 这可能导致(i)与对抗训练分歧,以及(ii)精炼网络重新引入鉴别器已经忘记的工件。在整个训练过程中的任何时间由精炼网络生成的任何精细图像对于鉴别器器来说都是伪造的图像。因此,鉴别器应该有能力将这些图像识别为假。基于这一观察,我们引入了一种方法,通过使用精细图像的历史来提高对抗训练的稳定性,而不仅仅是在当前小批次中小修小改。我们对算法1稍作改进,增加对先前网络产生的精细图像的缓冲。设B为此缓冲的大小,设b为算法1中使用的迷你批次大小。

 

undefined
(图5:SimGAN输出的图像示例。左为MPIIGaze采集的实拍图像,右为优化后的UnityEye合成图像。从图中可以看出精细合成图像中的皮肤纹理和虹膜区都更近似真实而非合成图像。)

 

 

undefined
(图6:带有两个nxn卷积层的ResNet块,每个都都具有f特征图。)

 

在鉴别器器训练的每次迭代中,我们通过对来自当前精炼网络的b/2图像进行采样,以及从缓冲区采集额外b/2图像,从而更新参数φ。保持缓冲区B大小固定,在每次迭代之后,我们使用新产生的精细图像随机替换缓冲区中的b/2样本。该过程在图4中标示出。

上一篇:2016年中国数据驱动型互联网企业大数据产品研究报告(PPT) 2016年微信大数据报告发布下一篇:

公众平台

搜索"raincent"或扫描下面的二维码