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


尽管上述过程为迭代过程 , 但需要的总训练时长却是非常低的 , 原因在于该操作的目的是提取模式集而非完成整个训练过程 。 完成每一次模式集提取的迭代过程仅仅需要常规训练时长的 10%-20% 。 当训练集的大小足够小的时候 , 我们便可以用比常规训练时长减少 20% 左右的训练时间完成训练 。 从实验结果来看 , 完成模式集提取、模式化稀疏度选择与模型训练的总时长甚至可以少于大部分其他模型剪枝工作 。
移动端硬件与编译器优化层面
通过上述模式化稀疏度感知训练框架 , 我们得到了模式化剪枝后的稀疏模型 。 如何利用模型的权重空间分布特点实现编译器优化成为移动端硬件与编译器优化层面的研究重点 。
研究人员设计了适合模式化剪枝的移动端推理框架 , 能够部署并高效执行模式化剪枝后的深度神经网络模型 , 如图 4 所示 。
|YOLO-v4目标检测实时手机实现,全自动实时移动端AI框架
本文插图

图 4. 深度神经网络基于编译器优化的移动端推理框架概述 。
这种编译器构架基于代码生成原理 , 将深度神经网络模型转化为底层静态执行代码 , 并配合适合模型特点的编译优化 。 研究人员利用已知的卷积核模式与连通性信息 , 相应地将每个卷积核的计算范式进行归类 。 通过将相同的卷积核模式(相同的计算范式)排列在一起 , 并将相似的重排结果在相同的线程中进行并行计算 , 消除所有静态代码分支 , 保证了高指令级与线程级平行性 。
我们同时可以观察到 , 卷积核与输出通道重排后的模型权重分布非常规则与紧凑 , 因此 , 在缓存与寄存器访问频率上的优化效果变得非常明显 。 规则与紧凑的数据意味着更低的数据访问频率 , 而数据访问频率降低意味着更低的内存开销 。 这一设计方法是可通用的 , 因此该研究提出的移动端推理框架可以大规模地部署在现有各种量产手机端 , 实现端上 AI 实时推理 , 满足用户需求 。
实验结果
该研究的实验结果从三个方面展示了模式化稀疏度感知训练框架与基于编译器的移动端推理框架的性能 , 分别是卷积核模式集提取结果、模式化剪枝精度提升效果与移动端推理速度 。
首先 , 图 5 展示了卷积核模式集提取结果 。 研究人员首先确定了每一个卷积核中应保留 4 个非零值 , 这样做的好处是控制模式集总集的大小 , 同时也利于移动端 CPU/GPU 的 SIMD 结构 。 当经过两次模式集提取后 , 模式集总集大小从 126 减小到 32 个 , 这时的模式集中卷积核模式分布图如图 5(b)所示 。 研究人员进一步训练并删除出现次数最少的卷积核模式后 , 得到了 Phase 1、2、3 模式集 , 其中的卷积核模式数量分别为 12、8、4 , 如图 5(a)所示 。 可以发现 , Phase 2 模式集所含的卷积核模式与理论推导与八种卷积核模式完全匹配 。 因此研究人员得出结论 , 基于理论得出的卷积核模式也是算法实现层面上对于深度神经网络最优的卷积核模式 。
|YOLO-v4目标检测实时手机实现,全自动实时移动端AI框架
本文插图

图 5. 模式化稀疏度感知训练框架的模式集提取结果 。
其次 , 研究人员展示了模式化剪枝对深度神经网络精度的提升 。 通过剪枝 , 深度神经网络将图像的细节「看得」更清了 。 如图 6 所示 , 通过不同的可视化方法 , 经过模式化剪枝的深度神经网络模型对于图像有明显的增强作用 , 模式化剪枝后的模型能够提取图像中更多的关键特征 , 并降低图像中的噪声 。
|YOLO-v4目标检测实时手机实现,全自动实时移动端AI框架
本文插图

图 6. 基于 VGG-16 在 ImageNet 上剪枝后的模型可视化效果图 。 此处采用了三种不同的可视化方法:(a)guided-backpropagation (BP), (b) integrated gradients , (c)inverted representation 。


推荐阅读