关于如何实现加filter惩罚的网络剪裁

关于如何实现加filter惩罚的网络剪裁

通过剪裁网络中Conv的Filter,能够实现对网络结构的压缩。使用Yolov2和SSD两个网络实测,效果显著。
但是剪裁的时候Finetuning的时间较长,说明剪裁的时候减掉了一些不重要但有些用的filter,也就是说,filter的权重不是虽然都很小,但是不够接近0。
为实现上一步,就必须在模型中加入对filter权重的惩罚,就必须知道网络如何实现对权重惩罚的。

解决这个问题学习的顺序如下:
1.加Filter惩罚跟加L2是很一致的,先要搞懂L2是如何反向传播的;
2.首先搞清楚反向传播的基本原理,主要是差分与求导;参考ufldl的 讲解
3.学习了ufldl的BP基本思路,仍有一个疑问,在中间隐藏层的各个W是如何求导的?因为L2只加在Loss中,只是最后一层的权重有Loss求导过程。这个内容在这个课程中没理解透。这里我自己尝试了里面“For each node i in layer l, set”一句的倒数直接从"For each output unit i in layer nl (the output layer), set"继续求解过来,发现隐藏层对W的求导实际上是由Loss从后向前(从输出层,倒数1隐藏,倒数2隐藏,…)追层求导过来的。这才明白其他博客中写的直接从每层倒数后面加alpha*W的意义。
在这里插入图片描述
4.还有一个疑问,就是反向传播的矩阵形式为什么用了好多转置?这个从矩阵求导讲座中得到解答( 矩阵求导术1 矩阵求导术2)。
5.基于上述内容,把浅层替换成深层,把普通神经替换成CNN(paper: Notes on Convolutional Neural Networks),把L2-Norm替换成Filter惩罚,就得到了想要的结果。
在此记录。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值