网络模型剪枝-论文阅读-《Channel Pruning for Accelerating Very Deep Neural Networks》

channel pruning for accelerating very deep neural networks 一、Introduction 1.cnn加速主要分为三类: optimized implementation 优化实现、quantization量化、structured simplification结构化简化(本文) 2.structured simplification 结构化简化主要包括三种方法: (1)张量分解:将卷积层分解为几个有效的卷积层,但通道数不能减少,这使得网络很难分解为1 × 1卷积层,这种方法会带来额外的计算开销。 (2)稀疏连接:使神经元或通道间的连接失效,且具有“不规则”的形状,不 阅读详情

与上篇对卷积核进行剪枝不同,本篇论文主要是对特征通道进行剪枝。

Introduction

其实这一篇论文的立意和上篇类似,都是说在剪枝后不需要产生稀疏网络,不同的是,该篇论文是剪枝的冗余的特征通道来达到目的。其剪枝方法是:对于一个训练好的网络,通道剪枝是通过最小化其剪枝前后的输出特征图之间的重建误差来完成的:首先是进行通道选择和特征图重建,在该过程中使用LASSO回归找到冗余的特征图并剪枝;然后使用最小二乘优化对剩余的特征通道进行输出重建。

方法

该论文首先对单层卷积层剪枝方法进行说明,然后是多层和多分枝网络的剪枝。

公式

在这里插入图片描述

上图是文章所提出的通道剪枝算法在单层卷积层的示意图。该算法的目的就是减少特征图B的通道数的同时保持C的输出尽量不变。一旦B中有通道被剪枝了,对A层进行卷积的相应卷积核(图中标记为虚线的卷积核)也会相应移除,以及对B层进行卷积的卷积核的相应通道也会被移除。所以,通道剪枝包括两点:首先是通道选择,因为需要选择合适的通道组合以保留丰富的信息;然后是重建,需要使用选择的通道对下一层的输出进行重建。

文章首先以最简单的卷积示例来说明文章提出的算法:

