阿里巴巴授权发布
机器之心编辑部
卷积神经网络在视觉任务上已经取得了非常出色的表现,但在应用于移动设备时往往会出现性能或准确度下降的情况。为了能更好地在计算能力有限的设备上使用神经网络,AI 研究者正在不断提出新的思路和方法。近日,中山大学(一作,现加入阿里巴巴)、广东省信息安全技术重点实验室、微软研究院、合肥工业大学和中佛罗里达大学的研究者提出了一种构建模块 IGCV2,推动了这一研究方向的进一步发展。
论文地址:https://arxiv.org/pdf/1804.06202.pdf
摘要:本论文研究设计高效卷积神经网络架构的问题,旨在消除卷积核的冗余性。除了结构稀疏卷积核、低秩卷积核和低秩卷积核的乘积之外,结构稀疏卷积核的乘积最近吸引了不少关注,例如 IGC-V1 和 Xception。本研究的出发点基于以下观察结果:IGC-V1 和 Xception 的其中一个分组卷积层可以进一步被分解为多个结构稀疏卷积核的乘积。因此,我们提出 IGC-V2 这个卷积模块(交替结构稀疏的卷积模块)。IGC-V2 是 IGC-V1 的一个推广和泛化,IGC-V1 是两个结构稀疏的卷积核矩阵的乘积,而 IGC-V2 推广为多个结构稀疏的卷积核矩阵的乘积,进一步消除冗余性。本论文引出互补和平衡条件来引导网络结构的设计,使得模型在模型大小、计算复杂度和分类准确率这三者之间取得更好的平衡。实验结果表明,IGC-V2 比 Xception 和 IGC-V1 具有更优的性能。
1 引言
图 1:交替结构稀疏的卷积结构。(图中的实线箭头)是分块稀疏矩阵,对应于分组卷积。P_1和P_2是重排序矩阵(图中的虚线箭头)。所产生的复合卷积核满足互补条件, 这个互补条件保证了W是稠密矩阵,相应于图中有且仅有一条路径连接了每个输入通道和每个输出通道。
设计具有较小的模型大小、低计算量、准确率等特点的深度卷积神经网络已经成为一个迫切的需求。特别是应用在移动手机设备上。相关的研究工作包括:(1)网络压缩。通过分解卷积核矩阵或者去掉不必要的连接和通道来压缩已训练好的深度模型,以消除模型存在的冗余性;(2)神经网络架构的设计。设计更小的卷积核,设计稀疏的卷积核,或者用冗余性更少的几个卷积核矩阵的乘积来逼近单个非稀疏的卷积核矩阵,并从初始化状态开始训练深度模型。
本论文的研究集中于网络架构的设计,使用冗余性更少的几个卷积核矩阵的乘积来构建一个非稀疏的卷积核矩阵。这方面的研究主要有两个方向:几个低秩矩阵的乘积来逼近一个高秩的卷积核,例如,bottleneck 模块;两个结构稀疏矩阵的乘积逼近一个非稀疏的卷积核矩阵,这个方向的研究在近些年有不少研究工作,例如 IGC-V1 和 Xception,我们的研究主要聚焦于这个方向。本论文中,我们设计 IGC-V2 模块(交替结构稀疏的卷积模块),用几个结构稀疏矩阵的乘积逼近一个非稀疏的卷积核矩阵,实验显示,我们的模块在更小的模型大小、更小的计算复杂度下,比 IGC-V1 和 Xception 的性能更高。
本论文的主要贡献总结如下:
设计交替结构稀疏的卷积模块(IGC-V2),在 IGC-V1 和 Xception 的基础上进一步消除深度卷积网络的参数冗余。
引入互补条件、平衡条件来指导设计深度卷积网络的
通过大量实验表明,IGC-V2 比 IGC-V1 和 Xception 在 CIFAR 和 Tiny ImageNet 上的性能更优。
3 我们的方法
为了描述清晰,首先规范化卷积的公式表示。卷积神经网络中的一个卷积层的操作依赖于在每个位置上的一个矩阵-向量间的相乘操作:,其中输入信号x对应于输入通道上在某个位置上的一个块(patch),它是一个维的向量,其中S是卷积核的大小(例如S=3×3),而是输入通道的个数。输出信号y是一个维的向量,其中是输出通道的个数。由个卷积核构成,每一行代表一个卷积核。为了表示清晰,我们假设,但所有的公式都可以推广到这种情况。
3.1 回顾 IGC-V1、Xception 和 Deep Roots
最近发展起来的神经网络架构设计算法:Xception、deep-roots 和 IGC,它们通过两个结构稀疏的矩阵相乘来构建一个稠密的卷积矩阵w:
其中和都是或者至少有一个矩阵是分块稀疏,而是一个重排序矩阵,用于对每个通道进行重新排序,使得是一个稠密矩阵。
IGC 模块包含第一分组卷积和第二分组卷积。相应的卷积核矩阵为和,都是分块稀疏矩阵,, 其中是第g个分支的卷积核矩阵,是第i个分组卷积的分支的个数。Xception 模块包一个面向通道(channel-wise)的卷积网络层和一个1×1 的卷积网络层,分别相应于和。deep-roots 中,是一个大小为的稠密矩阵,对应于一个 1 × 1 的卷积;而 是一个稀疏分块矩阵, 对应于一个分组卷积。
根据上面的分析,IGC、Xceptio 和 deep-roots 中的和中的其中一个仍然是稠密矩阵,可以继续被分解为多个结构稀疏的矩阵相乘。
3.2 3D 基于交替结构稀疏的卷积模块
交替结构稀疏的卷积。受到前面讨论的启发,本工作设计了一个构建单元模块,交替结构稀疏卷积,如图 1 所示. 这个模块可以数学公式化为多个结构性稀疏的卷积核的乘积,每个卷积核对应于一个分组卷积:
互补条件。交替结构稀疏的卷积的主要思想是用多个分块稀疏的矩阵相乘来构建一个新的卷积核,即由的相乘来构建一个新的卷积核w。引入重排序矩阵的目的是使用尽可能少的分块稀疏矩阵, 使得构建出来的卷积核矩阵是稠密矩阵。因此我们引入以下互补条件来保证w是稠密矩阵:
条件 1(互补条件):对应于一个分组卷积,而也对应于一个分组卷积。假如一个分组卷积的同一个分支中的通道分别在另一个分组卷积的不同分支中,那么这两个分组卷积被认为是互补的。
平衡条件。为了使用尽可能少的参少量,使得构建出来的卷积核矩阵w是稠密矩阵,的每个分支的通道数需要满足一个平衡条件,
也就是,每个结构稀疏的的每个分支的通道数需要尽可能相等。这是由柯西不等式推导出来的。
4 实验
4.1 数据集
我们在三个数据集上评估了交替结构稀疏的卷积模块,其中包含 CIFAR-10、CIFAR-100 和 Tiny ImageNet。
4.2 互补条件对性能的影响
我们使用一个没有下采样结构的 8 层的网络,该网络除了第一个卷积层和最后一个全连接层外,其中有 6 层中间层,并探究这个网络在满足互补条件、欠满足互补条件、以及过满足互补条件这三种情况下的性能如何。当分解的层数固定时,每个分支的通道数越大,则该网络也欠满足状态过渡道满足互补条件状态呢,最后过渡到过满足互补条件的状态(图 2 中的直方条从左到右的过渡过程)。从图 2 的结果可以看出,当满足互补条件时,网络性能接近最优。所以互补条件是一个指导网络结构设计的指标。
图 2:互补条件对性能的影响. 当满足互补条件时,网络性能接近最优。
4.3 与 Xception、IGC-V1 的比较
变化网络的宽度:我们采用 20 层网络,表 1 显示了网络的结构,即 Xception()、IGC-V1()、IGC-V2*()。然后通过变化网络的宽度来比较不同模块的模型性能。比较结果如表 2 所示,IGC-V2*() 在较小的模型大小、较小的计算复杂度的情况下,其性能比 IGC-V1() 和 Xception() 要高。
表 1:网络结构。是网络第一个阶段的通道个数。x是每个阶段的模块个数,B是每两个模块会添加一个残差结构。表示一个3×3的面向通道卷积(channel-wise),通道个数为x。L和K是 ISSC 的超参数。代表(L-1)个1×1的分组卷积,每个分支包括k个通道。
表 2: Xception、IGC-V1 和我们的网络 IGC-V2 的分类准确率的比较,网络结构的深度固定为 20 层,变化网络的宽度。
变化网络的深度:首先对比 Xception 和 IGC-V2 在不同的深度 8、20 和 26 的情况下的性能,如表 3 所示,在不同深度的网络结构下,IGC-V2 的参数量更少、计算量更少,但性能比 Xception 更高。然后我们对比 IGC-V1 和 IGC-V2 在不同的深度 8、20 和 26 的情况下的性能,同样,IGC-V2 的参数量更少、计算量更少,但性能比 IGC-V1 更高,如表 4 所示。
表 3:对比 Xception 和我们的网络的在不同深度下的分类准确率
表 4:IGC-V1 和我们的网络 IGC-V2 在变化深度时的分类准确率的对比。
5 结论
本论文提出了一种交替结构稀疏的卷积模块,使用尽可能少的结构稀疏卷积矩阵的乘积来复合一个稠密的卷积核矩阵,在 IGC-V1、Xception 的基础上进一步消除卷积卷积核的冗余性,实验结果展示了我们的 IGC-V2 在性能、计算复杂度和存储大小上比 IGC 和 Xception 有优越性。
本文为机器之心编译,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者/实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告&商务合作:bd@jiqizhixin.com