第 17 节 其他设计方法(第1页)

随着深度学习技术的深入发展,过去几年中业界出现了大量的改进算法,同时也已经提出了许多硬件架构 [51] 。

卷积分解方法

谷歌研究人员发表的 MobileNet 模型 [52] 基于深度可分离卷积,是一种分解卷积的形式,它将标准卷积分解为深度卷积和 1×1 卷积,称为逐点卷积。对于 MobileNet,深度卷积将单个卷积核应用于每个输入通道。然后,逐点卷积应用 1×1 卷积来组合输出深度卷积。标准卷积既进行过滤,也一步将输入组合到一组新的输出中。深度可分离的卷积将其分为两层,一层用于过滤,另一层用于组合。这种分解具有极大减少计算量和减小模型大小的效果。

MobileNet 后来又有了新的更新,现在已经有了 v3(第 3 版)。2019 年发表的这个新一代 MobileNet 中 [53] ,组合了互补搜索技术,即通过硬件感知的神经架构搜索(NAS)与 NetAdapt 算法相结合的方式,适应手机 CPU,然后通过新颖的架构进行改进。

提前终止方法

这种方法根据输入将结果输出到网络中间,而不再进行进一步处理(提前终止)。它可以根据输入动态更改网络结构(动态计算图),大大减少了平均处理时间。

DNN 正在变得越来越深,中间网络层数的增加可以进一步提高精度,但却使得运行时延增加、功耗快速升高。在某些需要实时应用的场合(如移动通信),时延是一个重要因素。为了降低这些增加的成本,哈佛大学学者提出了 BranchyNet [54] 。在这种神经网络架构中,边侧分支被添加到主神经网络分支,以允许某些测试样本提前退出。这种新颖的架构利用了这样的观察:通常情况下,在 DNN 的早期阶段学习的特征可以正确地推理出数据总体中的大部分,通过在早期阶段利用预测退出这些样本,避免对所有层进行逐层处理,BranchyNet 大大减少了大多数样本的推理运行时间和能耗。BranchyNet 可以与先前的工作结合使用,如网络修剪和网络压缩。

知识蒸馏方法

知识蒸馏方法是由 Hinton 及其团队最早提出的 [55] 。复杂网络结构模型是由若干个单独模型组成的集合,或是在一些很强的约束条件下训练得到的很大的
(本章节未完结,点击下一页翻页继续阅读)