论文笔记——PRUNING FILTERS FOR EFFICIENT CONVNETS
2024-08-28 04:35:05
论文地址:https://arxiv.org/abs/1608.08710
主要思想
这篇文章主要讲了对filters的裁剪,裁剪方法是计算L1范数,然后裁剪掉较少的,多少取决于加速比。
实现效果
- VGG-16 34%加速
- ResNet-110 38%加速
具体实现
- 对于每一个kernel matrix按列绝对值求和
- 对求和结果排序
- 裁剪掉m个filters(对应内核矩阵的列),以及对应的输出(Xi+1层中),它又是下一层的输入,所以也得去掉对应的输入filters(对应内核矩阵的行)
- 剩余的kernel weights保留
实现细节
在跨越多层裁剪的过程中,可能出现kernel matrix裁剪交叉的情况,两种处理方法:
- Independent pruning 假设蓝色是确定要裁剪的,然后计算绿色的L1时,要考虑黄色的值,跟之前的裁剪无关。
- Greedy pruning 也就是计算绿色的L1时,不考虑已经被裁剪的黄色值
结果:
第二种的准确率辉更高。
残差网络的处理:
- 第一层随意裁剪(根据需求),因为它只会影响Xi+1的输入,但是不会影响最后的输出。
- residual block里面的裁剪需要注意,因为裁剪需要和shortcut layer保持一致,才能累加。
- 因为identical feature maps比added residual maps更重要,所以后者的裁剪结果应该由前者决定。
Prune and Retrain 方法
- 裁剪所有层后再继续训练网络
- 裁剪一层,重新训练一下
结果:
显然第二种好啊,第一种太暴力了,可能造成无法修复的裁剪
最新文章
- HTML基本元素(二)
- 【《zw版·Halcon与delphi系列原创教程》 zw_halcon人脸识别
- 高斯模糊算法的 C++ 实现
- Bootstrap学习笔记系列7-----Bootstrap简单背景CSS及其他辅助类
- 使用Maven编译项目时提示程序包javax.servlet.http不存在
- [转载] what's goole mock
- HTML5+CSS3前端开发资源整合
- 单片机IO口驱动能力
- java处理图片时找到不sun.awt.X11GraphicsEnvironment问题
- Spring通过工厂创建实例的注意事项
- U盘启动盘安装Windows10操作系统详解
- 自定义git忽略规则
- Kali2.0第一节
- 从n个元素中选择k个的所有组合(包含重复元素)
- Mysql 用户ip访问根据省份查询
- 【排序算法】选择排序(Selection sort)
- EZ 2018 03 30 NOIP2018 模拟赛(六)
- o2o优惠券使用预测
- 【Java】JavaIO(二)、节点流
- Web标准:七、横向导航菜单
热门文章
- 网站/IIS/Web/WCF服务 访问共享目录 映射 的解决方案
- git快速入门 push/clone/reset/merge/切换分支全都有
- mysql备份工具innobackupex,xtrabackup-2.1的原理和安装
- (转)Linux Oracle服务启动&;停止脚本与开机自启动
- (转)Elasticsearch聚合初探——metric篇
- SQL CASE 多条件用法
- Sublime Text3(mac)一些插件和快捷键
- linux make configure make
- 摘自(http://www.ruanyifeng.com/blog/2011/07/linux_load_average_explained.html)
- linux下操作iso文件的两个shell程序