江湖车侠|全自动实时移动端AI框架,YOLO-v4目标检测实时手机实现( 二 )


基于上述两个发现 , 该研究提出了一个新的稀疏性维度——模式化稀疏度 , 并且提出了基于模式化稀疏度的深度神经网络权重模式化剪枝的概念 。
如图2所示 , 模式化剪枝中包含了两种卷积核层面的模型稀疏化方法 , 即卷积核(convolutionkernel)模式化剪枝(patternpruning)与连通性剪枝(connectivitypruning) 。
为了实现卷积核模式化剪枝 , 该研究在每个卷积内核中删除固定数量的权重 , 其余权重形成具有特定形状的「模式化内核」 。 通过进一步挖掘 , 研究人员发现一些精心设计的卷积核模式(kernelpattern)具有特殊的视觉特性 , 可以潜在地提高图像质量 , 从而增强深度神经网络的特征提取能力 。 但是 , 什么样的卷积核模式能够更好地提升模型性能 , 同时保证硬件执行效率呢?这依然是个重要的问题 。
同时 , 即使存在理论最优的卷积核模式 , 它能否在实际情况中得到深度神经网络的「青睐」?这又给该稀疏化方法的应用增加了不确定性 。 本文将从理论层面、算法实现层面、移动端硬件与编译器优化层面详细论述以上问题 , 并用实验数据展示模式化剪枝在高精度、实时性推理方面的强大作用 。
理论层面
在理论层面 , 该研究从一个全新且独特的角度审视了剪枝的概念 。 不同于将剪枝定义为模型参数的移除 , 这篇论文将剪枝转化成对神经网络模型权重加入一层二进制掩膜 。 研究人员将不同形状的二进制掩膜的集合称为「模式集」(patternlibrary) , 并将加入掩膜看作一种对神经网络的插值操作 。 通过不同模式的掩膜插值 , 得到一些功能性图像滤波器特征 , 能够实现图像的锐化与降噪 , 提高图像质量 。 值得一提的是 , 插值操作的过程仅需要少量种类的卷积核模式(或者说一个小尺寸的模式集) 。
这样做所带来的好处是:(i)在算法层面 , 相对较少的卷积核模式可确保合适的搜索空间 , 以实现在深度神经网络上得到较好的训练效果;(ii)从编译器角度来看 , 更少的模式意味着更少的计算范式 , 从而能够潜在地降低线程分支 。
图3展示了该研究设计的八种卷积核模式 , 通过n次插值 , 图3(上)能够得到高斯滤波器 , 图3(下)能够得到增强型拉普拉斯高斯滤波器 。 其中n代表神经根网络层数 , 系数p为任意位置1出现的概率 , 在正则化运算后没有实际意义 。
算法实现层面
通过上述理论推导 , 我们得到了八种卷积核模式作为模式集 。 但是 , 一些至关重要的问题仍未得到解决 。 例如 , 这些从理论层面得出的最优模式集在算法实现层面上也是最理想的吗?即便以上问题的答案是肯定的 , 那么如何为每个卷积核选择合适的卷积核模式并训练非零权重?
为了回答上述问题 , 研究者在算法实现层面 , 设计了模式化稀疏度感知训练框架(pattern-awarenetworkpruningframework) , 能够同时实现卷积核模式集的自动提取 , 模式化稀疏度的自动选择与模型训练 。