无监督表示学习(二):2018 Deep InfoMax(DIM) & 2019 Augmented Multiscale Deep InfoMax(AMDIM)

继CPC之后,Deep InfoMax(DIM)的表示学习方法被提出,通过最大化互信息的方式来约束输入和输出之间的映射关系,接着2019年,Augmented Multiscale Deep InfoMax(AMDIM)被提出,在DIM的基础上做了改进,将基于DIM的深度表示性能进一步提升。

论文地址

1、DIM:《Learning deep representations by mutual information estimation and maximization》
地址:https://arxiv.org/abs/1808.06670v2
2、AMDIM:《Learning representations by maxmizing mutual infomation across views》
地址:https://arxiv.org/pdf/1906.00910.pdf

相关内容

1、自监督学习(Self-supervised):属于无监督学习,其核心是自动为数据打标签(伪标签或其他角度的可信标签,包括图像的旋转、分块等等),通过让网络按照既定的规则,对数据打出正确的标签来更好地进行特征表示,从而应用于各种下游任务。
2、互信息(Mutual Information):表示两个变量和之间的关系,定义为:,可以解释为由X引入而使Y的不确定度减小的量,越大说明两者关系越密切。
3、噪声对抗估计(Noise Contrastive Estimation, NCE):在NLP任务中一种降低计算复杂度的方法,将语言模型估计问题简化为一个二分类问题。

一、DIM

1、问题提出

目前大部分无监督学习算法,都是针对在输入空间已经部分定义的目标,作为一个“好”的表示,应该对那些在输入空间没有被定义的目标也具有优秀的特征表达能力,因此论文提出的思路是,利用最大化输入和输出之间互信息的方式来训练一个编码器,这个编码器应当具有很好的特征表示能力。
具体一些,在输入空间已经部分定义的目标,也就是网络能够直接观察到的目标,论文中称为“像素级”,仅仅用这些输入的信息去训练一个表示模型,可能会带来较大的误差,尤其是当目标的语义信息只取决于很小一部分像素的时候。所以应该直接根据目标的内容信息统计或架构约束来学习和估计它的表示。

针对上述的两个问题,论文提出了对应的方案:
1、为了保证内容信息的质量,考虑通过最大化局部或全局输入与高层特征向量之间的互信息来学习无监督表示;
2、为了实现统计特征约束,采用对抗匹配先验分布的方式来控制表示特征。
除此之外,论文还介绍了两种特征表示质量的评价方式:一种基于互信息神经估计MINE( Mutual Information Neural Estimation),一种是基于依赖度量。

2、算法模型

基本编码器

上图是一个图像数据的基本编码器模型,编码器设为E,输入一张图片X,经过几层卷积,得到一个M*M*channels的特征图,再将这些特征经过卷积展开或全连接层的计算,得到一个一维的特征向量Y,就是输入数据的高层语义信息。
论文指出,基于DIM的编码器目标是:
1、互信息最大化。找到一组编码器的参数,使得最大,即输入数据和其高层语义特征的互信息最大,根据下游任务,可以将式子中的替换为输入数据的局部特征;
2、结构约束。特征的边缘分布应该和先验分布一致,这里是指通过对抗机制构成的约束。
因此,在上面基础编码器的基础上,论文设计了如下图的DIM框架:

DIM框架结构

主要思想是,一张图的全局特征Y和它的局部特征应该高度相关,和另一张图的局部特征应该不相关。图中蓝色特征图来自于当前目标图片,继而解析出它的高层特征Y,而红色特征图则来自另一张图片,Y和蓝色特征的互信息应该较大,和红色特征的互信息应该较小,于是设置一个判别器,用于估计全局特征和局部特征的互信息,为不同的信息组合方式打分。
“原配”的全局和局部特征组合,可以视作语义信息的联合分布,而非“原配”的错误的组合,可视为边缘分布。判别器的目标是尽量区分这两种分布,编码器的目标则是欺骗判别器,也就是对每个不同的输入图片,都编码出一个特定的、高度相关的语义信息。

