报道来源:苹果公司编译:网易科技编译,经许可转载。
近日,苹果公司发布了第一篇关于人工智能(AI)的学术论文——《通过对抗训练学习模拟和无监督图像》(Learning from Simulated and Unsupervised Images through Adversarial Training),主要描述了计算机中提高图像识别的方法视觉系统,也可能标志着苹果研究的新方向。
查看本文英文原文,请回复“Apple AI Paper”到Zhidixcom(公众号:zhidxcom)下载。
以下为报告全文: 摘要 随着图形技术的不断进步,使用合成图像训练机器学习模型变得越来越容易,这有助于避免注释图像的昂贵支出。
然而,由于合成图像与真实图像之间存在差异,通过合成图像训练机器学习模型可能不会取得令人满意的结果。
为了减少这种差异,我们提出了“模拟+无监督”的学习方法,通过计算机生成的图像或合成图像来训练算法的图像识别能力。
事实上,这种“模拟+无监督”学习需要将未标记的真实图像数据与已经注释的合成图像相结合。
在很大程度上,它需要依赖于生成对抗网络(GAN)的新机器学习技术,该网络使两个神经网络相互对抗以生成更真实的图像。
我们对标准 GAN 算法进行了几项关键修改,以保留注释、避免伪影并稳定训练:自正则化、局部对抗性损失、使用精细图像升级鉴别器。
我们发现这个过程可以产生高度逼真的图像,并在质量和用户研究中得到验证。
我们通过训练模型来评估眼睛水平和手势姿势,对计算机生成的图像进行定量评估。
我们的图像识别算法通过使用合成图像取得了巨大的进步。
我们在 MPIIGaze 数据集上获得了最先进的结果,而无需使用任何标准的真实数据。
简介随着近年来大容量深度神经学习网络的兴起,大规模带注释的训练数据集变得越来越重要。
然而,标准的大数据集非常昂贵且耗时。
为此,使用合成图像而不是真实图像来训练算法的想法开始出现,因为注释已经可以自动化。
使用 XBOX 外设 Kinect 评估人体姿势,其他任务都是使用合成数据完成的。
(图1:“模拟+无监督”学习:通过计算机生成图像或合成图像来训练算法的图像识别能力)但是,由于合成图像与真实图像之间的差距,使用合成图像来训练算法可能会带来很多问题。
由于合成图像通常不够真实,神经网络学习只能学习合成图像中的细节,而无法完全识别真实图像,从而无法为算法提供准确的学习。
一种解决方案是改进模拟器,但增加真实感的计算往往非常昂贵,渲染器的设计也更加困难。
此外,即使是最好的渲染器也可能无法模仿真实图像中的所有特征。
因此,缺乏真实感可能会导致算法过度拟合合成图像中不真实的细节。
在本文中,我们提出了一种“模拟+无监督”学习方法,其目的是使用具有未标记真实数据的模拟器来提高合成图像的真实性。
增加真实感可以更好地帮助训练机器学习模型,而无需收集任何数据或需要人类继续注释图像。
除了增加真实性之外,“模拟+无监督”学习还应该保留标注信息,用于训练机器学习模型。
例如,图1中的注视方向应保留。
此外,由于机器学习模型对合成数据中的伪影非常敏感,因此“模拟+无监督”学习也应该产生无伪影的图像。
我们开发了一种“模拟+无监督”学习的新方法,我们称之为 SimGAN,它可以使用我们称为“精炼网络”的神经网络来精炼模拟器中的合成图像。
这种方法的概述如图 2 所示:首先,在黑盒模拟器中生成合成图像,然后使用“细化器网络”进行细化。
为了增加真实性,这是“模拟+无监督”学习算法的首要要求,我们需要使用生成对抗网络(GAN)之类的东西来训练“精炼网络”,以产生判别网络无法产生的精炼图像辨别真假。
其次,为了保留合成图像上的注释信息,我们需要利用“自正则化损失”来补偿在合成图像和精炼图像之间修改的对抗性损失。
此外,我们利用在像素级别运行的完全卷积神经网络并保留全局结构,而不是全局修改图像的内容。
第三,GAN框架需要训练两个神经网络进行对抗,它们的目标往往不够稳定,容易产生伪影。
为了避免漂移并产生更强的伪影,使识别更加困难,我们需要将鉴别器的接收区域限制为局部接收而不是整个图像,这会导致每个图像产生多个局部对抗性损失。
此外,我们引入了通过使用精炼图像而不是当前“精炼网络”中的现有图像来升级鉴别器来提高训练稳定性的方法。
1.1 相关工作 GAN框架需要两个神经网络竞争损失,即生成器和判别器。
其中,生成器网络的目标是在真实图像上绘制随机向量,而判别器网络的目标是区分生成图像和真实图像。
GAN网络最早由I. Goodfellow等人提出,它可以帮助生成逼真的视觉图像。
从那时起,GAN 得到了许多改进并被投入到有趣的应用中。
(图 2:SimGAN 概述:我们利用“细化器网络”来细化模拟器生成的输出图像,最大限度地减少局部对抗性损失并执行自正则化。
对抗性损失可以欺骗鉴别器网络,使其将合成图像误认为是真实的图像,而自正则化最大限度地减少了合成图像和真实图像之间的差异,包括保留注释信息,并允许使用精炼图像来训练机器学习模型和判别器。
网络也将交替升级。
和A.古普塔(A. Gupta)使用结构化GAN来学习表面法线,然后将其与Style GAN结合起来生成自然的室内场景。
我们建议使用对抗性训练来进行循环生成模型训练。
此外,最近推出的iGAN可以帮助用户以交互方式更换图像。
CoGAN 由 M.-Y 开发。
刘等人。
与GAN结合可以以多种模态联合分发图像,而不需要图像元组,有利于联合发布解决方案的开发。
X. Chen等人开发的InfoGAN是GAN信息论的延伸,允许有意义的语句学习。
Oncel Tuzel等人利用GAN解决了人脸图像超高分辨率的问题。
C. Li 和 M. Wand 提出了用于高效纹理合成的马尔可夫 GAN。
W.洛特等人。
利用 LSTM 网络中的对抗性损失进行视觉序列预测。
L.于等人。
提出了 SeqGAN 框架来利用 GAN 强化学习。
最近的许多问题都显示了与生成模型领域相关的问题,例如 PixelRNN 使用 RNN 的 softmax 损失来预测像素顺序。
生成网络专注于使用随机噪声向量生成图像。
与我们的模型相比,它们生成的图像没有任何注释信息,因此不能用于训练机器学习模型。
许多工作正在探索将合成数据用于各种预测任务,包括注视评估、RGB 图像中的文本检测和分类、字体识别、对象检测、深度图像中的手部姿势评估、RGB-D 场景识别、城市场景的语义分割、人体姿势评估等A. Gaidon 等人的研究。
表明使用合成数据来训练深度神经网络可以提高其性能。
我们的工作通过使用未标记的真实数据提高模拟器的真实性来补充这些方法。
Y. Ganin 和 V. Lempitsky 在数据域适应设置中使用合成数据来了解合成图像和真实图像域变化期间保持不变的特征。
Z.王等人。
使用合成数据和真实数据来训练堆叠卷积码自动编码器,以了解其字体检测器 ConvNet 的低级表示。
X.张等人。
学习多通道编码以减少真实数据和合成数据之间的域转换。
与经典的域适应方法相比,经典的域适应方法采用特定的特征来适应特定的预测任务,我们可以通过对抗性训练来弥合图像分布之间的差距。
这种方法使我们能够生成非常逼真的图像,可用于训练任何机器学习模型并执行潜在的更多任务。
2.“模拟+无监督”学习模拟+无监督学习的目标是使用一组未标记的真实图像yi ∈ Y来学习可以细化合成图像X的细化器Rθ(x),其中θ属于函数参数。
让我们将细化图像表示为 在“模拟+无监督”学习中,最关键的要求是细化图像 X?使其看起来更像真实图像,同时保留来自模拟器的注释信息。
为此,我们建议通过最大化减少两个损失的组合来学习:其中 xi 是第 i 个合成训练图像,X 是相应的精炼图像。
第一部分是真实性成本,即为合成图像添加真实性的成本。
第二部分表示通过最小化合成图像细化中的差异来保留注释信息的成本。
在下面的部分中,我们扩展这个公式并提供优化 θ 的算法。
2.1 对抗性损失 为了增加合成图像的真实感,我们需要在合成图形和真实图像的各个部分之间建立联系。
在理想情况下,细化器可能无法将给定图像分类为真实图像或高度细化的图像。
这需要使用对抗性判别器,即网络Dφ,它可以被训练来区分图像是真实图像还是精化图像,而φ是判别器网络参数。
对抗性损失训练细化网络 R,它负责欺骗 D 网络,使其将细化图像误认为是真实图像。
使用GAN方法,我们构建了涉及两个神经网络的极限博弈模型,并升级了“精炼网络”Rθ和判别器网络Dφ。
接下来,我们更精确地描述这个模型。
判别器网络通过最小化损失来更新参数:这相当于两级分类问题产生的交叉熵误差,其中 Dφ(.) 是合成图像输入,1 ? Dφ(.)是实像。
至此,我们已经实现了Dφ作为ConvNet的最终输出层,并且样本很可能是精炼图像。
为了训练这个网络,每个小批量随机抽取的样本都由精炼的合成图像和真实图像组成。
交叉熵的目标标签损失层对于每个 yj 为 0,对于每个 x?i 为 1。
然后通过随机梯度下降(SGD),用小批量梯度损失来升级 φ。
在我们的实践中,使用经过训练的判别器网络 D 的真实性损失函数如下:通过最小化归约损失函数,“细化器网络”的强大功能使判别器无法判断细化后的图像是合成图像。
除了生成逼真的图像之外,“精炼网络”还应该保存模拟器的注释信息。
例如,用于评估凝视的学习转变不应改变凝视的方向,并且手部姿势评估不应改变肘部位置。
这是使用配备模拟器注释信息的精细图像训练机器学习模型的必要组件。
为了实现这一目标,我们建议使用自正则化,最大限度地减少合成图像和精炼图像之间的差异。
(算法1)(图3:局部对抗性损失的说明。
判别器网络输出一个wxh概率图。
对抗性损失函数是局部块上交叉熵损失的总和。
)因此在我们的实现中,整体细化损失函数(1)为: (4) 当||.||1为L1范数时,我们将Rθ视为完全卷积神经网络,无需跳跃或池化。
在像素级别修改合成图像,而不是整体修改图像内容。
例如,在完全连接的编码器网络中就是这种情况,其中保留了全局结构和注释。
我们通过交替最小化 LR(θ) 和 LD(φ) 来学习精炼器和鉴别器参数。
当更新Rθ的参数时,我们保持φ固定,当更新Dφ时,我们保持θ恒定。
我们在算法1中描述了整个训练过程。
(图4:使用精细图像历史的示意图。
相关信息请参阅文本描述。
) 2.2 局部对抗性损失 细化网络的另一个关键要求是它应该学会模拟实际图像属性无需引入任何工件。
当我们训练一个强大的鉴别器网络时,细化的网络往往会过分强调某些图像特征来欺骗当前的鉴别器网络,从而导致偏差并产生伪影。
关键是我们从精炼图像中采样的任何局部补丁都应该具有与真实图像相似的统计数据。
由此,我们可以定制一个局部鉴别器网络来对局部图像块进行分类,而不是定义一个全局鉴别器网络。
这不仅限制了感受野,还限制了鉴别器网络的容量,并为每个图像提供更多样本用于学习鉴别器网络。
它还改进了细化网络的训练,因为每个图像都包含多个实际损失值。
在我们的实现中,我们将鉴别器 D 设计为一个全卷积网络,输出伪类 w × h 概率图。
后者中的 w × h 是图像中局部斑块的数量。
在训练精炼网络时,我们将 w × h 局部补丁的交叉熵损失值相加,如图 3 所示。
2.3 用精炼图像的历史更新判别器 对抗训练的另一个问题是判别器网络仅专注于最新精致的形象。
这可能导致(i)与对抗性训练的分歧,以及(ii)改进网络,重新引入鉴别器忘记的工件。
在整个训练过程中,细化网络在任何时间生成的任何精细图像对于鉴别器来说都是假图像。
因此,鉴别器应该能够识别这些图像是假的。
基于这一观察,我们引入了一种通过使用细粒度图像的历史来提高对抗训练稳定性的方法,而不仅仅是对当前小批量进行微小的修改。
我们通过添加对先前网络生成的精细图像的缓冲来稍微改进算法 1。
设 B 为该缓冲区的大小,b 为算法 1 中使用的小批量大小。
(图 5:SimGAN 输出的图像示例。
左边是 MPIIGaze 收集的真实图像,右边是优化后的 UnityEye 合成图像)从图中可以看出,精细合成图像中的皮肤纹理和虹膜区域比合成图像更接近现实。
)(图6:具有两个nxn卷积层的ResNet块,每个层有f个特征图。
)在判别器训练的每次迭代中,对 we /2 个图像进行采样,并从缓冲区中获取额外的 b/2 个图像,从而更新参数 φ。
保持缓冲区 B 大小固定,每次迭代后,我们用新生成的精细图像随机替换缓冲区中的 b/2 个样本。
这个过程如图 4 所示。
3. 实验 我们使用 MPIIGaze [40, 43] 上的外观估计数据集和 NYU 手势数据集 [35] 来评估我们的方法。
我们在所有实验中都使用带有 ResNet 块的完全卷积细化网络(图 6)。
3.1 基于外观的注视估计注视估计是许多人机交互(HCI)任务中的关键因素。
然而,直接从眼睛图像进行估计具有挑战性,特别是当图像质量较差时。
例如,智能手机或笔记本电脑的前置摄像头捕获的眼睛图像。
因此,为了生成大量带注释的数据,最近的几种方法 [40, 43] 使用大量合成数据来训练其模型。
在这里,我们证明使用 SimGAN 生成的精细合成图像进行训练可以显着提高任务性能。
视线估计数据集包括使用眼睛视线合成器 UnityEyes 生成的 10,000 个样本,以及来自 MPIIGaze 数据集的 21 个实拍样本。
MPIIGaze 的图像样本都是在各种次优照明条件下捕获的图像。
UnityEyes 图像均在同一渲染环境中生成。
定性结果:图 5 显示了合成生成的眼睛注视图像和处理后的实拍图像。
如图所示,我们观察到合成图像的质量显着提高:SimGAN 成功捕获了皮肤纹理、传感器噪声和虹膜区域的外观。
请注意,我们的方法保留了注释信息(注视方向),同时提高了真实感。
“视觉图灵测试”:为了定量评估精细图像的视觉质量,我们设计了一项简单的用户研究,要求受试者区分图像是真实拍摄的还是合成的。
每个受试者都会看到 50 张实拍图像和 50 张合成图像。
实验中,受试者连续观看20张真假混杂的图像。
最终,受试者很难区分真实图像和细节图像之间的差异。
在我们的总体分析中,10 名受试者每次试验仅正确 0 次 (p=0),这与随机选择大致相同。
表 1 显示了混淆矩阵。
相比之下,在使用原始图像和实拍图像进行测试时,我们向每个受试者展示了 10 张实拍图像和 10 张合成图像,在这种情况下,受试者在本次实验中做出了正确的选择(p≤10-8),结果显着比随机选择更好。
(表1:使用真实图像和合成图像的“视觉图灵测试”。
人类平均分类准确率为51.7%,表明自动生成的精细图像在视觉上可以与真实图像相似。
)(图7:使用MPIIGaze进行实时分类使用样本镜头进行眼睛注视估计的定量结果。
该曲线描述了系统在不同测试次数下的估计误差。
使用精炼图像而不是合成图像显着提高了系统性能。
)定量结果:我们用[43]训练了一个模型。
] 类似简单的卷积神经网络(CNN)来预测眼睛注视方向。
我们在 UnityEyes 上进行训练并在 MPIIGaze 上进行测试。
图 7 和表 2 分别比较了使用 SimGAN 生成的合成数据和精细数据的 CNN 的不同性能。
我们观察到 SimGAN 输出训练的性能有了很大的提高,绝对百分比提高了 22.3%。
我们还发现训练结果与训练数据呈正相关——其中4x指的是训练数据集的百分比。
定量评估证实了图 5 中观察到的定性改进的价值,并表明使用 SimGAN 可以提高机器学习模型的性能。
表3显示了与现有技术的比较。
在精细图像上训练 CNN 优于 MPIGaze 上的现有技术,相对提升了 21%。
这一巨大的改进表明了我们的方法在许多人机交互任务中的实用价值。
实现细节:细化网络Rθ是一个残差网络(ResNet)。
每个ResNet块由两个卷积层组成,包含63个特征图,如图6所示。
尺寸为55°35的输入图像与3°3的滤波器进行卷积,输出64个特征图。
输出通过 4 个 ResNet 块传递。
最终 ResNet 块的输出被传递到 1_1 卷积层,产生与精细合成的图像相对应的 1 个特征图。
(表 2:使用合成数据和 SimGAN 输出进行训练的比较。
使用 SimGAN 输出的图像进行训练在没有监督真实数据的情况下显示出 22.3% 的优势。
)(表 3:SimGAN 与 MPIIGaze 现有技术比较。
R = 真实图像,S =误差是平均眼睛注视估计误差(以度为单位)。
与最先进的判别器相比,训练网络 Dφ 分别包含 5 个扩展层和 2 个最大合并层。
:(1)Conv3x3,步长= 2,特征图= 96,(2)Conv3x3,步长= 2,特征图= 64,(3)MaxPool3x3,步长= 1,(4)Conv3x3,步长= 1,特征图= 32, (5) Conv1x1, stride = 1, feature map = 32, (6) Conv1x1, stride = 2, (7) Softmax 我们的对抗网络是完全卷积的,并且被设计为使得最后一层神经元的感受野。
Rθ和Dφ类似,我们首先对Rθ网络进行步进自正则化损失训练,以Dφ为步长。
然后,对于 Dφ 的每次更新,算法中 Rθ 都会更新两次。
也就是说,Kd 设置为 1,Kg 设置为 50。
眼睛注视估计网络类似于[43],但稍作修改以使其更好地利用我们的大型合成数据集。
输入是35°55灰度图像,经过5个卷积层,然后是3个全连接层,最后编码一个三维注视向量:(1)Conv3x3,特征图= 32,(2)Conv3x3,特征图Maps = 32, (3) Conv3x3, 特征图 = 64, (4) Max-Pool3x3, 步长 = 2, (5) Conv3x3, 特征图 = 80, (6) Conv3x3, MaxPool2x2, 步长 = 2, (8)FC, (9)FC, (10)FC3, (11) 欧几里德损失。
所有网络都使用恒定的 0 学习率和批量大小进行训练,直到验证误差收敛。
3.2 深度图像的手势图像模拟 下一步,我们将使用该方法来模拟各种手势的深度图像。
研究中主要使用了纽约大学提供的NYU手势数据库,其中包含使用3个Kinect摄像头采集的7个训练样本和3个测试样本。
每个测试样本包括一个正面手势图像和两个侧面手势。
图像。
每个深度图像样本都标有手势信息,从而生成合成图像。
图 10 显示了手势数据库中的示例。
我们对数据库样本进行预处理,并使用合成图像从真实图像中提取相应的像素。
在使用深度学习网络ConvNet进行处理之前,将每个图像样本的分辨率大小统一调整为*,背景值设置为零,前景值设置为原始深度值减去。
(这假设背景分辨率为 )。
图 10:纽约大学手势数据库。
左图是深度图像样本;右图是处理后的合成图像。
定性描述:图11显示了生成对抗网络(SimGAN)在手势数据库上的计算结果。
从图中可以看出,真实深度图像的噪声已经被边缘化,且分布不连续。
SimGAN 可以有效地学习和模拟原始图像噪声,从而产生更加真实和详细的合成图像,而不需要对真实图像进行任何标记或注释。
图 11:来自纽约大学手势数据库的精炼测试图像示例。
左图是真实图像,右图是合成图像,下面的右图是苹果生成对抗网络相应的精炼输出图像。
真实图像中噪声的主要来源是非平滑边缘噪声。
学习网络能够学习模拟真实图像中存在的噪声,重要的是无需任何标记或注释。
定量分析:我们使用类似于Stacked Hourglass人体姿势算法的CNN模拟算法,将其应用于真实图像、合成图像和精细合成图像处理,并与NYU手势数据库中的测试样本进行比较。
该算法通过变换 14 个手关节进行训练。
为了避免偏差,我们使用单层神经网络来分析算法对合成图像的改进效果。
图 12 和表 4 显示了有关算法处理手势数据库的定量结果。
其中,SimGAN输出的精细合成图像明显优于基于真实图像训练生成的图像。
更加真实,比标准合成图像高8.8%,并且模拟输出的标注成本为零。
另请注意,3X 表示为图像训练选择的所有角度。
图 12:来自纽约大学手势测试集的真实深度图像的手势估计的定量结果。
该图显示了图像与背景之间函数的累积曲线。
可以看到,SimGAN 输出的精细合成图像明显优于基于真实图像训练生成的图像。
更加真实,比标准合成图像高8.8%。
重要的是,我们的学习网络不需要对真实图像进行标记。
表4:通过训练生成的各种手势图像的相似度。
Synthetic Data是一般网络训练生成的合成图像,Real Data是真实图像,Refined Synthetic Data是生成对抗网络SimGAN输出的精炼合成图像。
3X是指多角度模拟真实图像。
实现细节:手势图像判别的架构与眼睛图像相同,但输入图像分辨率为*,滤波器尺寸为7*7,残差网络值为10。
判别网络D如下: (1) Conv7x7,步长=4,特征图=96,(2) Conv5x5,步长=2,特征图=64,(3) MaxPool3x3,步长=2,(4) Conv3x3,步长=2,特征图=32 ,(5)Conv1x1,步长=1,特征图=32,(6)Conv1x1,步长=1,特征图=2,(7)Softmax。
首先我们对R网络进行自正则化训练次数,然后介绍D网络训练次数;随后,每次D网络更新时,R网络都会相应更新两次。
在手势估计中,我们使用Stacked Hourglass Net人体姿态算法输出大小为64*64的热图。
我们在网络学习中引入[-20, 20]的随机数据集来训练不同角度的图像。
直到验证误差有效收敛为止网络训练结束。
3.3 对抗训练的校正分析首先,我们比较了局部对抗训练和全局对抗训练的图像偏差。
在全局对抗中,判别网络使用全连接层,使得整个图像相对更加精细。
局部对抗训练使得生成的图像更加真实,如图8所示。
图8:左边是全局对抗训练结果,右边是局部对抗训练结果。
显示全局对抗训练和局部对抗训练之间结果的差异。
左边的图像更详细但不真实,右边的图像相对更真实。
接下来,在图 9 中,显示了使用重复训练的历史精炼图像更新判别网络并将其与标准对抗生成的合成图像进行比较的结果。
如图所示,使用重复训练对图像进行历史细化会产生更真实的阴影,例如在标准对抗训练中眼角没有阴影。
图 9:使用历史精细图像更新判别网络的结果。
左图:标准合成图像;中图:利用历史数据更新判别网络后的图像结果;右图:使用最近的历史数据更新判别网络后的图像结果。
如图所示,使用重复训练的历史精炼图像会产生更真实的阴影。
4 结论及下一步工作在本文中,我们提出了一种“模拟+无监督”的机器学习方法,可以有效提高模拟图像的真实感。
我们描述了一种新的生成对抗网络 SimGAN,并通过将其应用于未注释的真实图像来获得最先进的结果。
接下来,我们将继续探索为合成图像创建更真实、更细致的图像,同时也会研究如何处理视频。
智能东西方语言 看完上面苹果论文全文,你是否还一头雾水?除非你是专业的研究人员,否则你可能不会理解论文中这些复杂的公式,但这并不重要。
这篇论文的表面意义很容易理解。
苹果使用合成图像来训练机器的图像识别功能。
据说效果还不错。
。
这篇论文发表的另一个深刻意义来自于本月初在西班牙举行的人工智能会议NIPS。
苹果人工智能研发部门负责人 Russ Salakhutdinov 宣布,苹果将允许其人工智能开发人员发表论文。
研究成果,并积极参与AI学术界的讨论。
这篇文章只是一个开始,但一向遮遮掩掩的苹果这次如此公开,也是有其自私的原因。
希望加强沟通,招募更多人工智能人才加入苹果。