没有合适的资源?快使用搜索试试~ 我知道了~
117940用于视觉识别的门控通道变换0Zongxin Yang 1 , 2 , Linchao Zhu 2 , Yu Wu 1 , 2 , and Yi Yang 2 �01 百度研究 2 悉尼科技大学ReLER0{ zongxin.yang,yu.wu-3 } @student.uts.edu.au, { linchao.zhu,yi.yang } @uts.edu.au0摘要0在这项工作中,我们提出了一种通用的用于深度卷积神经网络的视觉识别转换单元。该转换单元通过可解释的控制变量明确地建模通道之间的关系。这些变量确定神经元的竞争或合作行为,并与卷积权重一起进行联合优化,以实现更准确的识别。在Squeeze-and-Excitation(SE)网络中,通道关系通过全连接层隐式学习,并且SE块被集成在块级别上。我们引入了一个通道归一化层来减少参数数量和计算复杂度。这个轻量级的层包含一个简单的ℓ2归一化,使得我们的转换单元适用于操作级别,而不会增加太多额外的参数。大量实验证明了我们的单元在许多视觉任务上的有效性,例如在ImageNet上的图像分类,COCO上的目标检测和实例分割,以及Kinetics上的视频分类。01. 引言0卷积神经网络(CNN)在视觉识别任务中已经被证明是关键和稳健的,例如图像分类[18],检测[32]和分割[32]。值得注意的是,单个卷积层仅在特征图的每个空间位置的相邻局部上下文上操作,这可能导致局部的不确定性[35]。为了缓解这个问题,VGGNets[31]提出了构建深度CNN的方法,使用一系列具有非线性激活函数和下采样操作符的卷积层来覆盖大范围的上下文。此外,[13]引入了残差连接来进一步帮助CNN从更深的架构中受益。除了改善CNN的深度之外,另一类方法的分支专注于通过直接操作上下文来增强卷积层。0*本工作是在百度研究部门实习期间完成的。Zongxin Yang和YuWu为第一作者。Yi Yang为通讯作者。0C0H0W0输入特征0GCT0C0H0W0输出特征0C0H0W0或0方差 方差0竞争 合作0图1:GCT行为的示意图。通过结合归一化方法和门控机制,GCT可以创建竞争(增加通道激活的方差)和合作(减少通道激活的方差)的通道关系。0在大邻域上。Squeeze-and-ExcitationNetworks(SE-Nets)[17]利用全局嵌入信息来建模通道关系,并在通道级别上调节特征图。此外,其后续方法GE-Nets[16]使用了大邻域嵌入。这些模块可以方便地组装到现代网络中,例如ResNets [13]和Inception[33]网络,以提高网络的表示能力。然而,SE模块使用两个全连接(FC)层来处理通道级嵌入,这导致了两个问题。首先,CNN中应用SE模块的数量是有限的。在[17]中,SE模块应用于块级别,即每个Res-block[13]或Inception-block[34]使用一个SE模块。为了进一步节省计算成本,FC层的维度被降低。然而,设计的FC层仍然阻碍了在所有层上广泛部署SE模块。其次,由于FC(或GE中的卷积层)中参数的复杂性,很难分析不同层之间通道之间的相互作用。由卷积和FC操作学习到的通道关系在本质上是隐式的[17],导致不确定的行为。117950神经元的输出。在本文中,我们提出了一种用于高效准确的上下文信息建模的门控通道转换(GCT)。首先,我们使用一个归一化组件来建模通道关系,而不是使用全连接(FC)。归一化方法,例如局部响应归一化(LRN)[23],可以在神经网络中的不同神经元(或通道)之间产生竞争。批量归一化[19]及其变种可以平滑梯度,并被广泛用于加速CNN的训练过程。我们利用简单的ℓ2归一化来建模通道关系,与FC层相比,更稳定且计算效率更高。其次,我们根据归一化组件精心设计了可训练的GCT架构,并引入了一些通道参数来控制特征通道的门控适应行为。与FC中的大量参数相比,我们设计的参数更加轻量级。此外,通道权重参数的门控方便进行通道关系分析,并有助于理解GCT模块在整个CNN网络中的影响。与SE类似,我们的GCT采用门控机制来适应通道关系。然而,SE的Sigmoid激活在训练中容易导致梯度消失,当Sigmoid值接近0或1时。为了解决这个问题,我们通过使用1+tanh(x)门激活将残差连接[13]引入到门控适应中,这使得GCT具有建模恒等映射的能力,并使训练过程更加稳定。结合归一化方法和门控机制,GCT可以创建竞争和合作的通道关系,如图1所示。根据我们的可视化分析(第4.4节),GCT倾向于在较浅的层次中鼓励合作,但在较深的层次中增强竞争。一般来说,浅层学习低级属性以捕捉纹理等一般特征。在更深的层次中,高级特征更具有区分性和任务相关性。我们的实验证明,GCT是一种简单有效的架构,用于建模通道之间的关系。它显著提高了深度卷积网络在视觉识别任务和数据集上的泛化能力。02. 相关工作0门控和注意机制。门控机制已经成功地应用于一些递归神经网络结构中。长短期记忆(LSTM)[15]引入了输入门、输出门和遗忘门,用于调节信息进出模块的流动。基于门控机制,一些注意方法专注于将计算资源集中于最具信息量的组件上。0特征的注意机制[24,27]。注意机制在许多任务中取得了显著的改进,包括序列学习[4]、唇语识别[7]、图像字幕生成[42]、图像中的定位和理解[20,5]。最近的研究将注意机制引入卷积网络中(例如[10,9])。将门控机制与卷积网络相结合的非递归方法在语言任务中取得了良好的性能,而在以前的研究中,语言任务一直是基于递归网络进行的。在这些研究的基础上,SE-Nets[17]及其后续工作GE-Nets[16]引入了一种轻量级的门控机制,专注于通过建模通道间的关系来增强卷积网络的表示能力。与SE模块相比,我们的GCT也关注跨通道关系,但在计算和参数方面可以取得更好的性能提升。归一化层。近年来,归一化层在深度网络中被广泛使用,以在神经元之间产生竞争[23]并产生更平滑的优化曲面[19]。局部响应归一化(LRN)[23]在每个像素的通道中计算小邻域内的统计信息。批量归一化(BN)[19]利用批次维度上的全局空间信息,并建议在所有层上部署。层归一化(LN)[3]沿通道维度计算,而不是批次维度。组归一化(GN)[40]将通道分成组,并在每个组内计算归一化的均值和方差。与LRN、GN和LN类似,我们的GCT也利用归一化结构来利用与通道相关的信息。深层架构。VGGNets[31]和Inception网络[33]证明了通过增加网络的深度来改善表示质量的重要性。ResNets[13]利用快捷连接和基于身份的跳跃连接,证明了使用它们构建更深更强大的网络的高效性。其他研究人员则专注于改善网络中包含的计算元素的表示能力[34]。可以使用多分支卷积或池化层构建计算元素内更多样化的运算符组合。除此之外,分组卷积已被证明是增加学习变换的基数的实用方法[41]。基于CNN在图像任务中的成功,引入了用于视频分类任务的3D卷积[21,36](C3D)。除了C3D,非局部神经网络[39](NL-Nets)设计了一种用于捕捉长程非局部依赖关系的非局部操作,显著提高了视频分类的准确性。我们的GCT是基于这些深层架构构建的。 ̂×̂1 × 1 × 1×β+i=1117960全局上下文嵌入0xC × H ×W0C × 1 × 10^x0C × 1 × 1 γ0C × 1 × 1 C × 1 × 1 C × 1 × 10C × 1 × 10通道归一化0C × H × W0ℓ2范数 -0ℓ2范数/C -0图2:门控通道转换(Gated Channel Transformation,GCT)结构概述。嵌入权重 α负责控制通道归一化之前每个通道的权重。门控权重和偏置 γ 和 β 负责逐通道地调整输入特征 x 的尺度。0所有使用GCT的网络都取得了令人满意的性能提升,但计算复杂度的增长可以忽略不计。03. 门控通道转换0我们提出了一种用于高效、逐通道的上下文信息建模的门控通道转换方法(Gated ChannelTransformation,GCT)。GCT采用一种归一化方法在通道之间创建竞争或合作关系。值得注意的是,归一化操作是无参数的。为了使GCT可学习,我们设计了一个全局上下文嵌入算子,它在归一化之前嵌入全局上下文并控制每个通道的权重,以及一个门控适应算子,它根据归一化的输出逐通道地调整输入特征。逐通道可训练的参数既轻量又有效,使得GCT方便广泛部署,同时占用少量参数。此外,门控适应算子的参数易于直观地可视化,以解释GCT的行为。总之,我们根据归一化操作精心设计了高度轻量、可解释但有效的GCT架构,用于建模通道之间的关系。设 x ∈ RC×H×W是卷积网络中的激活特征,其中 H 和 W是空间高度和宽度,C是通道数。一般来说,GCT执行以下转换:0ˆx = F(x | α, γ, β), α, γ, β ∈ RC. (1)0这里 α , γ 和 β 是可训练参数。嵌入权重 α负责调整嵌入输出。门控权重 γ 和偏置 β控制门的激活。它们决定了每个通道中 GCT的行为。值得注意的是,GCT 的参数复杂度为 O(C) ,0这比SE模块(O(C2))[17]更小。在SE-Net中,使用了两个全连接层,其参数复杂度为O(C2)。图2展示了GCT的结构示意图。设 x = [x1, x2, ..., xC],xc = [xi,jc]H×W ∈RH×W,c ∈ {1, 2, ..., C},其中 xc 对应于 x的每个通道。详细的转换包括以下几个部分。03.1. 全局上下文嵌入0具有大感受野的信息有助于避免由小感受野(例如卷积层)引起的局部模糊[35,16]。因此,我们首先设计了一个全局上下文嵌入模块,用于在每个通道中聚合全局上下文信息。该模块可以利用卷积层小感受野之外的全局上下文信息。给定嵌入权重 α = [α1,..., αC],该模块定义为:0sc = αc || xc || 2 = αc {[0H×0j =1 ( xi,j ci ) 2 ] + ε }12, (2)0其中�是一个小常数,用于避免在零点处的导数问题。与SE不同,GCT不使用全局平均池化(GAP)来聚合通道上下文。GAP在某些极端情况下可能会失败。例如,如果SE在流行的风格转换任务中常用的实例归一化[37]层之后部署,GAP的输出将对任何输入保持恒定,因为IN固定了特征的每个通道的均值。为了避免这个问题,我们选择了ℓp范数。值得注意的是,GCT对不同的ℓp范数具有鲁棒性。在第4.5节中,我们比较了一些流行的ℓp范数的性能,并选择了最好的一个,即ℓ2范数,作为我们的默认设置。值得注意的是,ℓ1范数的性能与ℓ2范数非常接近,但是当GCT的输入为非负时,ℓ1范数可以等效地替换为GAP。ˆsc =√Csc||s||2=√Csc[(C�c=1s2c) + ǫ]12,(3)return x * gateˆx = F(x|α, 0, 0) = 1x = x.(5)117970在这种情况下,ℓ1范数在计算上更高效,如表3所示。此外,我们使用可训练参数αc来控制每个通道的权重,因为不同的通道应具有不同的重要性。特别是如果αc接近0,则通道c将不参与通道归一化。换句话说,门控权重α使得GCT能够学习到一个通道与其他通道不同的情况。03.2. 通道归一化0归一化方法可以在轻量级计算资源和稳定的训练性能(例如[19])下创建神经元(或通道)之间的竞争关系。与LRN类似,我们使用ℓ2归一化来跨通道操作,即通道归一化。设s=[s1,...,sC],通道归一化的公式为:0当C用于归一化ˆsc的尺度时,可以避免C较大时ˆsc尺度过小的问题。与SE使用的FC层相比,我们的通道归一化在计算复杂度上更低(O(C)),而FC层的计算复杂度为O(C^2)。03.3. 门控适应0我们采用一种门控机制,即门控适应,来适应原始特征。通过引入门控机制,我们的GCT可以在训练过程中促进竞争和合作。设门控权重γ=[γ1,...,γC]和门控偏置β=[β1,...,βC],我们设计了以下门控函数:0ˆ x c = x c [1 + tanh(γcˆsc + βc)] . (4)0每个原始通道xc的尺度将由其对应的门控适应,即1 +tanh(γcˆsc +βc)。由于通道归一化是无参数的,我们设计了可训练的权重和偏置γ和β,用于学习以控制门控通道的激活。LRN仅从神经元之间的竞争中获益[23]。然而,GCT能够通过结合归一化方法和门控机制来模拟更多类型的通道之间的关系(即竞争和合作)。当一个通道的门控权重(γc)被正激活时,GCT促使该通道与其他通道竞争,就像LRN一样。当门控权重被负激活时,GCT鼓励通道与其他通道合作。我们在第4.4节进一步分析这些自适应通道关系。0def forward(self, x, epsilon=1e-5):0# x: 输入特征,形状为[N,C,H,W] # alpha, gamma, beta:嵌入权重,门控权重,门控偏置,形状为[1,C,1,1]0embedding = (x.pow(2).sum((2,3), keepdim=True) +epsilon).pow(0.5) * self.alpha norm = self.gamma /(embedding.pow(2).mean(dim=1, keepdim=True) +epsilon).pow(0.5) gate = 1. + torch.tanh(embedding * norm +self.beta)0图3:基于PyTorch的GCT(ℓ2)的实现0此外,当门控权重和偏置为零时,该门函数允许原始特征传递到下一层,这是0模拟恒等映射的能力可以有效提高深度网络中的降级问题的鲁棒性。ResNet也从这个思想中受益。因此,我们建议在GCT层的初始化中将γ和β初始化为0。通过这样做,训练过程的初始步骤将更加稳定,GCT的最终性能将更好。03.4. 学习0与现代标准化层(例如BN)类似,我们建议在深度网络的所有卷积层中应用GCT。然而,在一个卷积层附近有许多不同的点可以使用GCT。在深度网络中,每个卷积层总是与一个标准化层(例如BN)和一个激活层(例如ReLU[28])一起工作。因此,有三个可能的点可以部署GCT层,即在卷积层之前,在标准化层之前和在标准化层之后。所有这些方法都是有效的,但我们发现在卷积层之前使用GCT更好。在第4.5节中,我们比较了这三种应用方法的性能。我们在一些流行的深度学习框架上实现和评估了我们的GCT模块,包括PaddlePaddle [1],TensorFlow [2]和PyTorch[29],并且我们观察到引入GCT后有类似的改进。图3展示了基于PyTorch的简单实现。在训练过程中,我们建议使用1来初始化α,并使用0来初始化所有的γ和β。通过这样做,GCT将被初始化为一个恒等映射模块,这将使训练过程更加稳定。此外,为了避免初始训练步骤中不稳定梯度对GCT门的不良影响,我们建议使用预热方法(以较小的学习率开始训练)。在所有的实验中0102030405060708090epochs1520253035404550top-1 error(%)ResNet-50 valResNet-50 trainResNet-50+GCT valResNet-50+GCT train(a) ResNet-500102030405060708090epochs1520253035404550top-1 error(%)ResNet-101 valResNet-101 trainResNet-101+GCT valResNet-101+GCT train(b) ResNet-1010102030405060708090epochs1520253035404550top-1 error(%)ResNet-152 valResNet-152 trainResNet-152+GCT valResNet-152+GCT train(c) ResNet-1524.1. ImageNet117980图4:ImageNet上不同深度的ResNet的训练曲线比较。0原始GCT0网络 top-1 top-5 top-1 top-50VGG-16 [31] 26.2 8.3 25.1 (1.1) 7.5 (0.8)0Inception-v3 [34] 24.3 7.3 23.7 (0.6) 7.1 (0.2)0ResNeXt-50 [41] 22.4 6.3 21.7 (0.7) 6.0 (0.3)0ResNet-50 [13] 23.8 7.0 22.7 (1.1) 6.3 (0.7)0ResNet-101 [13] 22.2 6.2 21.4 (0.8) 5.9 (0.3)0ResNet-152 [13] 21.6 5.9 20.8 (0.8) 5.5 (0.4)0ResNet-200 � [14] 20.7 5.2 19.7 (1.0) 4.8 (0.4)0表1:在ImageNet上的错误率改进(%)。括号中的数字表示相对于基准模型的改进。ResNet-200�表示我们按照[14]的策略在224×224上训练该模型,但在320×320上进行评估。0在ImageNet上的训练中,我们从0.01的学习率开始训练1个epoch。预热后,我们回到原始的学习率计划。最后,我们建议不要对β参数应用权重衰减,这可能会降低GCT的性能。04. 实验0我们在深度网络的所有卷积层中应用GCT,而不是像SE-Net中那样进行块级部署。在所有的GCT对应模型中,我们在每个卷积层之前都使用一个GCT层。在Kinetics实验中,我们在每个Res-Block中的最后两个卷积层中应用GCT。更多的训练细节请参见第3.4节。0我们在ImageNet2012数据集[30]上进行实验,该数据集有1,000个类别。我们在1.28M个训练图像上训练所有模型,并在50,000个验证图像上进行评估。训练细节:在所有模型的训练过程中,输入图像是从重新调整大小的图像中随机裁剪的224×224。我们使用小批量大小为256的SGD。对于ResNet-152和0对于ResNeXt-50,我们使用一半的小批量大小并将训练步骤加倍。权重衰减为0.0001,动量为0.9。基础学习率为0.1,每30个epoch将其除以10。所有模型都从头开始训练100个epoch,使用[12]中描述的权重初始化策略。此外,我们在前1个epoch中使用学习率为0.01的训练过程。热身后,我们回到原始的学习率计划。在所有比较中,我们评估的错误是从较短边为256的图像的单个224×224中心裁剪得出的。对于ResNet-200[14],我们按照[14]的方法在320×320上进行评估。与现代深度架构的整合。我们研究了将GCT层与一些最先进的骨干架构(如ResNets和ResNeXts[41])整合的效果,在这些架构中,我们在所有的卷积层之前应用GCT。我们在表1中报告了所有这些结果。与原始架构相比,我们观察到通过引入GCT到网络中可以获得显著的性能改进。特别地,GCT-ResNet-101的top-1错误率为21.4%,甚至优于更深的ResNet-152基线(21.6%)和更多参数。此外,GCT能够在不同深度的ResNets中带来稳定的改进(ResNet-50中的top-1改进为1.1%,ResNet-152中为0.8%,ResNet-200中为1.0%)。此外,我们观察到在整个训练计划中都有平稳的改进,如图4所示。我们还探索了在非残差网络(如VGG-16 [31]和Inception-v3[34])中使用GCT的改进。为了稳定训练过程,我们在每个卷积层之后使用BN[19]层。与残差架构中的有效性类似,GCT层在非残差结构中也带来了有希望的改进。与SE相比。根据[16],我们在ImageNet上进行实验,比较了SE和GCT。此外,我们在残差和非残差网络中进行了公平的比较,结果报告在表2中。我们按照[17]中的方法将SE集成到VGG-16 [31]、Inception[34]、ResNet-50 [13]和ResNeXt-50[41]中,并在相同的训练计划中训练这些模型。与117990原始+SE [17] +GCT (我们的)0网络top-1/5 G/P top-1/5 G/P top-1/5 G/P0ResNet-50 [13] 23.8/7.0 3.879/25.61 22.9/6.6 3.893�/28.14 22.7/6.3 3.900/25.680ResNeXt-50 [41] 22.4/6.3 3.795/25.10 22.0/6.1 3.809�/27.63 21.7/6.0 3.821/25.190Inception-v3 [34] 24.3/7.3 2.847/23.87 24.0/7.2 2.851�/25.53 23.7/7.1 2.862/23.990VGG-16 [31] 26.2/8.3 15.497/138.37 25.2/7.7 15.525/138.60 25.1/7.5 15.516/138.380表2:与SE在ImageNet上的比较。我们评估了错误性能(%)、GFLOPs(G)和参数(M)的模型。G/P表示GFLOPs/参数。�:在前三个网络中,SE仅应用于块级别(Res-Block或Inception-Block),如[17]所提出的,但GCT应用于所有的卷积层。这种差异使得SE使用与GCT相当的GFLOPs。然而,在VGG-16中,SE被应用于所有的卷积层,这与GCT的设置相同。在相同的设置下,GCT在复杂度和性能上都优于SE。0ResNet-50 [31] 603 525� 484 4250VGG-16 [13] 313 183 281 2680表3:推理速度(FPS)比较。我们使用一块GTX 1080 TiGPU在ImageNet上进行速度比较。GCT始终应用于所有的卷积层。�:在ResNet-50中,SE被应用于每个Res-Block,如所提出的。但是,在VGG-16中,SE被应用于所有的卷积层,这导致与GCT相同设置下更好的公平性。0SE,GCT始终取得更好的改进。为了比较计算复杂度,我们计算了GFLOPs和参数的数量。在VGG-16实验中,SE被应用于所有的卷积层,这与GCT相同。在这种公平的条件下,GCT在GFLOPs(0.019 G vs. 0.028 G)和参数(0.01 Mvs. 0.23M)方面都取得了更好的性能提升,而增加的量都较少。此外,如表3所示,GCT在运行时比SE更高效(281 FPS vs.183)。在其他实验中,SE被应用于块级别(Res-Block或Inception-Block),这意味着SE模块的数量只有GCT的1/3左右。然而,与SE相比,GCT的参数增加仍然要小得多,并且GCT的推理速度与SE相当(在ResNet-50中,GCT为484FPS,SE为525)。与SE相比,GCT表现更好,并且能够应用于所有的卷积层,同时保持网络的高效性。04.2. COCO0接下来,我们在COCO数据集[26]上评估泛化能力。我们在COCO train2017数据集上训练模型,并在COCOeval2017数据集(也称为minival)上进行评估。训练细节。我们在MaskR-CNN基线[11]及其GN对应物[40]上进行实验。所有的骨干模型都是在ImageNet上使用[33]中的尺度和长宽比增强进行预训练,并在COCO上进行微调,批量大小为16(每个GPU2张图片)。此外,所有这些实验都使用了特征金字塔网络(FPN)[25]。我们还使用了[40]中使用的相同超参数和两个训练计划。短计划包括90K次迭代,在第60K次和第80K次迭代时学习率除以10。长计划将迭代次数增加到270K,在其中学习率除以0骨干网络盒子头盒子AP掩膜AP0ResNet-50 BN � - 37.8 34.20ResNet-50 BN � +SE [6] - 38.2 (0.4) 34.7 (0.5)0ResNet-50 BN � + GCT - 39.8 (2.0) 36.0 (1.8)0ResNet-101 BN � - 40.1 36.10ResNet-101 BN � + GCT - 42.0 (1.9) 37.7 (1.6)0+ ResNet-50 BN � - 38.6 34.50+ ResNet-50 GN GN 40.8 (2.2) 36.1 (1.6)0+ ResNet-50 BN � + GCT GN 41.6 (3.0) 37.1 (2.6)0+ ResNet-50 BN � + GCT GN+ GCT 41.8 (3.2) 37.3 (2.8)0+ ResNet-101 BN � - 40.9 36.40+ ResNet-101 GN GN 42.3 (1.4) 37.2 (0.8)0+ ResNet-101 BN � + GCT GN 43.1 (2.2) 38.3 (1.9)0表4:在Mask R-CNN框架[11]上改进的COCO结果。BN�表示BN被冻结。+表示将训练迭代次数从90K增加到270K。使用GN时,我们遵循[40]中的原始策略。010在210K和250K时,基础学习率都为0.02。Mask R-CNN[11]上的改进。表4显示了BN �(冻结的BN)、GN和BN �+GCT(在骨干网络的所有卷积层之前使用GCT)的比较。首先,我们使用短训练计划来比较基线和GCT对应物。GCT在ResNet-50和ResNet-101中都显示出稳定且显著的改进。在ResNet-50中,GCT将盒子AP提高了2.0,掩膜AP提高了1.8,这明显优于SE(0.4盒子AP/0.5掩膜AP)。此外,在ResNet-101中,GCT还将检测AP提高了1.9,分割AP提高了1.6。然后,我们使用长训练计划来比较GN和BN �+GCT。当批量大小较小时,GN比BN更有效,如stage 2stage 3stage 4stage 5stage 2stage 3stage 4stage 5To analyze the behavior of GCT in different layers, wevisualize the distribution of the gating weight (γ) of eachGCT layer in ResNet-50 on ImageNet. Further, we sortthese distributions according to their layer index in 3Dspace (Fig. 5a). The bigger layer index means it is closerto the network output. To make the visualization clearer,we re-scale the vertical z axis with log(1 + z), which cor-responds to the percentage density of γ. We also calculatethe mean and standard deviation (std) of γ in each layer andshow them in a bar chart (Fig. 5b). As shown in Fig. 5aand 5b, the mean of γ tends to be less than 0 in the GCTlayers far from the network output. Oppositely, in the lay-ers close to the output, the mean tends to be greater than0.According to Eq. 3 & 4, the adaptation of channel xc isrelated to ˆsc, which corresponds to the ratio of the weightedℓ2-norm of xc (i.e., sc) and the average of all the sc. Whenthe gating weight γc is greater than 0, the adaptation is pos-itively correlated to ˆsc and increases the variance betweenxc and others; When γc is lower than 0, the adaptation isnegatively correlated and reduces the variance.Based on the analysis and the results we observe, we sup-pose that GCT tends to reduce the difference among chan-nels in layers far away from the output. This behavior ishelpful to encourage cooperation among channels and re-lieve overfitting. Apart from this, GCT tends to increase thedifference among channels when close to the output. Here,GCT acts like attention mechanisms that focus on creatingcompetition.To further validate our hypothesis, we calculate the ra-tio of the variance of output and input feature of each GCTlayer, which we show in Fig. 5c. Generally, the shallow con-118000(a) γ的分布0(b) γ的均值(标准差)0(c) 输出和输入方差的比率0图5:分析。在ImageNet上的ResNet-50中的所有GCT层中,γ的参数可视化(图(a),(b)),以及GCT输出和输入特征方差的比率(图(c))。0骨干网络NL-Net [39] +GCT0ResNet-50 74.6 75.1 (0.5)0ResNet-101 75.7 76.2 (0.5)0表5:在Kinetics上超越最先进方法的top-1准确率改进(%)。0在使用MaskR-CNN进行检测和分割的情况下,我们将GCT与BN一起部署到骨干网络中,这些BN �+GCT对应物比GN骨干网络表现更好。与ResNet-101中的GN相比,BN �+GCT将检测AP提高了0.8,分割AP提高了1.1。特别是,在短训练计划中训练的BN �+GCT的ResNet-101的分割AP(37.7)优于长训练计划中训练的GN对应物(37.2)。这个GN对应物还在骨干网络、盒子头和FPN中使用了GN。我们还尝试将GCT与GN结合起来,通过将GCT引入GN盒子头中。结果表明,GN+GCT的性能更好。这证明了将GCT与GN集成的好处。我们已经展示了GCT在与BN和GN一起使用时的有效性。04.3. Kinetics。0我们之前的实验证明了GCT在与图像相关的任务中的有效性。现在我们在大规模数据集Kinetics-400[22]上评估GCT在视频理解任务中的泛化能力,该任务是动作识别。我们使用ResNet-50(3D)和ResNet-101(3D)作为骨干网络,并在每个Res-Block的最后两个卷积层中应用GCT。骨干网络在ImageNet[30]上进行了预训练。我们与最先进的非局部网络(NL-Net)[39]进行比较。结果表明,与ResNet-50和ResNet-101基准模型相比,GCT在识别准确性上都有显著提升,如表5所示。由于我们的内存资源有限,我们无法在所有卷积层中应用GCT,但我们相信这样做可以进一步提高性能。总之,广泛的实验证明了GCT在现代架构、视觉任务和数据集上的有效性。04.4. 分析。118010规范化 top-1 top-5。0(a)嵌入操作符。0规范化 top-1 top-5。0M&V的准确率为23.7%,top-5准确率为7.1%。0ℓ1的准确率为22.9%,top-5准确率为6.4%。0ℓ2的准确率为22.7%,top-5准确率为6.3%。0(b)规范化操作符。0自适应 top-1 top-5。0(c)自适应操作符。0位置 top-1 top-5。0(d)应用位置。0表6:消融实验。我们在ImageNet上评估了GCT-ResNet-50的错误性能(%)。ResNet-50基准模型的top-1准确率为23.8%,top-5准确率为7.0%。M&V表示均值和方差归一化。0卷积层学习低级属性以捕捉纹理、边缘和角点等一般特征。在这里,GCT减小特征方差以避免丢失某些属性。此外,特征方差在深层卷积层中变得更大,其中高级特征更具辨别性和任务相关性。正如预期的那样,在靠近网络输出的层中,GCT倾向于放大输入特征的方差(比率始终大于1),但在远离输出的层中,GCT倾向于减小方差(比率始终小于1)。这种现象与我们之前的假设一致,并显示出GCT在在通道之间创建竞争和合作方面的有效性。我们的观察验证了GCT能够自适应地学习不同层次的通道关系。如图所示,对于远离网络输出的阶段,所提出的GCT层倾向于减小输入特征的方差,这有助于通道之间的合作并避免过高的激活值或丢失有用的特征。相反,对于靠近输出的阶段,GCT倾向于放大方差。这些现象与SE及其后续工作[38]中的观察一致,即在较浅的层中共享注意权重,但在较深的层中更具辨别性。04.5.消融研究0在本节中,我们进行了一系列的消融实验,以解释GCT中每个运算符的相对重要性。最后,我们展示了网络中GCT位置与性能的变化。嵌入组件。为了解释嵌入模块中ℓp范数的重要性,我们比较了具有不同ℓp范数的嵌入算子。我们在表6a中报告了结果,显示所有的ℓp范数都是有效的,但ℓ2范数略优于ℓ1范数。此外,我们比较了具有不同嵌入组件的SE和GCT的计算时间。如表3所示,ℓ2范数在计算上与ℓ1范数相似,而GCT比SE更高效。结果表明,ℓp范数是稳健的,并且表现更好。归一化组件。我们还通过比较ℓp归一化和均值方差归一化来探索通道归一化中ℓp范数的重要性。均值和方差归一化将均值归一化为0,方差归一化为1,这在归一化层中被广泛使用。我们在表6b中展示了所有这些结果。特别地,均值和方差归一化的top-1错误率为23.7%,仅略优于ResNet-50基线(23.8%)。ℓ1和ℓ2归一化取得了更有希望的改进,其中ℓ2略优。ℓp归一化在通道归一化中的表示学习方面表现更好。调整组件。我们将门控适应性的激活函数替换为几种不同的非线性激活函数,并在表6c中展示了结果。与基线(top-1为23.8%)相比,所有非线性适应算子都取得了有希望的性能,其中1+tanh取得了稍微更好的改进。1+tanh和1+ELU[8]都采用了残差连接并可以建模身份映射,比Sigmoid取得了更好的结果。这些结果表明,残差连接对于门控适应性很重要。应用位置。为了找到部署GCT层的最佳方法,我们在ImageNet上的ResNet-50架构上进行了实验,分别在所有BN层之后、所有BN层之前和所有卷积层之前应用GCT。结果报告在表6d中。所有的放置方法都能有效地利用GCT来提高网络的表示能力。然而,最好在所有卷积层之前应用GCT,这与[23
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功