2. “模拟+无监督”学习
模拟+无监督学习的目标是使用一组未标记的真实图像yi Y,学习可提炼合成图像X的refiner Rθ(x),其中θ属于函数参数。让我们用X?表示精炼图像,然后会得出X?:θ= R(X)。在“模拟+无监督”学习中,最关键的要求就是精炼图像X?,以便于其看起来更像真实图像,同时保留来自模拟器的注释信息。为此,我们建议通过最大化减少两个损失的组合来学习:
其中,xi是e ith合成训练图像,X是相应的精炼图像。第一部分是真实性成本,即向合成图像中增加真实性的成本。第二部分则代表着通过最小化合成图像精炼图像的差异保存注释信息的成本。在下面的章节中,我们会展开这个公式,并提供优化θ的算法。
2.1 对抗性损失
为了向合成图像中添加真实性,我们需要在合成图形和真实图像的分部之间建立起联系。在理想情况下,精炼机可能无法将给定的图像分类为真实图像还是高度精炼图像。这就需要使用对抗性的鉴频器,网络Dφ,它可训练分辨图像到底是真实图像还是精炼图像,而φ是鉴别器网络参数。对抗性损失训练refiner networkR,它负责欺骗D网络,令其将精炼图像误认为是真实图像。利用GAN方法,我们建造了2个神经网络参与的极限博弈模型,并升级“精炼器网络”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中描述了整个训练过程。