L*ReLU: Piece-wise Linear Activation Functions for Deep Fine-grained Visual Categorization

L*ReLU: 分段线性激活函数的深度细粒度视觉分类

原文:L*ReLU


摘要

        在过去的几年里,深度神经网络为图像视觉分类的显著改进铺平了道路。然而,即使任务是高度不同的,在复杂性和难度上是不同的,现有的解决方案大多数都建立在相同的体系结构决策之上。这也适用于激活函数(AFs)的选择,大多数方法都建立在直线单元(ReLUs)上。然而,在本文中,我们表明,选择一个合适的AF对分类精度有显著的影响,特别是,如果精细的,微妙的细节是相关性。因此,我们提出使用分段线性函数通过AF对特征的缺失程度和存在程度进行建模,我们称之为L*ReLU。这样,我们可以确保所需的属性,同时仍然继承了ReLUs在计算效率方面的优势。我们演示了我们的细粒度视觉分类(FGVC)任务的方法,在七个不同的基准数据集上运行实验。结果不仅显示出优越的结果,而且对于不同的任务,具有不同的特点,选择了不同的AFs。

1. 介绍

        深度卷积神经网络(如[1,2])最近在计算机视觉领域的各种应用中显示出非常有益的作用。因此,例如,人们对设计新的网络体系结构、引入有效的数据增强技术和改进参数优化产生了相当大的兴趣。此外,为了提高鲁棒性和训练速度,还研究了不同的初始化技术(如[3,4])和归一化技术(如[5])。然而,一个相关而重要的参数却往往被忽略,即正确选择非线性激活函数(AF)。
        事实上,最近的研究已经证明了这一点,而学习[11-14]新的AFs及其参数在收敛速度和训练稳定性方面是有益的,但也只能对最终任务实现微小的改进。因此,大多数深度学习方法使用整流线性单元(ReLU)[15],这已被证明是可靠的,允许快速学习。然而,在本文中,我们证明了正确的选择
AF可以显著提高深度神经网络在诸如分割、跟踪或对象检索等应用中的性能,其中细微的视觉差异是相关的。特别是,我们演示了细粒度可视分类(FGVC)的这些好处。
        相比之下,粗粒度的视觉分类(CGVC)旨在区分明确定义的类别(如犬类、鸟类或人造物体),而FGVC[16,17]的目标是区分难以区分的类别(如属于同一类别的类别,如不同种类的鸟类)。因此,在类之间存在着高度的视觉相似性,即使是细微的差异也具有相关性。这如图1所示, 其中我们为一个两类玩具问题(即使用不同的激活函数,即ReLU和建议的LReLU,其中, α = 2:1)。事实上,使用相同的体系结构可以估计出更好的决策边界,特别是接近真实决策边界的样本,彼此间距离较小,分类效果明显更好。
        在本文中,我们通过使用适当的AF来解决FGCV问题,对特征[7]的存在和缺失程度进行建模。如果当前样本中存在一个特征,AF会返回一个大于零的值;另一方面,如果缺少某个特性,则返回一个小于或等于零的值。例如,ReLU通过标识映射特征的存在,而所有缺失的特征都被映射为零。然而,对于FGCV,保持缺失程度也很重要。时,AF在失活状态下的输出不应为零。
        为了保证所期望的性质,我们需要一个单调递增且单连续的AF。换句话说,负值不应该饱和,相似的输入应该产生相似的输出。我们通过分段定义(正域和负域)线性AFs来确保这些特性,其中正的部分是恒等函数,负的部分是斜率依赖于数据的线性函数。因此,我们将我们的方法称为L
ReLU,表明其与Leaky ReLU(斜率为0:01)的相似性,并且斜率是根据数据相关的Lipschitz常数[18]设置的。这样,不仅保证了所期望的性能,而且继承了ReLU的积极性能。在7个不同数据集上的实验结果清楚地显示了分类精度优于基线,但对于不同的任务,不同的AFs(即。例如,不同的参数化)是必要的。

        因此,本文的主要贡献可以总结如下:

  1. 通过一个适当定义的激活函数(AF)来建立特征缺失和存在的程度的模型。
  2. 提出L*ReLU,一个分段线性AF,其中负部分的斜率是根据一个适当定义的、数据相关的Lipschitz常数选择的。
  3. 对五种不同的细粒度视觉分类(FGCV)基准进行了深入的实验分析,并与预先定义的和参数化的AFs进行了比较。结果清楚地证明了该方法在提高分类精度和适用于多任务方面的好处。

