Pruning by Explaining: A Novel Criterion for Deep Neural Network Pruning

原文链接:https://arxiv.org/pdf/1912.08881v1.pdf   发表:

code:

编辑:Daniel

本文提出了一种新的剪枝标准,将一种解释图像分类的方法LRP用于剪枝。


首先介绍一下LRP,通过定义每一层对上一层结果的贡献和相关性,最后推导至原图中的像素层面。

上图左侧为一般的图片分类过程,右侧为解释过程,从预测结果向前传播,并将预测结果关联到每一层的特征,最终在输入图像的像素层面进行可视化,得出每个像素对于最终分类结果的贡献。

对于LRP来说,每层的相关性是守恒的,即

对于一般的多层网络,示意图如下:

左侧为一般的前向传播,右侧为LRP分配示意图,为了满足各层相关性守恒,有以下两式:

左边层等于右边输入之和


右边层等于向左边输出之和

再将权重考虑进来,可得:

这个地方公式比较多,看一下原文会更清楚。(原文链接:https://www.scienceopen.com/document?vid=09930944-7198-4cbd-840d-a8e5a7dc053b)

对于一般的多层网络,前向传播中有如下公式:

其中w为权重,b为偏置,g为激活函数。

在经过最后一个全连接层后,f(x)被定义为:

因此两个节点之间的关联值被定义为:

将一层的节点相加可得:

为了避免由于z太小导致R取到无界值,文中加入ε≥0:

然后文中又将正数和负数分开处理,得到

最终得到:(说实话这一步没太懂)



介绍完了LRP,这篇剪枝论文和LRP这篇是同一群作者,所以就把LRP直接用在了剪枝上。LRP通过类似后向传播的方式,将预测结果分配到输入图像的每个像素点上,以此来观察每个像素点对于最终分类结果的贡献。而在LRP传播过程中,网络中每层的每个filter也都积累了相应的贡献值,作者将每层中贡献值较小的filter删除,来达到剪枝的目的,示意图如下:

上图左侧为一般的前向传播,中间为LRP传播过程,右侧为剪枝过程。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容