没有合适的资源?快使用搜索试试~ 我知道了~
12095用分段线性单元周宇聪zhouyucong1@huawei.com朱泽洲北京大学邮电zhuzezhou@bupt.edu.cn赵忠华伟zorro. huawei.com摘要激活函数的选择对于现代深度神经网络至关重要。流 行 的 手 工 设 计 的 激 活 函 数 , 如 整 流 线 性 单 元(ReLU)及其变体,在各种任务和模型中表现出良好的性能。Swish是一个自动发现的激活函数,已经被提出,并且在许多具有挑战性的数据集上优于ReLU。然而,它有两个主要的缺点。首先,基于树的搜索空间是高度离散和受限的,这对于搜索是困难的。其次,基于样本的搜索方法是无效的,使得不可能为每个数据集或神经架构找到专门的激活函数。为了解决这些问题-高效Net-B 0MobileNet-V3ResNet-18ResNet-50MobileNet-V2在后面,我们提出了一个新的激活函数,称为分段线性单元(PWLU),它结合了精心设计的公式和学习方法。它可以学习专门的激活函数,并在ImageNet和COCO等大规模数据集上实现SOTA性能。例如,在ImageNet 分 类 数 据 集 上 , PWLU 将 ResNet-18/ResNet-50/MobileNet-V2/MobileNet-V3/EfficientNet-B 0的top-1准确率提高了0.9%/0.53%/1.0%/1.7%/1.0%。PWLU还易于实现且推理效率高,可广泛应用于现实世界的应用中。1. 介绍激活函数是现代深度神经网络的基本组成部分,其影响模型的表达性和优化。作为一个关键的设计选择,整流线性单元(ReLU)[7,15,25]与深度神经网络的结合显示出比tanh非线性收敛快六倍[18]。通过非饱和梯度,ReLU减轻了消失梯度问题,并在不同的任务和神经架构中显示出强大的性能。除了ReLU之外,还提出了许多新的激活函数,如Leaky ReLU[23],PReLU[10],ELU[4],SELU[16]等。所有APL PReLU SwishPAU F-ReLU PWLU图1.在ImageNet数据集上比较ReLU的改进。我们对每个激活函数在五种不同的架构上进行了实验,并展示了相对于ReLU基线的改进建议PWLU始终优于其他方法跨架构。这些变体在形状上是相似的,并且它们的增益在任务之间不一致,这限制了它们的应用[26]。除了人工设计的激活功能之外,自动搜索激活功能Swish[26]在任务中表现出更好的性能。Swish采用了基于一元和二元函数的树型结构搜索空间,它通过强化学习来搜索。尽管Swish比ReLU有所改进,但它也有其局限性。首先,树结构的搜索空间是高度离散和受限的。一个组成单元的微小变化可能会导致完全不同的激活功能,使搜索变得困难。第二,基于样本的搜索方法通常需要评估数百到数千个可能的激活函数,这在计算上是昂贵的。使用这种低效的搜索过程来为每个数据集或架构找到专门的激活函数是不可行的。相反,搜索的Swish用于大多数条件。还有一些方法,如APL[1]和PAU[24],使用通用逼近器作为激活2.521.510.50-0.512096功能协调发展的与Swish相反,它们相对于其参数大多是连续的,并且可以通过梯度直接优化。然而,这些方法存在复杂的公式,这可能导致不稳定的学习或无效的推理。此外,简单地使用梯度可能不足以完全优化这些公式。为了克服这些缺点并充分利用激活函数的潜力,我们 提 出 了 一 种 新 的 方 法 , 称 为 分 段 线 性 单 元(PWLU)。我们的方法由两部分组成:基于分段线性的公式化和基于梯度的学习方法。精心设计的公式是灵活的,易于学习和有效的推理。首先,它涵盖了广泛的标量函数,提高了找到好的激活函数的潜力。第二,它的参数基本上是可微的,可以很容易地通过学习来学习.第三,它的计算非常简单,这对于现实世界的应用是有效和实用的。为了有效地学习激活在此公式下,我们确定的输入边界错位问题和补偿正常的基于梯度的学习与基于统计的重新排列。我们的学习方法既有效又高效,可以为每个数据集或架构学习特定的激活函数。通过公式化和学习方法,PWLU在各种架构上明显优于Swish和其他大规模数据集上的激活函数,如ImageNet[28]和COCO[21]。不同激活函数的ImageNet数据集的总体比较 如 图 1 所 示 。 特 别 是 , 我 们 的 方 法 在 ResNet-18/ResNet-50/MobileNet-V2/MobileNet-V3/EfficientNet-B0的0.9%/0.53%/1.0%/1.7%/1.0% top-1准确度方面优于Swish。学习的激活函数在不同的架构和层中显示出不同的偏好,这证实了学习专门的激活函数的好处。总括而言,我们的贡献如下:我们提出了一种基于分段线性函数的新的激活公式,该公式灵活,易于学习和有效推理。我们识别了基于梯度的学习中的输入边界不对齐问题,并提出了一种新的学习方法,既有效又高效。通过提出的公式和学习方法,我们展示了在大规模数据集和不同架构上学习专门的激活函数的好处。2. 相关工作2.1. 固定形状激活函数作为Sigmoid和Tanh等传统激活函数的强大替代品,ReLU已被广泛应用于因其有效性和简单性而被接受。已经提出了许多变体来解决ReLU的缺点,例如死ReLU问题。一些代表性激活函数包括Leaky ReLU、PReLU、Softplus[25]、ELU、SELU等。虽然其中一些在某些情况下显示出改进,但这些改进在不同的数据集和架构中往往不一致。一个可能的原因是,所有这些手工设计的激活函数的形状都是固定的,或者只通过一个参数进行参数化。缺乏灵活性使得这些激活功能仅适用于有限的场景。2.2. 灵活的激活功能为了找到新的激活函数,[26]建议使用自动搜索技术搜索激活函数。他们设计了一个树形结构的搜索空间,使用一元和二元函数构造激活函数。RNN控制器用于在该空间中生成候选激活函数,并通过强化学习进行更新。由于这种基于样本的搜索过程是耗时的,因此他们仅在像Cifar这样的小数据集上限制每个激活函数的评估。但是,将这种搜索过程应用于每个数据集或架构仍然过于昂贵。因此,仅使用了被称为Swish的搜索激活函数,但搜索过程尚未应用于不同的数据集或架构。因此,在大多数情况下,Swish实际上是一个固定形状的激活函数。除基于样本的方法外,还有基于梯度的方法,如APL[1]和PAU[24]。这些方法使用具有许多可学习参数的公式,涵盖各种不同的激活函数。这些参数直接通过梯度进行优化,这比基于采样的搜索更有效。我们的方法具有相同的精神,但设计有很大的不同。APL使用多个类似ReLU的函数的加权和,这也导致分段线性。然而,我们的方法的制定是完全不同的,这影响了相应的梯度,学习过程和结果。PAU使用Pade '近似,它也可以覆盖广泛的激活函数。然而,公式化是复杂的,并且可能对优化引入不稳定性。APL和PAU都不考虑输入分布和参数化函数之间的对齐,这在我们的方法中被显式处理。考虑到计算效率,APL和PAU都需要比我们的方法更多的计算,限制了它们的应用。2.3. 基于上下文的激活函数前面讨论的激活函数都是标量(一对一)函数([6,12,30,32,5])。最近,已经提出了一些基于上下文的方法,其使用···12097⎧⎪⎨(x−BL)∗KL+Y⎪⎩idx(x−B)∗K+Yidx idxPND≤≤∈P∈∞P∈ −∞多对一功能。例如,Dynamic-ReLU[3]基于全局上下文生成激活函数的参数。也就是说,Dynamic-ReLU的每个输出元素依赖于所有输入元素。 Funnel-ReLU[22]的形式为y=max(x,T(x)),其中T(x)是空间条件。Funnel-ReLU也使用上下文信息,但每个输出元素仅依赖于一个逻辑对应的y轴值Y_P,其确定PWLU的形状。在[B L,B R]之外,我们使用两个斜率K L和K R来控制边界之外的区域。给定这些参数,PWLU的前向传递在等式1中示出:PWLUN(x,BL,BR,YP,KL,KR)=x的计算窗口。Dynamic-ReLU和Funnel-ReLU在某种程度上都是动态的。 Dynamic-ReLU对于不同的输入样本具有不同的函数,而Funnel-ReLU的函数对于每个单个元素都是不同的。0P(x−BR)*KR+YNPx BLx≥BRBL≤x BR(一)是的。这些动态特性增加了模型的容量,大大提高了性能。虽然我们专注于标量函数方法在本文中,增加动态机制PWLU是一个有趣的未来方向。3. 方法3.1. 分段线性单元其中,idx指示X所属的区间的索引号,而B_idx和K_idx是对应的左边界和区间值的斜率。其中d=BR−BL表示区间长度,这些值计算如下:idx=[x−BL](2)Bidx=BL+idx*d(3)Yidx+1−YidxKidx=PPD(四)图2.分段线性单元的参数我们首先定义所提出的激活函数:分段线性单元.如图2所示,PWLU由以下参数定义:• 间隔数N• 左边界BL,右边界BR• N+1个分界点YP的y轴值• 最左侧斜率KL,最右侧斜率KR区间数N是超参数,有了这个定义,PWLU有几个好的属性:作为一个通用的逼近器,PWLU可以紧密地逼近任何连续的,有界的标量函数。PWLU随其参数(除了超参数N)连续变化,这对于基于梯度的优化是友好的。大多数灵活性位于有界区域中,这可以最大限度地利用可学习的参数。由于区间的均匀划分,PWLU在计算中是有效的,特别是对于推理。我们将在第4.3节讨论这一点。3.2. 分段线性单元如前所述,PWLU的前向传递大部分是可微的,这意味着它可以通过梯度直接优化。我们在表1中导出梯度。注意,在推导中,我们将idx视为常数并省略相关梯度。对于关于YP的梯度,为了清楚起见,我们将其分成四个部分。 当x[B_idx,B_idx+ l](其中0_ idx N)时,PWLU具有关于Y idx和Yidx+1的梯度。 当P P影响PWLU的拟合能力。更大数量的区间带来更高的自由度,从而增加模型的容量。左右边界B L、B R定义了PWLU主要关注的有效区域。[B L,B R]被均匀地划分成N个区间,留下N+ 1个分界点。每个分界点都有一个x[,B L],PWLU的输出仅具有相对于Y0的梯度。 当x[B R,],PWLU的输出仅具有关于YN的梯度。如可见于定义和梯度,PWLU的计算是直接的。为了提高效率,我们在CUDA中实现了向前和向后计算。yX····12098向前收集统计信息、对于向前BDPWLU没有更新,因此保留为ReLU训练迭代正常训练,通过梯度−P−∞∞−y输入分布投入主体X一将PWLU初始化为ReLUC重置PWLU边界学习PWLU。表1.分段线性单元的梯度图3. [ B L]之间未对准的图示输入分布,B.R.]和3.3. 学习分段线性单元给定PWLU的定义和梯度,我们可以通过梯度下降直接学习PWLU的参数。在学习之前,PWLU的参数应该被适当地初始化以稳定训练。一种直接的方法是将PWLU初始化为现有的激活函数,例如ReLU。例如,如果N是偶数,我们可以将B L初始化为任何负值,并设置B R=B_L,K_L=0,K_R=1,然后设置每个Y_idx= ReLU(B_idx)。这个初始化提供了一个良好的开端,但是还有一个问题需要在训练过程中处理输入边界未对准BL、BR是PWLU的重要参数,其定义了可以学习形状的主要区域。根据PWLU的定义,自由度主要位于[BL,BR]区域内。在该区域中,有N+1个参数(YP)控制PWLU的形状,而[,BL]和[BR,]只有两个参数(KL,KR)。 直观地说,这个主要区域应与PWLU的输入分布,分布对齐,否则自由度的有效程度可以减少。考虑图1中所示的情况3. 输入分布的主要部分向左移动,其仅与[BL,BR]有一点交集。在这种情况下,输入分布之外的参数对网络的贡献很小,浪费了PWLU的灵活性并影响最终性能。人们可以我们期望梯度可以将BL、BR驱动到它们的最优值,但不幸的是,我们发现梯度也没有帮助。关于BL和BR的一致性只遵循降低任务损失的方向,这与[BL,BR]和内部之间的对齐没有直接相关为了克服这个问题,我们提出了一个基于统计的方法,以促进学习的PWLU。训练过程分为两个阶段,完整的流水线如图4所示。图4.利用基于统计的重新对准学习PWLU一期阶段I从迭代0持续到T’ 1.一、在第一阶段开始时,我们首先将所有PWLU初始化为ReLU(图4A),然后开始训练。除了标准培训外,我们还有两个改进(图4B):在每个前向过程中,我们收集每个PWLU的在每个更新过程中,我们不更新PWLU的参数以保持它们为初始化的ReLU为了收集统计数据,我们计算每个PWLU的输入x的运行平均值和运行标准差,如公式5所示。这些统计数据将用于第二阶段。把分布。 在训练过程中,这种输入边界错-对准问题将持续存在并阻碍μ= μ * 0。9+平均值(x)* 0。1σ=σ*0。9+ std(x)*0。1(五)··简体中文x BLBL≤x BRx≥BRxKLKidxKRBL−KLx−BRKidx*BR−BL0BR0BL−xKidx*BR−BL−KRKLx−BL00KR00x−BRYidxP0Bidx+1−xd0Yidx+1P0x−Bidxd0联系我们P100YNP00112099P阶段II阶段II从迭代T’持续到T。在阶段II开始时,我们首先重置每个PWLU的参数,如下所示(图4C):BL=μ−3*σ,BR=μ+3*σKL=0,KR= 1(6)Yidx= ReLU(B idx)idx ∈ {0,1,2,… N}微小的输入特征图不适合学习PWLU的参数,因此我们让这些激活与其原始实现一样不变。T’被设置为5个时期,因为它在我们的实验中工作良好。我们使用PWLU的通道设置。N被设置为16。其他激活函数我们选择三种类型的激活函数进行比较。在这里,我们采用了3-西格玛规则,这在我们的实验中工作得很好。重置后,PWLU仍然是第一阶段的ReLU形式(零点周围可能有一个微小的间隙,其影响可以忽略不计),但它们的边界与输入分布对齐。然后,我们开始正常的训练和更新参数的PWLU的梯度。总结所提出的学习方法有许多优点。首先,它是非常有效的。通过基于梯度的学习,可以以单个训练为代价,为每个数据集、架构、层甚至通道学习专门的激活函数。第二,它是有效和强大的。通过对输入边界不对齐问题的特殊处理,我们的方法充分利用了PWLU的潜力。三是实施简单。我们的方法只需要对正常的训练程序进行轻微的更改,这些更改仅限于PWLU本身,不会影响任何其他组件。我们的方法与各种技术具有很好的兼容性。4. 实验我们首先在4.1节和4.2节中展示了ImageNet和COCO的总体结果,然后在后面的章节中对PWLU的几个方面进行了消融研究。4.1. ImageNet上的实验我们首先在ImageNet分类数据集上评估我们的方法,该数据集包含128万张训练图像和5万张验证图像。所有架构都在16个Nvidia V100 GPU上训练,总批量为1024,SGD优化器的动量为0.9,以及单周期余弦学习率调度器。 ResNet-18和ResNet-50[11]的权重衰减设置为0.0001,MobileNet- V2[29]和MobileNet-V3 [13]的权重衰减设置为0.00004,EfficientNet-B 0 [31]的权重衰减设置为0.00001。我们对ResNets和MobileNets使用标准的 随 机 裁 剪 + 翻 转 增 强 , 对 EfficientNet 使 用AutoAugment,遵循其原始实现。我们为ResNets训练了100个epoch,为MobileNet-V2训练了200个epoch,为MobileNet-V3和EfficientNet-B 0训练了350个epoch。PWLU设置当将PWLU应用于架构时,我们替换所有激活层,除了那些具有微小输入特征图的激活层,例如SE块中的激活[14]。第 一 种 类 型 的 激 活 函 数 包 括 ReLU 、 PReLU 和Swish,它们具有固定(或几乎固定)的形状。它们公式简单,广泛用于不同的任务。第二类激活函数包括自适应分段线性(APL)激活和Pade ′激活单元(PAU)。我们选择它们是因为它们具有使用灵活参数公式的相同精神。对于APL,我们发现超参数S= 5的默认设置在ImageNet上不稳定。因此,我们设置S=3,这是可以成功完全训练的最佳值。对于PAU,我们遵循原始设置,其中m=5,n=4。对于第三种类型的激活函数,我们选择Funnel-ReLU,这是一个多对一函数。虽然PWLU是一个标量函数,但我们选择Funnel-ReLU作为另一行作品的代表。为了比较不同激活函数的一般性能,我们在5个广泛使用的架构上进行了实验,包括ResNet-18,ResNet-50,MobileNet-V2,MobileNet-V3和EfficientNet-B 0。它们涵盖了广泛的计算复杂性和可以应用于不同情况的参数的数量。图5.与ReLU相比,Top-1准确性的改进表2中示出了前1个准确度。我们的方法在所有实验中都优于ReLU和Swish···12100PPResNet-18ResNet-50MobileNet-V2MobileNet-V3Ef ficientNet-B0FLOPs1.8G4.1G300M56M384M#参数11.69M25.5M3.5M2.6M5.3MReLU71.3476.9072.8467.7476.45Swish71.6177.2573.6867.9377.05PReLU71.3077.0973.6967.8177.10APL71.0376.4373.8967.6877.28Pau71.8076.5874.5668.5578.08F-ReLU71.8277.4974.8568.4877.28PWLU72.5777.7874.6969.6578.22表2.ImageNet上针对不同激活函数和架构的前1名准确率对于每个体系结构,前2个结果以粗体显示为了更清楚地显示差异,我们还在图5中绘制了ReLU的top-1准确性的改进。尽管在大多数情况下这些激活函数比ReLU更好,但值得注意的是一个有趣的模式:除了PWLU之外,这些改进在不同的体系结构之间是高度不一致的。例如,Swish被声称表现良好,特别是对于移动大小的模型,但是在我们的实验中,它只适用于MobileNet-V2,而ResNet-18和MobileNet-V3的改进是微不足道的。PReLU和APL具有与Swish相似的趋势,但更不稳定。PAU和Funnel-ReLU通常比Swish表现更好,但在架构之间仍然存在很大差异。另一方面,PWLU实现了最好的结果,并在不同的架构中保持一致。4.2. COCO实验为了进一步证明我们的方法的泛化能力,我们将PWLU 应 用 于 COCO 对 象 检 测 数 据 集 。 我 们 使 用train2017分割(118k图像)进行训练,使用val2017分割(5k图像)进行测试。我们使用两种流行的检测框架:Mask R-CNN[9]和RetinaNet[20]。我们主要遵循[8]中的设置,以及最后20k次迭代。初始学习率为0.02,权重衰减为0.0001,动量为0.9。所有mod- 使用8个Nvidia V100 GPU训练E1,每个GPU具有两个图像。对于较短的边,图像比例为800像素。对于PWLU,我们使用与ImageNet中相同的设置。我们在表3中示出了具有不同激活的Mask R-CNN和RetinaNet的结果。由于Swish在1%/0.8% AP方面优于ReLU , 因 此 我 们 的 PWLU 比 Swish 进 一 步 提 高 了0.4%/0.5% AP,这与F-ReLU相当。请注意,F-ReLU利用了可能对检测任务有益的上下文信息,而PWLU不访问这些额外的信息。掩码R-CNN RetinaNetAPbboxAP掩模APbboxReLU39.0635.337.06Swish40.0536.137.82F-ReLU 40.25 36.9038.35不使用ImageNet预训练模型,而是训练模型从无到有 详细设置如下。我们使用ResNet-50加上特征金字塔网络(FPN)[19]作为Mask R-CNN和RetinaNet的主干。SyncBN用于促进从头开 始的训 练。对 于Mask R-CNN ,区 域建议 网络(RPN)[27]与Mask-RCNN联合训练。Mask R-CNN 和 Reti-naNet 都 被 训 练 了 270 k 次 迭 代(即,在最后60k中,学习率降低10倍PWLU 40.4837.13表3.COCO数据集上不同激活的结果4.3. PWLU的有效推理如3.1节所述,我们展示了如何优化PWLU在推理时的效率。 将主计算重写为x<$K idx+(Y idx−Bidx<$K idx),其中K idx和Y idx− B idx<$K idx可以预先计算。12101∗DP∗•−∗然后,主计算变成了一个单一的乘法,逐层逐通道方法加:x S idx+0 idx。等式1中的比较可以是也被淘汰了。前两个条件可以通过扩展idx合并到第三个条件中。 原始idx属于{0 , 1 , ··· , N − 1} , 现 在 我 们 通 过 idx'=clip([x−BL,−1, N)将其扩展到{− 1,0,···,N } 。 idx'=−1 对 应 于 x
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 新皇冠假日酒店互动系统的的软件测试论文.docx
- 上海空中营业厅系统的软件测试论文.doc
- 网上选课系统的设计与实现论文.doc
- 师生互动网站设计与实现 ()论文.doc
- 学生档案管理系统论文_正文.doc
- 视频会议系统的设计与实现毕业论文.docx
- 基于web的职工电子档案管理系统的设计与实现毕业论文.docx
- 考试辅导网站的设计与实现论文.doc
- 论文 云端图书馆管理系统设计与实现.docx
- 计算机等级考试网上辅导系统的设计与实现论文.doc
- 基于web烘焙坊网站的设计与实现论文.doc
- 论文_基于J2EE的高校后勤采供管理系统开发.docx
- 老龄化社区服务及其系统应用论文.doc
- 论文-java基于SSM的大学生创新创业信息系统.docx
- 猎豹安全浏览器的软件测试论文.doc
- 基于Web的网上书店系统的设计与实现毕业论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功