论文阅读笔记《LaSO: Label-Set Operations networks for multi-label few-shot learning》

核心思想

  本文提出一种通过标签集合操作实现多标签分类任务的网络(Label-Set Operations Networks,LaSO)。作者首先为我们举了一个形象的例子,如下图所示
论文阅读笔记《LaSO: Label-Set Operations networks for multi-label few-shot learning》_第1张图片
  如果我们希望训练得到一个用于动物的分类器,但是我们采集到的老虎图片是带有笼子的(如图a),因此在学习过程中可能由于学习到了笼子的特征,而导致训练得到的分类器无法识别野生环境中的老虎(如图c)。作者想到了一个解决方案,就是利用其他包含笼子这个物体的图片(如图b),从其中学习到两幅图片的公共特征(即笼子的特征),然后再从图a对应的特征中去除笼子的特征,那么就可以得到老虎的特征,不仅如此,在这个过程中,我们也可以潜移默化地学习到如何去识别笼子,即使笼子并不是我们标记出来的目标物体。总而言之,每幅图片中都包含多种物体,这些物体的标签构成了一个标签集合,利用标签集合之间的关系(如交集,并集,差集),就可以从图像中学习到隐式的语义信息,这相当于对数据集进行了数据增强,拓展了特征空间包含的特征信息,因此可以用于解决小样本的多标签分类问题。
论文阅读笔记《LaSO: Label-Set Operations networks for multi-label few-shot learning》_第2张图片
  作者具体是如何实现上述想法的呢?如上图所示,输入一对图像 X X X Y Y Y,以及对应的标签集合 L ( X ) L(X) L(X) L ( Y ) L(Y) L(Y),首先经过一个特征提取网络分别得到两幅图像对应的特征信息 F X F_X FX F Y F_Y FY;将特征信息级联起来,送入标签合集操作网络(LaSO),该网络分成平行的三个部分:交集模块 M i n t M_{int} Mint,并集模块 M u n i M_{uni} Muni和差集模块 M s u b M_{sub} Msub,其中交集模块用于提取两幅图中共有的特征信息 Z i n t Z_{int} Zint,并集模块用于提取两幅图中所有的特征信息 Z u n i Z_{uni} Zuni,差集模块用于提取 X X X中有但 Y Y Y中没有的特征信息 Z s u b Z_{sub} Zsub;最后将三部分特征信息以及最初的 F X F_X FX F Y F_Y FY共同输入到一个分类器网络中,得到最终的分类结果。

实现过程

网络结构

  特征提取网络采用InceptionV3或者ResNet-34结构,标签合集操作网络(LaSO)采用3个或4个全连接块构成的多层感知机,每个全连接块包含全连接层、BN层,Leaky-ReLU层和dropout操作,分类器网络文中并没有具体介绍,估计也是全连接层+softmax层的常规结构。

损失函数

  本文设计的损失函数包含两大部分:多标签分类损失和重构损失。多标签分类损失的基础损失函数是二元交叉熵损失函数(Binary Cross-Entropy,BCE)计算方法如下
在这里插入图片描述
首先根据最初的特征信息 F X F_X FX F Y F_Y FY,进行分类预测并计算损失
在这里插入图片描述
然后在利用标签合集操作网络得到的交集 Z i n t Z_{int} Zint、并集 Z u n i Z_{uni} Zuni、差集 Z s u b Z_{sub} Zsub特征信息分别计算对应的分类损失,并求和得到标签合集操作损失
在这里插入图片描述
值得注意的是上述两个损失是解耦的,在更新标签合集操作网络的参数时,分类器网络的参数是固定的。
  重构损失的基础损失函数是均方差损失函数(Mean Square Error,MSE)。首先保证交集模块和并集模块结果的对称性,也就是说当我们把输入的两幅图片调换顺序,得到的交集和并集结果应该和调换顺序之前保持一致,而不应该由于顺序的改变而发生变化,计算方法如下
在这里插入图片描述
其次要减少模块提取特征之间的冲突,对于图像 X X X Y Y Y而言,如果对差集特征信息 Z s u b Z_{sub} Zsub(图像 X X X中有,但 Y Y Y中没有)和交集特征信息 Z i n t ( 图 像 Z_{int}(图像 ZintX 和 和 Y 中 都 有 的 ) 中都有的) 取并集操作 M u n i M_{uni} Muni,那么应该还原得到图像 X X X对应的特征 F X F_X FX,反之亦然。因此可得第二部分的重构损失,计算方法如下
在这里插入图片描述

训练策略

  将MS-COCO数据集分成两部分:看见过的和没看过的。其中看见过的包含64类物品,没看过的包含16类物品,首先用64类看见过的图像数据集对特征提取网络进行训练(使用标准的交叉熵损失函数),然后对LaSO进行联合训练。

创新点

  • 提出一种用于多标签小样本图像分类任务的算法,利用标签集之间的关系,提取潜在的语义信息,形成一种在特征空间层次上的数据增强,进而解决小样本的问题
  • 设计了包含多标签分类损失和重构损失的混合损失函数

算法评价

  本文是首个提出并解决多标签小样本分类任务的算法,在小样本学习任务中,有一类算法是采用数据增强的思路,通过对数据集进行扩充(常规的数据增强、合成图像或者GAN生成图像)来解决样本过少的问题的。本文提出的算法也是沿用了这一思路,不过并非是在图像这个层次上进行数据扩充,而是在特征空间这一层次上,就像最开始提到的笼子和老虎的例子,作者并没有显式的去生成笼子对应的图像,而是在特征空间内,获取了笼子这一语义概念对应的特征信息,而这一信息是原本输入的图像和标签中没有直接涵盖的,因此起到了数据增强的效果。本文的想法非常的新颖和有趣,但其作用更多的表现在多标签分类任务上,对于小样本学习任务的帮助作用有限。

如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。

你可能感兴趣的:(深度学习,#,小样本学习)