"NISP: Pruning Networks using Neuron Importance Score Propagation"这篇文章认为:若只单独考虑深度网络某一层或接连两层neurons的重要性,并裁剪掉看似不重要的neuron连接,可能会对后续层甚至更深层的响应输出产生影响,而且误差会逐层累积。因此需要从网络整体考虑neurons的重要性。
如上图所示,文章提出了NISP (Neuron Importance Score Propagation)算法:首先将深度网络中与分类器层相连的最后一个隐层定义为Final Response Layer (FRL),并通过Feature Selection方法决定FRL中各个Feature的重要性,而后将重要性得分反向传播至之前所有层(neurons),最后根据裁剪比率(pruning ratio)裁减掉具有低重要性得分的neurons。重要性反向传播及网络裁剪的总体原则,便是要确保FRL输出响应的重建误差最小,该误差可以用裁剪后网络FRL与原网络FRL之间的L1距离予以度量。网络裁剪比率是预先定义的超参数,依据给定的约束目标而定,如FLOPS、Memory Footprint、Accuracy等。如果在filter-level裁剪网络,那么裁剪后网络不会依赖特定平台或算法库的支持。
文章采用Inf-FS算法计算FRL中Feature的重要性,并通过反向传播得到整个网络neurons的重要性得分。重要性反向传播及裁剪问题可以定义为二值