论文地址:https://arxiv.org/abs/1608.08710

主要思想

这篇文章主要讲了对filters的裁剪,裁剪方法是计算L1范数,然后裁剪掉较少的,多少取决于加速比。

实现效果

  1. VGG-16 34%加速
  2. ResNet-110 38%加速

具体实现

  1. 对于每一个kernel matrix按列绝对值求和
  2. 对求和结果排序
  3. 裁剪掉m个filters(对应内核矩阵的列),以及对应的输出(Xi+1层中),它又是下一层的输入,所以也得去掉对应的输入filters(对应内核矩阵的行)
  4. 剩余的kernel weights保留

实现细节


在跨越多层裁剪的过程中,可能出现kernel matrix裁剪交叉的情况,两种处理方法:

  1. Independent pruning 假设蓝色是确定要裁剪的,然后计算绿色的L1时,要考虑黄色的值,跟之前的裁剪无关。
  2. Greedy pruning 也就是计算绿色的L1时,不考虑已经被裁剪的黄色值
    结果:
    第二种的准确率辉更高。

残差网络的处理:

  1. 第一层随意裁剪(根据需求),因为它只会影响Xi+1的输入,但是不会影响最后的输出。
  2. residual block里面的裁剪需要注意,因为裁剪需要和shortcut layer保持一致,才能累加。
  3. 因为identical feature maps比added residual maps更重要,所以后者的裁剪结果应该由前者决定。

Prune and Retrain 方法

  1. 裁剪所有层后再继续训练网络
  2. 裁剪一层,重新训练一下
    结果:
    显然第二种好啊,第一种太暴力了,可能造成无法修复的裁剪

最新文章

  1. HTML基本元素(二)
  2. 【《zw版·Halcon与delphi系列原创教程》 zw_halcon人脸识别
  3. 高斯模糊算法的 C++ 实现
  4. Bootstrap学习笔记系列7-----Bootstrap简单背景CSS及其他辅助类
  5. 使用Maven编译项目时提示程序包javax.servlet.http不存在
  6. [转载] what's goole mock
  7. HTML5+CSS3前端开发资源整合
  8. 单片机IO口驱动能力
  9. java处理图片时找到不sun.awt.X11GraphicsEnvironment问题
  10. Spring通过工厂创建实例的注意事项
  11. U盘启动盘安装Windows10操作系统详解
  12. 自定义git忽略规则
  13. Kali2.0第一节
  14. 从n个元素中选择k个的所有组合(包含重复元素)
  15. Mysql 用户ip访问根据省份查询
  16. 【排序算法】选择排序(Selection sort)
  17. EZ 2018 03 30 NOIP2018 模拟赛(六)
  18. o2o优惠券使用预测
  19. 【Java】JavaIO(二)、节点流
  20. Web标准:七、横向导航菜单

热门文章

  1. 网站/IIS/Web/WCF服务 访问共享目录 映射 的解决方案
  2. git快速入门 push/clone/reset/merge/切换分支全都有
  3. mysql备份工具innobackupex,xtrabackup-2.1的原理和安装
  4. (转)Linux Oracle服务启动&停止脚本与开机自启动
  5. (转)Elasticsearch聚合初探——metric篇
  6. SQL CASE 多条件用法
  7. Sublime Text3(mac)一些插件和快捷键
  8. linux make configure make
  9. 摘自(http://www.ruanyifeng.com/blog/2011/07/linux_load_average_explained.html)
  10. linux下操作iso文件的两个shell程序