论文中还提到,当直接把一张完整的图片送入编码器得到特征图时,可能对于分类任务是不利的,因为图片中可能包含大量无信息的噪声,这会引起特征图的不准确,因此当下游任务是分类任务时,可以将图片局部块(patches)输入进编码器。具体操作看下图:

局部特征互信息最大化

也就是将全局特征Y分别匹配到局部特征图的每个特征点上,图中复制了M*M次Y特征,再和特征图拼接,然后对于每个特征点,再接上一个1*1*N的判别器卷积结构,对每个特征点进行互信息的打分,因此输出的是一张M*M的分数特征图,最后计算loss时取每个点的平均值。对负样本也是同样的操作,主要思想还是和同一张图的特征相关度最大,和其他图的相关度最小。
论文中认为这样的操作,可以促使编码器解析出图中各部分都共享的特征,也就是更加具有代表性的信息。

以上的操作都是为了增大特征表示和输入数据(或是第层特征)之间的互信息,之前有提到,为了实现统计特征约束,DIM采用了对抗匹配先验分布的方式来控制表示特征。

将特征匹配先验

因为好的表示学习应该是独立、可控的,所以编码器输出的特征分布和先验分布应该相近,图中判别器的目标是区分特征分布的真伪,而编码器则是尽量欺骗判别器,解析出更贴近真实分布的特征。

损失函数的形式就是对抗损失,和GAN相比编码器就相当于生成器,经过编码器得到的是特征分布,则是数据特征的先验分布。

3、目标函数

终极目标

把上面提到的三种操作合在一起,就构成了DIM完整的优化目标,上图中公式里的三项分别对应:
1、编码器的输出直接和输入数据的互信息最大化,通过一个判别器来对真假样本打分(这里真假样本是输入数据和输出特征的样本对),代表的是当前判别器的参数;
2、编码器的输出和输入数据经过几层卷积之后的特征互信息最大化,同样的用一个判别器来评价,只是这里用的是前面提到的M*M的特征图,也会得到同样大小的分数图,再取平均得到最终分数,代表的是这个判别器的参数;
3、编码器输出特征分布逼近先验分布,用对抗损失来表示,是判别器的参数。

整体目标函数中,和是权重超参数,和一个为0另一个就为1,最后得到的loss作为编码器的优化目标。

4、测试总结

论文中对编码器的特征提取质量做了分类测试,下图中使用了CIFAR10和CIFAR100两种数据集,构建分类器时分别从编码器的三个位置抽取特征,可以看出DIM(L),也就是基于局部特征互信息最大化的编码器性能最好。

分类测试

最后总结了Deep INFOMAX(DIM),这是一种通过最大化互信息来学习无监督表示的新方法,针对各种任务提供了一个直接而且灵活的方式来学习表示。这是学习“好的”和更条理的表示的一个重要方向,这将利于未来的人工智能研究。

二、AMDIM

1、问题提出

无监督表示学习的核心动机——减少模型对需要人工标注的数据库的依赖,解决这个问题是各类基于深度学习的任务长期且强烈的需求。
论文提出了一种基于最大化特征之间互信息的自监督表示学习方法,这些特征来自于多视图和共享的内容信息。其中,共享的内容可以是来自ImageNet的一张图片,多视图可以是来自于对图片进行的重复数据增扩。关键思想是,最大化从共享上下文的多个视图中提取的特征之间的互信息,迫使特征捕获更高层的信息,能够更全面地总结数据特征。

论文主要工作,在三个方面扩展了2018年提出的DIM局部版本:
1、对每幅图像都进行了独立的数据增扩,再最大化这些增扩后的数据特征的互信息,而不是直接对每个单幅、未增扩的图像提取特征;
2、对不同尺度的特征进行互信息最大化,而不是全局和局部的单一尺度特征;
3、采用了一个更强大的编码器
4、提出了混合表示方法。

2、改进措施

  • 定义问题

