微软亚洲研究院设计了一种深度双线性转换模块,能够深层地将双线性表达应用在卷积神经网络中,来学习细粒度图像特征。这项工作发表在了 NeurIPS 2019 上。双线性特征在学习细粒度图像表达上取得了很好的效果,但逐对计算卷积通道之间的信息交互会带来极大的计算代价,使得这样有较强表达能力的操作无法在深层的神经网络中被多次使用,从而限制了其应用的有效性和广泛性。
因此,我们设计了一种深度双线性转换模块,能够深层地将双线性表达应用在卷积神经网络中,来学习细粒度图像特征。深度双线性转换模块主要通过引入基于部位表达的语义分组信息,对组内的特征进行双线性操作和组间特征进行整合来得到低维的双线性表达,从而在深度神经网络中多次叠加使用双线性操作。
我们提出的深度双线性模型在三个常用的细粒度图像分类任务上取得了明显的提高,下文中我们将详细介绍研究背景、实现细节以及实验结果。细粒度图像分类旨在区分同一个大类里面不同小类的图像之间细微的差别。
这类问题的数据通常有两个特点:1)较强的结构性,比如所有的鸟类样本都由鸟头、鸟翅、鸟尾等部位组成,所有的汽车样本都由车头、车轮、车门等部件组成;2)复杂的细节特征,比如呆头伯劳鸟与南灰伯劳鸟相比,区别仅仅在于眼周围的黑色条纹比较粗,这就要求算法的特征表达可以捕捉到这样的细节。基于这两个特性,目前最好的细粒度分类方法主要可以分为两类:基于部位检测的表达学习和基于双线性的精细特征学习。
针对以上问题,我们提出了“利用基于部位的语义信息,得到一种低维而高效的双线性表达”的构想,让能够表达丰富细节的双线性特征能够很深地集成到卷积神经网络中,因此提出了深度双线性网络网络结构。为了验证我们提出的深度双线性转换的有效性,我们在三个常用的细粒度分类数据集上进行了实验,分别是 CUB-200-2011 鸟类数据集,Stanford-Car 汽车数据集和 FGVC-Aircraft 飞机数据集。
实验表明我们提出的深度双线性网络可以在同样使用 ResNet-50 作为基础网络,而且特征维度很低的情况下达到好的效果。本文我们通过引入语义信息,提出了基于语义分组的双线性转换,大大降低了双线性特征的维度,使得双线性操作可以被深层次地融入到卷积神经网络中。我们设计的深度双线性网络在三个常用的细粒度图像分类任务上取得了明显的提高。