前言

致力于滤波器的剪枝,论文的方法不改变原始网络的结构。论文的方法是基于下一层的统计信息来进行剪枝,这是区别已有方法的。

VGG-16上可以减少3.31FLOPs和16.63倍的压缩,top-5的准确率只下降0.52%。在ResNet-50上可以降低超过一半的参数量和FLOPs,top-5的准确率只降低1%。

如上图所示,在虚线框中找到那些弱通道(weak channels)和他们对应的滤波器(黄色高亮部分),这些通道和对应的滤波器对整体性能贡献较小,因此可以丢弃,这样就得到一个剪枝后的模型,然后通过微调(fine-tune)恢复模型的准确率。

ThiNet框架

(1)滤滤波器选择

不同于已有的方法(使用layer(i)层的统计数据对layer(i)滤波器进行剪枝),论文对layer(i+1)的统计信息来对layer(i)层进行剪枝。思路如下:如果可以使用layer(i+1)的子集通道(subset channels)的输入来逼近layer(i+1)的输出,那么其它的通道就可以从layer(i+1)的输入移除,而layer(i+1)的输入是由layer(i)的滤波器产生的。

(2)剪枝

在layer(i+1)的弱通道和其对应的layer(i)层的滤波器将被去除,模型将变得更小。剪枝后的网络的结构不变,但拥有较少的滤波器和通道数。

(3)微调

通过大量数据的训练来恢复网络性能

数据驱动的通道选择

使用来表示layer(i)的卷积过程,其中表示输入的张量(tensor),是一组KxK的核大小的滤波器,使用D个channels生成新的张量。

我们的目标是移除中不重要的滤波器。可以看出,如果中的一个滤波器被移除了,在中相应的通道也会被移除。这样的操作下,layer(i+1)的滤波器的数目和他输出张量的大小保持不变,因此也保持不变。

收集训练样本

通道选择——贪心算法

最小化重构误差

ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression笔记的更多相关文章

  1. 论文笔记——ThiNet: A Filter Level Pruning Method for Deep Neural Network Compreesion

    论文地址:https://arxiv.org/abs/1707.06342 主要思想 选择一个channel的子集,然后让通过样本以后得到的误差最小(最小二乘),将裁剪问题转换成了优化问题. 这篇论文 ...

  2. 论文笔记——A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding

    论文<A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding> Prunin ...

  3. 用matlab训练数字分类的深度神经网络Training a Deep Neural Network for Digit Classification

    This example shows how to use Neural Network Toolbox™ to train a deep neural network to classify ima ...

  4. 深度神经网络如何看待你,论自拍What a Deep Neural Network thinks about your #selfie

    Convolutional Neural Networks are great: they recognize things, places and people in your personal p ...

  5. A Survey of Model Compression and Acceleration for Deep Neural Network时s

    A Survey of Model Compression and Acceleration for Deep Neural Network时s 本文全面概述了深度神经网络的压缩方法,主要可分为参数修 ...

  6. 论文翻译:2022_PACDNN: A phase-aware composite deep neural network for speech enhancement

    论文地址:PACDNN:一种用于语音增强的相位感知复合深度神经网络 引用格式:Hasannezhad M,Yu H,Zhu W P,et al. PACDNN: A phase-aware compo ...

  7. XiangBai——【AAAI2017】TextBoxes_A Fast Text Detector with a Single Deep Neural Network

    XiangBai--[AAAI2017]TextBoxes:A Fast Text Detector with a Single Deep Neural Network 目录 作者和相关链接 方法概括 ...

  8. What are the advantages of ReLU over sigmoid function in deep neural network?

    The state of the art of non-linearity is to use ReLU instead of sigmoid function in deep neural netw ...

  9. 论文笔记之:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation

    Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation xx

随机推荐

  1. 实用的php清除html,php去除空格与换行,php清除空白行和换行,提取页面纯文本

    实用的php清除html,换行,空格类,php去除空格与换行,php清除空白行和换行,提取页面纯文本内容 方法一: function DeleteHtml($str) { $str = trim($s ...

  2. 虚拟DOM与DOM diff算法

    虚拟DOM是什么? 一个虚拟DOM(元素)是一个一般的js对象, 准确的说是一个对象树(倒立的) 虚拟DOM保存了真实DOM的层次关系和一些基本属性,与真实DOM一一对应,如果只是更新虚拟DOM, 页 ...

  3. 前端性能优化成神之路—资源合并与压缩减少HTTP请求

    资源合并与压缩减少HTTP请求的概要 资源合并与压缩减少HTTP请求主要的两个优化点是减少HTTP请求的数量和减少请求资源的大小 http协议是无状态的应用层协议,意味着每次http请求都需要建立通信 ...

  4. Bootstrap收尾

    一  响应式布局 二  Bootstrap补充 三 常用插件 一  响应式布局 响应式介绍 - 响应式布局是什么? 同一个网页在不同的终端上呈现不同的布局等 - 响应式怎么实现的? 1. CSS3 m ...

  5. 深入浅出RxJava(二:操作符)

    看完这篇blog,我相信你肯定想立即在你的项目中使用RxJava了,这篇blog将介绍许多RxJava中的操作符,RxJava的强大性就来自于它所定义的操作符. 首先先看一个例子: 准备工作 假设我有 ...

  6. MyCat读写分离、分库分表

    系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问题问题.Mycat是一 ...

  7. kafka监控kafka-eagle 容器化配置

    由于kafka.zk 集群已经部署在k8s中,  kafka的服务名 kafka-hs, zk的服务名为:zk-cs ,对kafka进行监控,所以需要把监控部署到k8s中,选择使用kafka-eagl ...

  8. java开发过程问题及解决

    1.junit做测试时候报异常: junit.framework.AssertionFailedError: No tests found in com.mq.original.OriginalMqP ...

  9. mybatis基础系列(三)——动态sql

    本文是Mybatis基础系列的第三篇文章,点击下面链接可以查看前面的文章: mybatis基础系列(二)--基础语法.别名.输入映射.输出映射 mybatis基础系列(一)--mybatis入门 动态 ...

  10. 前台获取json未定义问题之两种常用解决办法

    来自博客园的一位朋友解答: 为什么要 eval这里要添加 “("("+data+")");//”呢? 原因在于:eval本身的问题. 由于json是以”{}”的 ...