模型剪枝网络 Learning Efficient Network throung Network Slimming 简述

news/2024/12/1 20:16:46/

1. 概述

训练得到的特征图,并不是所有特征图都重要,另一方面,希望对权重执行策略,体现出权重之间的差异性,最终目的就是获得不同特征图中的channel sacling factors,表征了不同特征图的重要性
在这里插入图片描述

2. BN

采用的方法是BN,BN就是减均值再除以标准差

1.BN的本质

BN就是减均值再除以标准差
每次如果不加BN操作,会使得数据的分布较为散乱,用在部分激活函数的时候,如sigmoid的时候容易出现梯度消失的问题,使用BN将值重新规范化到均值为0方差为1的分布上去,加速模型的收敛,但BN也把数据强行压缩到模型的线性区域,也会某种程度上降低模型的表达能力,所以BN添加 α γ \alpha\gamma αγ两个参数,弥补BN带来的模型表达能力降低的问题,所以BN最终形式如下(原始的归一化减均值除以方差,这里弥补为乘以一个值再加上一个值,很合理吧)

通过对每一个特征图进行BN,获得中间的 γ \gamma γ作为某一层特征图的权重,根据阈值滤除不需要的特征图

2.如何实现进一步拉开权重之间的差异呢?使用正则化的方法

L1正则化:稀疏与特征选择
L2正则化:平滑特征

论文中对 γ \gamma γ参数进行正则化,拉开 γ \gamma γ的差异性

3. 整体流程

采用的方法是训练-剪枝-训练的方式来迭代
首先更改模型的BN,更新方式是:BN = BN+L1
在这里插入图片描述

通过排序确定图中的thre值,然后生成mask,再使用原始权重和mask相乘获取最后生效的权重层

在这里插入图片描述

然后将ok的结构及数据拷贝到新的权重中去,开启新的训练

在这里插入图片描述


http://www.ppmy.cn/news/53143.html

相关文章

【LeetCode: 1143. 最长公共子序列 | 暴力递归=>记忆化搜索=>动态规划】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

初识uniapp

创建小程序 依次点击HBuilderx 左上方的按钮:文件->新建->项目 然后打开该界面,输入项目名称,点击 浏览 按钮,可以选择项目保存的目录,这些完成后点击 创建 按钮就好了 比如小颖的项目名叫 :test-y…

SpringBoot中一个注解优雅实现重试Retry框架

目录: 1、简介2、实现步骤 1、简介 重试,在项目需求中是非常常见的,例如遇到网络波动等,要求某个接口或者是方法可以最多/最少调用几次;实现重试机制,非得用Retry这个重试框架吗?那肯定不是,相信…

spring-boot 依赖注入流程

一、基本使用 主要是三个注解的使用,Autowired,Value,Resource 二、实现步骤 拦截bean的创建 要想拦截bean,就需要处理spring bean生命周期事件,spring通过一些接口来处理事件,实现属性注入,…

python flask快速入门的10个问题

工作中需要简单写一下web服务来做一些事情,了解到python的flask可以快速启动。梳理一下简单的问题。 1. Flask是什么? Flask是一个Python Web框架,用于快速构建网站和Web应用程序。它是轻量级的,非常易于学习和使用。 2. 如何安…

学习笔记:C语言简介

静态语言&#xff1a;c语言程序设计 c语言教程 C 语言是一种通用的、面向过程式的计算机程序设计语言。&#xff08;静态语言&#xff09; #include <stdio.h> int main() //主函数,表示程序的入口,一个程序有且只能有一个main函数 {/* 我的第一个 C 程序 */printf(&quo…

Let‘s Learn .NET|通过 Semantic Kernel .NET SDK 管理你的 OpenAI 项目

编辑&#xff1a;Alan Wang 排版&#xff1a;Rani Sun Lets Learn .NET 系列 “Lets Learn .NET” 是面向全球的 .NET 初学者学习系列&#xff0c;旨在通过不同语言&#xff0c;帮助不同地区的开发者掌握最新的 .NET 开发知识与技能。 在 ChatGPT 与 OpenAI 火热的当下&#x…

自动驾驶方案及相关对标

华为:2021年4月18日,在华为智能汽车解决方案BU新品发布会上,华为智能汽车解决方案BU总裁王军表示,华为要持续加大对汽车行业的投入,今年在研发上的投资将达到10亿美元,未来每年保持30%左右增长,研发团队超过5000人,其中自动驾驶团队超过2000人。华为将发布五个新产品,…