2. 相关工作

        在下面,我们首先对细粒度视觉分类(FGVC)做一个简短的回顾,然后详细讨论用于深度网络训练的不同AFs,最后总结Lipschitz正则化的思想。

2.1 细粒度的视觉分类

        为了对FGVC提供足够的鉴别能力,人们已经探索了几种技术。例如,这可以通过学习判别特征来实现,最近,特别是使用两个对称的神经网络来计算二阶双线性特征交互作用的双线性网络在实践中表现得很好。替代的方法侧重于对象的局部信息和模型部分。为了识别和检测包含重要局部信息的信息区域,最近出现了注意力模型。此外,还应用了可能与我们的方法最相似的度量学习方法。相比之下,在这项工作中,我们证明了FGVC问题可以通过应用更合适的、任务特异性的AFs来解决。

2.2 预定义的激活函数

        从简单的阈值函数开始,最初开发激活函数(AFs)的主要重点是压缩函数,如Sigmoid和Tanh。特别地,根据通用逼近定理,如果AF是连续的、有界的、单调递增的,那么任何连续实值函数都可以被具有一个隐含层的前馈网络很好地逼近。但是,这些函数都存在[38]的消失梯度问题,特别是网络深度越深的问题。
        为了克服这个问题,引入了各种非压缩函数,其中,特别是ReLU为深度学习的成功铺平了道路。由于ReLU正输入的导数为1,梯度不能消失。另一方面,所有的负值都被映射为零,这导致了两个主要问题: (1)没有针对负值的信息流,这被称为死亡ReLU。(2)激活值的统计平均值仍然大于零,导致连续层的偏移.此外,所有的负值都被同等对待,这对FGVC任务来说是不可取的!为了处理泄漏的ReLU (LReLU)问题,为负的部分引入了一个非常小的负斜率。尽管在许多任务上显示出更好的结果,但该功能仍然受到偏见转移的影响。略有不同的随机化漏整线性单元(RReLU)[40]随机设置负部分的斜率。
        采用指数线性单元 (ELU) 可以避免ReLU的这两个缺点,该方法对噪声具有较强的鲁棒性,并通过将平均激活值趋近于零来消除后续层中的偏置偏移。通过为负输入返回一个有界指数值,ELU在预定义的阈值处饱和。后来,通过引入指数线性单元SELU扩展了这一思想,表明所提出的自规格化网络收敛于均值和单位方差为零的正态分布。然而,ELU和SELU都局限于负的部分,这不是FGVC任务所期望的特性。