对于一个大小为 [ n × c × k h × k w ] [n \times c \times {k}_h \times {k}_w] [n×c×kh​×kw​]的卷积核W、 [ N × c × k h × k w ] [N \times c \times {k}_h \times {k}_w] [N×c×kh​×kw​]的输入特征图X和 [ N × n ] [N \times n] [N×n]的输出矩阵Y,其中N是batch size、c是输入通道、n是输出通道、kh和kw是卷积核宽高。为了剪枝输入通道c到目标c’( 0 ≤ c ′ ≤ c 0 \leq c' \leq c 0≤c′≤c)的同时最小化重建误差,目标方程定义为:

在这里插入图片描述

其中||·||F是Frobenius norm,Xi是属于X第i个通道的维度为 N × k h k w N \times {k}_h{k}_w N×kh​kw​的矩阵(i = 1,…,c),Wi是属于W的第i个通道的大小为 n × k h k w n \times {k}_h{k}_w n×

网络模型剪枝-论文阅读-《Data-free Parameter Pruning for Deep Neural Networks》 与上篇论文剪枝权重连接不同,这篇论文是直接剪枝神经元,并且是data-free,就是不用重训练的,值得读一下。 本篇论文的主要思想是,找到两个非常相似的神经元,删除其中的一个并使最终的输出尽量不变。 定义相似的神经元 之前的神经元剪枝操作是找到冗余的(权重为0的)神经元,然后进行剪枝,这样的话最终的网络输出是没有任何影响的。 在这篇论文中,作者定义了另外一种神经元冗余。首先以单层隐藏层、只有一个输出z的神经网络举例,如下图: 对于该神经网络输出z来说: z=a1h(W1TX)+a2h(W2TX)+a3h( 阅读详情

相关推荐

Channel Pruning for Accelerating Very Deep Neural Networks代码详解

完整的剪枝过程主要包括以下几个步骤: 1、权重分解以及channel pruning 2、对剪枝后的模型fine_tune,恢复表征能力 3、将微调后的caffemodel作为faster的pre_trained模型,再次进行fine_tune

qq_23225921的博客 6189

【论文阅读】【综述】网络的剪枝方法

文章目录非结构化的Learning both Weights and Connections for Efficient Neural NetworksDEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZATION AND HUFFMAN CODING结构化的 本文记录一下对model pruning方法的学习,我只是挑了一些代表性的论文阅读一下,了解pruning的思路。 首先推荐一篇博客,闲话模型

麒麒哈尔的博客 4913

【超分辨率(Super-Resolution)】关于【超分辨率重建】专栏的相关说明,包含专栏简介、专栏亮点、适配人群、相关说明、阅读顺序、超分理解、实现流程、研究方向、论文代码数据集汇总等

本专栏研究领域为【超分辨率重建】,涵盖图像超分、视频超分,实时超分,4K修复等方面。主要内容包括主流算法模型的论文精读、论文复现、毕业设计、涨点手段、调参技巧、论文写作、应用落地等方面。算法模型从SRCNN开始更新至今,一般是一篇论文精读对应一篇论文复现。论文精读详解理论,归化繁为简,归纳核心,积累词句,培养阅读论文和论文写作能力。论文复现依托Pytorch代码,实现完整的模型训练流程,总结调参方法,记录碰到的bug,论文插图可视化,培养读写代码能力、做实验的能力、以及应用落地能力。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 3万+

【信息科学与工程学】【产品体系】第三十三篇 DPU/smartinic芯片中的学科知识03

需求实现DMA 与流边界检测优化​分级超时状态机(短/中/长)+ 积压计数 + 批量触发DMA 控制器优化​描述符预取(深度 4)+ 中断合并(阈值 8)Fence 语义正确性验证​RTL 断言 + C 语言序列号检测 + 性能对比 + 硬件计数器所有代码均为可综合 Verilog,已在仿真器中通过基本功能测试。在 FPGA 原型上运行上述 RTL,配合 ChipScope 观察 fence 时序在 BlueField-3 上运行 DOCA DPA 测试程序,对比加/不加 fence 的结果。

weixin_49199313的博客 269

模型压缩之通道剪枝channel-pruning-master.zip

对训练好的模型进行通道剪枝(channel pruning),分为两步进行:第一步是channel selection,采用LASSO regression来做,其实就是添加了一个L1范数来约束权重,因为L1范数可以使得权重更加稀疏,这样就可以把那些稀疏的channel剪掉;第二步是reconstruction,基于linear least squares来约束剪枝后输出的feature map要尽可能和减枝前的输出feature map相等,也就是最小二乘值越小越好。

MetaPruning-Meta Learning for Automatic Neural Network Channel Pruning.pdf

本文提出来一个最新的元学习方法,对非常深的神经网络进行自动化通道剪枝。首先训练出一个PruningNet,对于给定目标网络的任何剪枝结构都可以生成权重参数。我们使用一个简单的随机结构采样方法来训练PruningNet,然后应用一个进化过程来搜索性能好的剪枝网络。这个搜索方法是非常高效的,因为权重直接通过训练好的PruningNet生成,并不需要在搜索时间中进行任何的微调。只需要为目标网络训练处一个简单的PruningNet,我们可以在不同的人工约束下搜索不同的剪枝网络。与当前最先进的剪枝方式相比,MetaPruning在MobileNet V1/V2和ResNet上有着最好的性能表现。

Python-ChannelPruningforAcceleratingVeryDeepNeuralNetworks

Channel Pruning for Accelerating Very Deep Neural Networks

AstrBot插件开发全攻略:从零编写一个天气查询插件(Python实战)

本文提供了一份详细的AstrBot插件开发实战指南,手把手教你使用Python从零编写一个智能天气查询插件。内容涵盖插件系统核心设计、开发环境搭建、API调用与数据处理、自然语言交互实现以及插件打包发布全流程,帮助你快速掌握基于AstrBot框架的聊天机器人功能扩展技能。

weixin_29212867的博客 1082

PCIe Crosslink

PCIe Crosslink(交叉连接)是一种特殊的PCIe链路连接方式,允许两个PCIe设备(通常是Root Complex或Endpoint)是指两个PCIe设备(如两个CPU、两个FPGA或两个GPU)通过PCIe链路直接连接,形成点对点(P2P)通信通道。:两个Intel/AMD CPU通过PCIe Crosslink直接通信(替代UPI/Infinity Fabric)。:主板需提供PCIe Crosslink连接(如特定插槽支持x16/x8 Crosslink)。

zly8865372的博客 1636

FTPClient使用中,碰到SocketTimeoutException 坑

ftpclient设置soTimeout无效

u010379794的博客 1950

Vivado实战:从零封装AXI-Lite接口的呼吸灯IP核

本文提供了一份详细的Vivado实战指南,手把手教你如何将Verilog编写的呼吸灯模块封装成带AXI-Lite接口的IP核。内容涵盖从创建IP框架、编写核心逻辑、连接AXI总线到在ZYNQ系统中调用并编写C程序进行软硬件协同测试的完整流程,是掌握FPGA软硬件协同设计的关键实践。

weixin_29233333的博客 596

《MySQL高级篇》十四、多版本并发控制

《MySQL高级篇》十四、多版本并发控制

LXYDSF的博客 3991

「转载」vaptcha 等手势验证码图像识别与轨迹提取(思路)

作者:文安哲 从博客重开以后就说要更文章,鸽了蛮久了,赶紧补上一篇嫖嫖各位老公的流量。 最近看群里面大家讨论研究手势验证码比较多,然后我也顺带研究做了一下,给各位老公们分享一下做的过程。 首先,一起来康康手势验证码长啥样! 大概就是长这个样子,需要按照图像中的那条轨迹再图片上滑动,不得不说这类验证码确实体验感拉满,让人很想立马关掉这个网站。 那么言归正传,这类验证码该怎么做识...

AI悦创·编程私教1v1 3596

SAP_MM模块库存概览俄罗斯报表简介

本文介绍了SAP MM模块中"库存概览俄罗斯报表"的功能与应用。该报表主要用于查看物料在不同库存地点和类型的库存情况,并满足俄罗斯当地法规要求。文章解释了"俄罗斯报表"可能指代本地化合规库存报表或客户自定义报表,详细说明了事务代码J3RFLVMOBVEDH的操作步骤,包括公司代码、物料编码、日期范围等查询条件,并解释了报表中各字段含义如期初期末库存数量与价值。最后强调在物料分类账处理完成后使用该报表可获得实际库存价值,为SAP用户提供了实用的库存管理参考。

我小时候很黑的博客 1086

使用C# HslCommunication库实现三菱PLC通信(含完整代码示例)

在工业自动化开发中,上位机与PLC的通信是关键环节。HslCommunication库是一个开源的.NET工业通信库,支持三菱、西门子、欧姆龙等多个品牌PLC的通信协议。本文将演示如何通过库实现C#程序与三菱PLC的通信,并提供完整的代码示例。

StevenChen的博客 2287

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 网络模型剪枝-论文阅读《Pruning Filters For Efficient Convnets》
下一篇: 网络模型剪枝-论文阅读-Deep compression
AManFromEarth
博客等级 码龄9年 55粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值