在local DIM(原DIM)中,主要目的是训练一个编码器,从而最大化全局特征和局部特征之间的互信息。这里令输入数据为,编码器为,全局特征,也就是编码器最后输出的特征向量为(1表示特征维度,即一维向量),局部特征,也就是编码器中间某层的特征图为(7表示特征图为7*7的维度,和是特征图中特征点的坐标)。
互信息的度量方式反映的是,当获得了之后,对于模型预测有多大帮助,因此构建数据分布对,训练编码器使得最大。
AMDIM的总体目标和DIM相同,但在优化过程中采用了噪声对抗估计(NCE)的方式,因为正负样本的比例不再是1:1,负样本包括多个特征图。因此,目标任务变成在所有的局部特征中,选出和全局特征最相关的那个。计算损失采用了softmax的形式,损失函数为:

其中代表所有特征负样本,上篇CPC的论文也介绍了同样的计算方式。

  • 输入数据增扩

AMDIM的精髓之一,Augmented。
首先在输入数据的阶段,AMDIM对local DIM做了数据预处理的改进,添加了多种增扩图片的方法。包括图片随机裁剪颜色的随机跳变随机转化成灰度图,在这些预处理之前还有一个随机水平翻转
这些数据的随机预处理用表示,输入一个图片,先得到它的不同角度的增扩数据和,再利用编码器构建特征分布对,最后重写优化目标:

这里的采样自边缘分布。

数据增扩的局部DIM

如上图所示,左边代表一个增扩样本,右边代表另一个增扩样本,红色虚线箭头表示全局特征和局部特征之间的局部信息度量。

  • 多尺度特征的InfoMax

AMDIM的精髓之二,Multiscale。
抽取编码器中其他层的特征图,比如,加上原来的全局特征和局部特征,把它们两两组合,可以构建多个特征分布对,这些数据对都来自于同一张输入图片,因此它们之间的互信息理论上最大。
论文中选择了编码器的三个不同层的输出,进而选择了三个特征分布对来最大化每个数据对之间的互信息:

其中下标代表的是层输出的特征图中,每个特征点的坐标,那么最后的优化目标改为:

式子表示-的互信息度量,和代表特征的维度,这里负样本则是来自于边缘分布。

多视图的DIM

如上图所示,两个增扩样本同样的解析过程,每个样本从上到下的特征分别为:、和,这时红色虚线连接了三种数据对。训练的目标是源图像各层级的输出特征应该和同源的特征相关度最大,和其他图片的各级特征相关度最小

  • 编码器改进

论文中提到两个问题,其一是控制感受域的信息重叠,当正样本对中两个特征分布的距离过近时,它们信息重叠的部分较多,此时优化任务会变得很简单,模型得不到有效训练;其二是通过避免padding,来使特征分布达到平稳。因此AMDIM中采用了ResNet作为编码器的基础结构。

编码器结构

编码器结构如图所示。

  • 基于混合的表示方法

最后一点是对特征进行了混合表示,将每个全局特征都经过一个混合表示层,得到个混合表示向量。该层由一个全连接层和ReLU激活函数组成,然后再用一个残差模块连接和每个混合输出。
对每个数据对进行混合表示,再得到每对表示的NCE评价分数,最后计算分布。

3、测试总结

论文实验部分采用自监督的策略,对特征表示的质量进行分类准确率的测试。首先利用训练数据训练一个编码器,其次再用这些高层特征训练分类器,最后评估分类器在测试集上的准确率。
实验模型分为两种,AMDIM(small)和AMDIM(large),分别对应参数量的少和多,下表中将各自的准确率和全监督模型做了对比,数据集为CIFAR-10和CIFAR-100:

从实验结果可见,论文提出的AMDIM模型在已有的表示学习基础上有了进一步的提升,分类的准确率十分接近全监督学习。

总的来看,这篇论文的核心思想和之前的DIM基本相同,而后加了一些trick使得模型表示和泛化性能更强,所以可以认为,DIM在表示学习领域中做了重要突破,而它所提出的最大化互信息的思想在AMDIM中被发挥到了极致。

参考博客

1、https://www.jiqizhixin.com/articles/2018-09-06-8

你可能感兴趣的:(无监督表示学习(二):2018 Deep InfoMax(DIM) & 2019 Augmented Multiscale Deep InfoMax(AMDIM))