2.3 学习和参数激活函数

        为了提高灵活性,提出了参数化AFs,即在训练过程中学习参数自调。例如,参数化ReLU (PReLU)建立在LReLU的思想上,但是根据训练数据学习负部分的斜率。此外,SReLU由三个分段线性函数定义,其中包含四个自适应标量值,形成粗略的S形状。同时具有凸形和非凸形是SReLU的显著特征。
        类似地,参数化ELU回避了梯度消失问题,并允许通过从数据中学习参数来精确控制偏差偏移。更复杂的函数(例如。利用多个参数指数线性单元,可以获得更好的分类性能和更好的收敛特性。
        同样的目标也可以通过采用强化学习和遗传编程的思想来实现,其中复杂的搜索空间被探索来构建新的AFs。特别是在Swish中,压缩和线性函数的组合被发现是各种任务的最佳解决方案。此外,参数化Swish (PSwish)包含一个可训练(缩放)参数。也发现了类似的函数,在相同的应用领域中也产生了稍微好一点的结果。最近,给出了这些结果的理论证明,表明swish类函数比ReLU更好地传播信息。
        然而,尽管这些功能对CGVC有很好的效果,但却不能很好地处理FGVC任务。因此,本文的目标是定义更适合于更复杂图像分类任务的AFs,更有效地捕捉相似类之间微小的差异。

2.4 李普希茨(Lipschitz )正规化

        由于输入数据的微小扰动都能显著改变输出(敌对样本),人们对用于深度神经网络训练的Lipschitz正则化产生了相当大的兴趣。最近的研究表明,在鲁棒性和分类精度方面,给定一个受约束的Lipschitz常数对DNNs是有意义的。Lipschitz常数限定了输出变化与输入变化的比率。特别是对于分类任务,一个小的Lipschitz常数可以提高泛化能力。引入l2-非扩张神经网络控制Lipschitz常数,提高了分类器的鲁棒性。同样,我们提出了一种基于Lipschitz边缘的鲁棒深度学习模型用于目标识别。这些工作主要是为了提高对敌对样本的鲁棒性,以保证更好的收敛性。与此相反,我们采用了将多类的可分离性与分段线性AFs中适当Lipschitz常数的选择联系起来的思想。这还可以确保所需的属性能够很好地对特性的缺席和出现程度进行建模。

3. L*ReLU: Lipschitz ReLU

        在接下来的3.1节中,我们首先讨论通过via对特征的存在和不存在进行建模的问题AFs。然后,我们在第3.2节讨论关于功能连续性的技术预备。最后,在第3.3节,我们将介绍L*ReLU,它处理的是样本之间的相似性FGVC的问题好多了。

3.1 特征的存在和缺失

        由计算神经网络中单个神经元j的输出aj
在这里插入图片描述
其中ai是n个连接神经元(来自前一层)的输出,wi;j是相关权重,f(x)是一个非线性函数,称为激活函数(AF)。这样,f(x)编码了输入中某一特征存在或缺失的程度:如果f(x) >为0,特征存在,如果f(x)≤0,特征缺失。
        存在的程度为大多数现有的AFs建模得很好。这可以从图2中看出,在图2中,我们展示了众所周知和广泛使用的AFs,它们在表1中定义。在这些情况下,这是通过功能的正部分(即。为线性函数(ReLU, LReLU, ELU)或“拟线性”函数(Swish)。
在这里插入图片描述
在这里插入图片描述
        另一方面,没有很好地捕捉到特性的缺失程度。例如,ReLU确实定义了一个明确的“off-state”或“deactivation-state”:对于所有的负值f(x) = 0。这样,神经元就不会模拟任何关于缺失程度的信息,而这些信息可以传播到下一层。同样的道理也适用于ELU。尽管f(x)在x减小时变小,但函数的饱和值为−1,表示“离态”。结果,对于小值的导数变得越来越小,从而减少了传播到下一层的信息。相比之下,Swish可以很好地模拟小负值的缺失程度,但如果值进一步降低,它也会在0处饱和。
        对于包括CGVC在内的许多应用程序来说,只考虑特性的存在就足够了。如果一个特性不存在,说它不存在就足够了!。因此,像ReLU、ELU、SELU和Swish这样的AFs非常适合CGVC任务。我们的实验结果也揭示了这一点,在实验中我们表明,对于CGVC来说,AF的选择对最终获得的精度只有很小的影响。然而,对于FGVC来说,仅仅对其存在进行建模是不够的,因为不同的类通常具有相似的外观,而且通常只是在细微的视觉差异上有所不同。在这些情况下,还需要对缺勤程度建模。要定义显示必要性质的函数,我们首先需要复习一致连续函数和lipschitz连续函数。

3.2 一致和lipschitz连续函数

        尽管下面的概念更一般,但为了简单起见,我们将只讨论R中的函数
        一个函数f:R ->R如果存在一个常数L≥0,则称R为lipschitz连续:
在这里插入图片描述
对于 x j ∈ R x_j \in R xjR,任何满足条件公式(2)的L称为Lipschitz常数。所有Lipschitz常数的最小 L ^{L} L常称为最小Lipschitz常数。对于xi 6= xj,我们可以把公式(2)改写为:
在这里插入图片描述
这意味着在 I ∈ R I\in R IR区间内,sec和tan的斜率以 I I I为界,特别是,我们有
在这里插入图片描述        在这里插入图片描述
        这样,Lipschitz常数L度量函数f在区间i内的最大变化率0≤L < 1,则f称为I上的收缩映射。
        此外,一个lipschitz连续函数 f:R -> R 也是一致连续的,对于每一个 ϵ > 0 \epsilon>0 ϵ>0 存在一个集合 δ > 0 \delta> 0 δ>0使得对于所有的 x j , x j ∈ R x_j,x_j \in R xj,xjR有:
在这里插入图片描述
        换句话说,单次连续函数确保f(xi)和f(xj)彼此接近如果xi和xj足够接近。

3.3 分段线性激活函数

        从上面的讨论可以清楚地看出,对于FGVC 一个AF是需要的,它对特征的存在程度和缺失程度进行建模。由于这两个方面与R的正域和负域有关,我们建议对正值x > 0和负值x≤0采用分段函数:
在这里插入图片描述
ϕ ( x ) \phi(x) ϕ(x) η ( x ) \eta(x) η(x)是任意一个非线性函数,这样,我们确保分段函数的正和负部分位于笛卡尔坐标系的第一和第三象限。很容易看到,我们可以很容易地重写几乎所有流行的AFs到这种形式。
        利用正域的线性(ReLU, ELU)或拟线性(Swish)函数,现有的AFs已经很好地实现了对特征存在的建模。然而,对特征的缺失程度进行建模则更为困难。特别地,我们需要一个非饱和的、单调递增的函数,它的变化率是有界的。,类似的输入应该产生类似的输出)。根据第3.2节的定义,这意味着我们需要收缩的、无界的Lipschitz函数,因此也需要单次连续函数。
        但是,从中所示的示例可以看出第4.6节,定义这样的AFs并不简单。因此,我们建议采用分段线性逼近:
在这里插入图片描述
其中,α >= 0定义了负部分的线性函数的斜率。
        实际上,使用参数设置:α= 0.01,我们就得到了众所周知的LReLU激活函数。然而,正如我们在使用这些小坡度的实验中所显示的那样,这在CGVC中通常效果很好,但在FGVC中却失败了,因为特征的缺失程度无法很好地建模。同样的情况也适用于随机选择斜率的RReLU。因此,一个有效的选择将是使用PReLU,其中斜率参数估计从数据。然而,这种方法在实践中不够灵活,因为优化器经常陷入局部极小值,不能很好地推广。因此,需要一个接近最优解的初始化。我们也在实验结果中证明了这一行为,在实验中我们表明,只有当初始化方法接近最优解时,使用PReLU才能给出合理的结果。
        因此,关键的问题是,如何最优地设置斜率拟合?遵循[12]和[18]的思想,我们认为在不同的任务中没有唯一的解决方案。[12]表明,对于不同复杂度的分类任务,不同的AFs是有用的。相比之下,[18]证明了对于任何有限数据集,不同的类在输入空间中至少间隔c的距离,存在一个Lipschitz常数c=2的函数,可以正确地分类所有的点。换句话说,不同的数据集可能有不同的可分性,这就需要学习具有不同属性的函数。这可以通过根据数据的lipschitz特性选择合适的斜率来实现。
        也就是说,我们称我们的方法为L*ReLU,这表明所使用的AF是基于Leaky ReLU(和PReLU)的思想,而且斜率参数是根据数据的lipschz特性选择的。事实上,我们的实验也证明了七个不同的数据集需要不同的参数,然而,这些也不是关键的。在实际操作中,或者在每个任务中,我们可以识别出一个限定范围的Lipschitz参数(从而得到斜率)[47],得到稳定可靠的分类结果。

4. 实验结果

4.1 实验细节

        为了进行公平的比较,所有的实验都使用了相同的实验设置。特别是,保持计算cots在一个合理的水平上(例如。我们将所有图像的大小调整为120120。我们训练了一个类似于VGG的架构,包括8个卷积层加上两个完全连接的层,分别为400和900单元。此外,我们使用批处理大小为70,并将最大池大小设置为7。为了训练一个具有批处理规范化的Adam优化器。由于我们使用了不同的图像大小和权重与使用的AF相关,我们不能使用预先训练好的权重。因此,我们对每个训练使用随机初始化,但是为了确保统计上的公平结果,我们将所有实验运行三次,其中分别显示了平均结果(和标准差)

4.2 部分结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狂奔的菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值