论文研读笔记《OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer》

OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer

OSLNet:具有正交Softmax层的深小样本分类

1、文章简述

  • 文章表明由多个非线性层组成的深层神经网络形成了一个大的函数空间,当遇到小样本数据时容易导致过度拟合。为了减少小样本分类中的过度拟合,本文旨在寻找一个子空间的神经网络,以方便一个大的决策裕度。提出了OSL,用OSL来代替完全连接的分类层,使得分类层中的权重向量在训练和测试过程中保持正交。使用OSL的网络的Rademacher复杂度仅为1/K,其中K是使用完全连接的分类层的网络的类数,这导致更严格的泛化错误界限。

  • 关于Rademacher复杂度的介绍可参

  • Rademacher

  • 文章的主要思路是:对于分类器的分类权重层,令其正交化。就是分类器的权重向量两两正交化。为了保证分类器权重有大角度,OSL的方法是对权重进行去相关处理,就是分别将每个权重部分置零。

  • 最后的实验结果也表明:所提出的OSL方法在四个小样本基准数据集上的性能优于用于比较的方法,并且适用于大样本数据集。

  • 现附上结果图
  • 小样本数据集论文研读笔记《OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer》_第1张图片
    但是在网络变深的时候均会出现下滑的情况
    论文研读笔记《OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer》_第2张图片
    这种情况下抗过拟合效果不太行。
  • 大样本数据集(和正常CNN倒差不多)
    论文研读笔记《OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer》_第3张图片
最后附上源码地址: OSLNet 源码比较容易懂,不复杂,因为主要是分类问题,代码不多。

2、Introduction(并非完全翻译照搬,只写重点处)

  • 在现实世界的许多问题中,大数据是很难获得的,而且当人类学习一个概念时,数百万或数十亿的数据样本是不必要的。因此,小样本分类问题是近年来深学习界研究的热点。深度神经网络通常对大的函数空间进行建模,这对于小样本分类,会导致出现难以避免的过度拟合和不稳定性问题。小样本分类可以大致分为两大类,这取决于是否有未发现的类别需要预测。本篇文章所开展的工作里,主要集中在一个没有看不见的类别的预测。这个方向中应对过拟合很重要。

  • 目前,针对小样本分类中的过拟合问题,人们提出了许多方法:
    1)数据增强
    2)域自适应
    3)正则化
    4)集成方法
    5)学习判别特征

  • 而近年来,在深度学习中学习区分特征已成为提高分类性能的新趋势。 其中large-margin loss and virtual softmax method较为广泛使用的方法对大样本和小样本数据都有很好的效果。但是这些方法要么对损失函数增加一些约束条件,要么对数据进行一些假设,增加了优化的难度,限制了数据的适用类型。而本片文章的目标是找到一个神经网络的子网络,一个可以很容易地获得一个大一些的决策裕度以及可以学习高度判别特征的子网络。

  • 具体地说,是通过在分类层(即输出层)中实现不同类别的权重向量之间的大角度来获得较大的决策裕度,部分原因是因为观察到分类层中的权重向量之间的角度越大,所呈现的泛化性能越好。如图:
    论文研读笔记《OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer》_第4张图片
    前三个矩阵表示全连接网络(FC)中来自分类层的权重向量的最终角度。在CATTEC101数据集上运行了60轮模拟,结果从60组精度的最小(Caltech101 Min)、中值(Caltech101 Med)和最大值(Caltech101 Max)中选择。相应的准确度分别为88:07%、89:28%和90:35%。

  • 在OSL算法中,去掉了一些连接,并且不同类的权重向量是成对正交的。由于类间连接较少,类间角度较大,OSL可以在增强特征识别能力的同时减轻网络的协同适应。与传统的具有全连接分类层的网络相比,使用OSL的神经网络模型复杂度更低,更适合于小样本分类。

  • 此篇论文开展的工作不是通过约束优化过程来获得一个正交权矩阵,而是通过删除一些连接来构造一个具有固定正交分类层的网络结构,从而减轻参数之间的协同适应。

  • 此片论文的贡献归结为:
    1) 提出了一种新的层结构,即正交软最大层(OSL)。OSL是完全连接分类层的一种替代方法,可以作为任何神经网络的分类层(即输出层)进行分类。
    2) 提出的OSL算法由于影响了分类层参数间的协同适应,降低了网络优化的难度。
    3) 与具有完全连接分类层的网络相比,具有该OSL的网络具有更低的泛化误差界。

