"); //-->
结论三:预训练和下游任务的问题对齐决定了迁移效果
为了进一步解释为何自监督预训练在目标检测上效果更好,研究员们又做了如下实验。(1)通过分析检测错误,自监督预训练能得到更准确的位置信息。(2)当利用 Deep image prior 对高层特征进行图像重建时,自监督重建的图像更接近于原图并且更加完整。虽然对比学习训练时也包含了位置尺度不变性,但却能在重建中保持正确的尺度和位置。相反,有监督的学习过度关注物体的局部区域,丢失了很多对于精确定位的重要信息。研究员们认为 instance discrimination 方法为了保证当前实例区别与其它所有实例,尽可能的保留了更多的信息。
图6:对于物体检测,有监督的预训练(相比自监督)带来了更多定位的错误
图7:自监督模型可以更好的重建底层的图像信息
二、一种改进的有监督预训练方法
大量的标注数据包含了丰富的语义信息,应该对下游任务有所帮助,但传统的有监督预训练是通过减小 intra-class variation 进行学习的。这样模型更多的关注了对特定类有识别力的区域,从而忽略了其它可能包含有用信息的区域。一个更好的有监督预训练方法应该仅仅拉远不同类的实例,而不对同类样本加以任何约束,这样可以更好地保留每个实例的特征。参考 examplar SVM 的方法,研究员们在 instance discrimination 的损失函数上进行了改进。
实验证明这种方式在图像分类和目标识别两个下游任务上都得到了提升。
表9:改进的有监督模型 examplar 提高了迁移性能
基于实例的层序可变Transformer网络结构
论文地址: https://arxiv.org/abs/2103.03457
Transformer 网络在自然语言以及视觉领域取得了极大的成功。它由三个基本的子层:自注意力层 (self-attention, SA)、编码-解码注意力层 (encoder-decoder attention, ED)和前馈全连接层 (feed-forward, FF)线性堆叠而成,并且这些子层的顺序是固定的。然而,微软亚洲研究院的研究员们通过一些简单的验证发现,不同的子层顺序堆叠的网络 (如 SA→FF→ED 或者 FF→ED→SA) 对于不同的样本来说重要程度是不一样的。如表10所示,对于这个句子,用不同的子层顺序网络翻译出的结果差距非常大。这告诉研究员们,其实每个语句都拥有自己偏好的网络顺序来进行更好的翻译。
基于上述发现,研究员们提出了基于实例的子层顺序动态可变的 Transformer 网络结构 (IOT),以打破固定顺序的 Transformer 网络,使得网络能够通过不同顺序的堆叠来建模不同的函数,从而增大了网络的建模空间并提升最后的任务结果表现。值得注意的是,研究员们的方法几乎没有增加额外的参数,并且能够适用于各类神经网络 (如验证了在 DynamicConv 上的结果) ,只需网络包含不同的子层结构。
表10:一句德文语句的不同子层顺序网络对应的不同英文翻译结果以及 BLEU、TER 的分数差距
关于论文中使用的方法,具体来说,研究员们在 Transformer 的编码器和****模块之前各增加了一个轻量的、基于 MLP 的层序预测器网络,以此来进行不同的子层顺序选择。框架如图8所示,图中展示了对于三个不同的样本进行各自的子层顺序网络选择的结果。
图8:IOT: 基于实例的子层顺序变化的框架图以及三个样例的顺序选择
研究员们采用了基于 Gumbel-softmax 的不同子层顺序的权重学习。以****的顺序选择为例,λ_n 即为第 n 种层序的重要程度,其中 s_d 为编码器最后层输出的平均。同理,编码器的第m种顺序的重要程度用 γ_m 表示。所以研究员们根据 λ_n 以及 γ_m 的大小 (argmax) 来选择相应的编码器和****的子层顺序。
在训练过程中,研究员们还使用了一个探索(exploration)和一个利用(exploitation)的损失函数来辅助训练(通过约束顺序的分布),从而使得每个数据实例能够选择其偏好的顺序,并且网络能够稳定且有效。
研究员们在三个不同的序列生成任务——机器翻译、文本摘要以及代码生成上进行了验证,一共包含9个不同的数据集。实验表明 IOT 都取得了超越基准模型不少的优异结果。如在 IWSLT8 个方向的小数据集翻译任务上都取得了超过一个点的 BLEU 提升,在 WMT14 的 En->De 大数据上取得了30.03的 BLEU 分数。研究员们还进行了各类不同方面的分析,以数据和顺序间的选择关系为例,如图9所示,在数据所选择的子层顺序网络上的确取得了超越其余子层顺序的更优结果,因此证明了数据的确进行了自己更偏好的、更优的子层顺序选择。研究员们的方法简单而高效,希望能够让更多人关注如何构建动态网络,从而增强网络的建模能力。
图9:根据层序预测器预测划分的数据集以及不同子层顺序的翻译结果
基于回报的对比表征学习在强化学习中的应用
论文地址: https://openreview.net/pdf?id=_TM6rT7tXke
在深度强化学习中,如何学习紧致且有效的状态表示是解决复杂决策问题和提升样本效率的一个关键问题。最近,很多工作利用基于对比学习的辅助任务在强化学习过程中加强状态表示的学习,都取得了很好的实际效果,但已有的基于对比学习的辅助任务并没有充分考虑到强化学习问题的特性,而且大多是无/自监督的。因此,微软亚洲研究院的研究员们探究了如何利用回报分布 (Return Distribution)——强化学习中最为重要的反馈信号,来构建一个新的对比学习式辅助任务。
首先,为了从数学上严谨地刻画利用回报分布这一想法,研究员们提出了 Z^π-irrelevance 抽象函数。直观上来说,Z^π-irrelevance 抽象函数会把回报分布类似的状态动作对聚集到一起。相比于之前的抽象函数,该函数能够在不损失过多信息的同时,大幅缩小状态动作空间,从而提高学习效率。该抽象函数具有两大特点:
1.可以更大程度上地缩小状态动作空间。
2.能够在抽象状态动作空间中精确表示原状态动作空间的价值函数。
图10:Z^π-irrelevance 抽象函数示意图
接下来,为了从采样数据中学习得到 Z^π-irrelevance 抽象函数,研究员们提出了基于对比损失函数的Z学习算法:
这里,ϕ 代表编码器,也就是状态动作表示;w 代表判别器;y 是二元标签,用于判断当前两个状态动作对 x_1,x_2 是否具有相同的采样回报值。
在理论上,该方法严谨地证明了 Z 学习算法会以 1/√n 的速率收敛到 Z^π-irrelevance 抽象函数。而实际中,也可以通过分段的方式来判断两个状态动作是否具有同样的采样回报值。具体来说,轨迹内分段的思路如下:从头到尾捋一遍采样得到的整条轨迹,如果累计的奖励绝对值变动超过某个阈值,那么就会从这里形成一个新的分段。这就是实际的 RCRL 算法。
图11:RCRL 算法示意图
为了验证算法的有效性,研究员们分别在 Atari 游戏的26个游戏以及 DMControl 套件的6个任务中进行了大量实验,结果表明 RCRL 算法不仅可以取得比其它前沿的状态表示算法更佳的样本效率,还可以和一些已有的状态表示算法 (比如,CURL) 结合,共同提升基准算法的样本效率。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。