RGBDface相关0625

深度模型加速新思路

RGBDface相关0625_第1张图片

思路十分直观:根据样本的复杂度把CNN当作一个deep cascade,简单的样本只需要使用浅层的特征即可做出正确的分类,然而复杂的样本需要多层网络才可以判断。这样的方式比起之前使用多个网络做cascade的方式而言,可以共享大量的参数。如下图所示:

RGBDface相关0625_第2张图片

在[2]中,作者将这个思想更进一步,主要有以下几个差异:

  1. 设计了新的复杂度控制的loss,然而这个loss不仅不连续,而且还有离散变量。做法非常heuristic。

  2. 将early exit的思想扩展到了spatial上,即在同一层中不同区域计算的深度也不同。

  3. 这个思想用到spatial上一个有趣的发现在于,计算层数多的区域基本上也会是人觉得复杂的区域,和人类的saliency有很大程度的吻合,如下图所示,这是一个在检测任务中的计算复杂度图。可以看到,算法可以忽略掉大部分没有纹理的区域,更集中在有意义的物体上。

RGBDface相关0625_第3张图片

在[3]中 ,作者将这个思想进一步拓展到dynamic graph execution上。在普通CNN的DAG结构中,只有execution node,[3]中提出了一种新的control node,即输出一个switch的信号,这个信号可以是执行多个branch中的某一个,也可以是直接exit。在这个框架下可以设计出很多种自由控制复杂度的网络。例如,在下图左,是[1,2]中提出的cascade的网络,另外一种设计如右图,通过control node可以选择复杂度不同的subnetwork再回到主分支中。

RGBDface相关0625_第4张图片

[1] Teerapittayanon, Surat, Bradley McDanel, and H. Kung. “Branchynet: Fast inference via early exiting from deep neural networks.” ICPR, 2016.

[2] Figurnov, Michael, et al. “Spatially Adaptive Computation Time for Residual Networks.” arXiv preprint arXiv:1612.02297 (2016).

[3] Liu, Lanlan, and Jia Deng. “Dynamic Deep Neural Networks: Optimizing Accuracy-Efficiency Trade-offs by Selective Execution.” arXiv preprint arXiv:1701.00299 (2017).

你可能感兴趣的:(深度学习,轻量化网络)