3、RELATED WORK(对应翻译)

  • 数据扩充: 数据增强通过保留标签的转换来人为地扩展训练集,非常适合于有限的训练数据,例如变形方法、生成更多的训练样本和伪标签。然而,数据增强在计算上的实现是昂贵的。
  • 领域适应: 领域适配的目标是使用一个模型,该模型在源域中使用足够数量的带标注的训练数据进行训练,而在目标域中使用很少或没有训练数据进行训练。域自适应的最简单方法是使用目标域中可用的注释数据来微调在源数据上预先训练的卷积神经网络(CNN)例如ImageNet,这是小样本分类的常用方法。然而,由于神经网络的初始学习率和优化策略都会影响神经网络的最终性能,这种方法很难避免小样本分类中的过拟合问题。此外,知识蒸馏(knowledge distrivation)是一种用于知识转移的方法,它将集成中的知识压缩为单个模型。总的来说,这种方法有一定的局限性:原始域和目标域不能相距太远,对小样本数据的神经网络过度拟合仍然难以避免。
  • 学习辨别特征: 最近有几项研究明确鼓励学习判别特征和扩大决策裕度,如虚拟软最大值、L-软最大值损失、A-软最大值损失、GM损失和中心损失。
    1)虚拟softmax通过在原始softmax中注入一个动态的虚拟负类来增强学习特征的识别能力,它确实鼓励特征在类之间更加紧凑和可分离。
    2)L-softmax损耗和A-softmax损耗建立在交叉熵损耗的基础上。他们引入新的分类分数以扩大决策余地。然而,这两种损失增加了网络优化的难度。
    3)GM损失假设样本点的深度特征服从高斯混合分布。由于许多实际数据不太适合用高斯混合分布来建模,因此该方法仍有一定的局限性。
    4)中心损失为softmax损失函数发展了一个正则化项,即来自同一类样本的特征必须在欧氏距离内接近。
    除了上述损失函数外,其他损失函数要么考虑数据不平衡,要么考虑训练数据中的噪声标签。焦点损失将不同的权重放在不同的训练样本上:难以识别的样本将被分配一个较大的权重。截断Lq损失是一个噪声鲁棒损失函数,可以克服训练数据中的噪声标签。与这些改进损失函数的研究不同,此篇论文的方法通过去除一些连接构造一个固定的正交分类层来获得判别特征。
  • 集成方法: 此方法被证明是解决过拟合的有效方法,集成SnapShot 只训练一次,免费获得多个基本分类器。该方法利用了神经网络的非凸性和随机梯度下降(SGD)在需要时收敛或逃离局部极小值的能力。该算法能找到多个局部最小损失,节省相应基网络的权值,并结合相应基网络的预测结果。时间置乱是与即成SnapShot置乱并行的工作,可以在一个网络上训练。在不同时期所做的预测对应于由于丢失正则化而产生的多个子网的集合预测。快照合并和时间合并对小样本数据都很有效。然而,一般来说,使用一个完整的模型集合进行预测是很麻烦的,而且计算成本也很高。
  • 正则化:
    1)L2正则化方法通常用于缓解神经网络中的过度拟合。
    2)DropOut主要通过在训练过程中随机从神经网络中删除一些单元(及其连接)来缓解过度拟合,这可以防止单元过多地协同适应。
    3)DropConnect是Dropout的一个变种,其中每个连接都可以以概率p丢弃。这两种方法都在模型中引入了动态稀疏性。带有DropConnect的完全连接层变为稀疏连接层,在训练阶段随机选择连接。
    此外, 正交正则化也是一种正则化技术,它能够稳定CNNs内激活层的分布,提高CNNs的性能。除了这些方法外,还存在隐式正则化技术,例如批处理规范化及其变体。批处理规范化(BN)旨在规范化神经网络层输入的分布,从而减少训练过程中的内部协变量漂移。在BN的基础上,去相关批处理规范化(DBN)去相关层输入,并改进CNN上的BN。迭代规范(IterNorm)进一步将DBN改进为有效的白化,并在训练过程中沿特征向量迭代规范化数据。DBN和IterNorm都调整了样本的分布,使得样本的特征是成对正交的。与之不同的是,文章提出的OSL强制分类层中的权值是成对正交的。OSL中的正交性是将输入神经元分配给不同的输出神经元,以减轻参数之间的协同适应。

4、THE ORTHOGONAL SOFTMAX LAYER

  • 由于Dropout和DropConnect以及OSL都采用了删除神经网络中的一些连接。为了使OSL易于理解,首先回顾Dropout和DropConnect。

  • 预备工作:

  • 用v,r表示神经网络中某一层的输入向量和输出向量。如下:
    在这里插入图片描述
    在这里插入图片描述
    则基于以上说明:
    具有DropOut的全连接层定义为r= ma (Wv),m为k维二进制向量,其中第j个元素mj满足mj ∼ Bernoulli (1 − p), j 可取{1,2,…,k},p是神经元丢弃的概率。
    具有DropConnect被定义为r=a((M
    W)v),M为二进制矩阵,每一项有Mij ∼ Bernoulli (1 − q),i可取可取{1,2,…,D},j 可取{1,2,…,k},p是丢弃一个连接的概率。

  • OSL的数学解释:
    为了保持分类层中权重之间的大角度,在全连接分类层中删除了一些连接,使分类层中的权重成对正交,并提出了正交Softmax层。如下图:
    论文研读笔记《OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer》_第5张图片
    左侧为标准的全连接分类层,右侧为OSL的结构。OSL定义如下:
    在这里插入图片描述
    其中M是W的掩模矩阵,M是一个预先设计的固定的块对角阵如下示:
    论文研读笔记《OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer》_第6张图片
    其中K是类的数目,Mij是元素为1的列向量,0ij是每个元素为0的零列向量。矩阵在训练和测试阶段是固定的。如果我们考虑M*W作为一个矩阵,列向量是成对正交的,这相当于引入一个强先验,即不同类别权重之间的夹角都是90°。

  • 关于OSL。
    1)OSL是分类层(即最后一个完全连接层)的替代品。
    相比之下,Dropconnect不能有效地用于分类层,因为如果一个输出神经元的所有连接都断开了,神经网络或其一部分就无法训练。
    2)在整个训练和测试过程中,带有OSL的神经网络是一个单一的模型,因为它首先在训练和测试阶段断开一些连接,然后固定结构。
    这与DropConnect方法相反。DropConnect在训练阶段随机丢弃具有给定概率的连接,但在测试阶段不丢弃任何连接。DropConnect可以看作是一种隐式集成方法。
    3)在OSL中,最后一个隐藏层的不同神经元连接到不同的输出神经元。该方法在训练开始前,将每个隐神经元分配给一个且只分配给一个特定的类,从而降低了神经网络训练的难度。

  • 此外,具有OSL的网络的解空间是其对应的具有完全连接的分类层的网络的解空间的子集,这意味着前者的模型复杂度较低。

  • OSL可以用于任何类型的网络进行分类,要注意的是,其与全连通分类层的实现不同,OSL的前向计算需要在预先设计的矩阵M来和权重矩阵W之间进行点乘。

  • The Generalization Error Bound of the OSLNet
    OSLNet的推广误差界(此节为直译,因为有些东西还不了解)

  • 在这一部分中,讨论了OSLNet在Rademacher复杂度方面的泛化误差界。论文中将整个网络分为两部分:分类层和特征提取层。
    分类层是指神经网络中最后一个完全连接的层,特征提取层是指除分类层以外的所有层。根据这些定义,具有完全连接的分类层的标准网络可以表示为f(x;Ws,Wg),OSLNet可以表示为f(x;MWs,Wg),Ws和MWs是两个网络的分类层的参数,Wg是特征提取层参数。
    论文研读笔记《OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer》_第7张图片

  • 证明:
    论文研读笔记《OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer》_第8张图片
    在这里插入图片描述
    上述分析表明,OSLNet的经验Rademacher复杂度仅为标准网络的1/K。此外,OSLNet的经验误差在训练数据的准确性和交叉熵损失两个方面接近于标准模型。因此,根据模型泛化误差界与经验Rademacher复杂度之间的关系,OSLNet比标准网络具有更低的模型泛化误差界。

此篇论文的原理部分说明差不多结束了,后续的实验比对分析就不写了

最后总结说说OSL的局限:OSL表现出了优异的性能,但它有自己的局限性。例如,由于OSL的设计,最后一个隐藏层的神经元数应该大于类数。因此,当类数较大时,例如1000,需要大量的神经元,这将增加网络的复杂性。

第一次写这种论文笔记博客

你可能感兴趣的:(论文研读笔记《OSLNet: Deep Small-Sample Classification with an Orthogonal Softmax Layer》)