深度学习:神经网络模型的剪枝和压缩简述

news2024/10/10 14:29:24

深度学习的神经网路的剪枝和压缩,大致的简述,

主要采用: network slimming,瘦身网络...

深度学习网络,压缩的主要方式:
1.剪枝,nerwork pruing,
2.稀疏表示,sparse representation,    本是正态分布的,存在稀疏参数0.001等等,将接近0的缩放因子,全部摘除,
3.量化,bit precision,            低精度表示,不用浮点数,用整数,如int8、更少的bit,甚至20毫,
4.知识蒸馏,knowledge distillation,


神经网络,往往过度参数化,会对结果造成干扰和负担,所以要将他减掉,

剪枝技术介绍:
1.权重pt剪枝:    摘掉几个中间的权重,非结构化,不利于部署,  实现困难,硬件gpu也不支持,
2.神经元剪枝:    摘掉几个中间的神经元,不重要的通道,影响较小,可有可无,


network sliming,瘦身网络...    比较经典的网络剪枝方法。

原理:    不同的卷积层 ---->>> 通道缩放因子---->>> 新的卷积层。
网络初始化层中:(结构化的剪枝方法)    (流程简述)
        缩放因子,稀疏正则化,剪枝,微调

1.缩放因子:      参数比例,存在极小比例的缩放因子,如0.001等等,
2.稀疏正则化:    对缩放因子,进行稀疏正则化,可以自动识别不重要的通道,
3.剪枝:        具有较小缩放因子的通道将被剪枝,
4.微调:        剪枝后的紧凑模型(compact network),会精度下降,
                      需要微调达到正常训练网络的恢复,甚至超越!!!

网络瘦身-流程图:

初始化网络-> 通道:稀疏正则化训练 -> 剪除:小缩放因子通道 -> 微调: 剪枝后网络 -> 紧凑模型(compact network)
                 在,            初始化网络->紧凑模型(compact network)                                                                                         之间多次,不断重复流程,迭代多次。

对于跨层链接:
            正则化和预激活正则化来说,如resnet等架构,他们存在跳过的支路,BN在剪枝之前
            剪完后,容易出现通道不匹配现象,不能直接相加,
            必须采用: channel selection,与未被剪枝的后续通道相加,相当于多了一条连接线,

windows输入特殊符号:   win+r,召唤出cmd命令行,    按下charmap,跳出特殊字符表。。。

不同的稀疏正则化,随着缩放因子λ的增大,而越来越稀疏。
但是,缩放因子λ太大会导致精度变差,后续的微调fine-tuning变难。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1568012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于向量数据库搭建自己的搜索引擎

前言【基于chatbot】 厌倦了商业搜索引擎搜索引擎没完没了的广告,很多时候,只是需要精准高效地检索信息,而不是和商业广告“斗智斗勇”。以前主要是借助爬虫工具,而随着技术的进步,现在有了更多更方便的解决方案&…

2024-HW --->SSRF

这不是马上准备就要护网了嘛,如火如荼的报名ing!!!那么小编就来查缺补漏一下以前的web漏洞,也顺便去收录一波poc!!!! 今天讲的主人公呢就是SSRF,以前学的时候…

QA测试开发工程师面试题满分问答5: 内存溢出和内存泄漏问题

概念阐述 内存溢出(Memory Overflow)和内存泄漏(Memory Leak)是与计算机程序中的内存管理相关的问题,它们描述了不同的情况。 内存溢出是指程序在申请内存时,要求的内存超出了系统所能提供的可用内存资源…

不到2000字,轻松带你搞懂STM32中GPIO的8种工作模式

大家好,我是知微! 学习过单片机的小伙伴对GPIO肯定不陌生,GPIO (general purpose input output)是通用输入输出端口的简称,通俗来讲就是单片机上的引脚。 在STM32中,GPIO的工作模式被细分为8种…

N1912A安捷伦N1912A功率计

181/2461/8938产品概述: 安捷伦N1912A双通道P系列宽带功率传感器为R&D和制造工程师提供精确和可重复的功率测量,应用市场包括航空航天和国防(雷达)、无线通信和无线802.11a/b/g网络。该仪表/传感器组合提供的测量包括峰值功率…

XXLJob中GLUE模式实现在线编写java/shell/python/php/nodejs/powerShell---SpringCloud工作笔记202

1.起因: 之前就一直想实现类似的功能,今天总于找到有可以参考的东西了,这个思路可以帮助实现这种功能. 2.获得灵感 就是:我想实现通过在线编写代码,来扩展我们平台的能力,这样随着业务的扩展,不用我们每次都修改了代码,再去部署,这样就比较麻烦,今天偶尔发现,对于xxljob来说.有…

React 入门

一、官网地址 英文官网: https://reactjs.org/中文官网: https://react.docschina.org/ 二、React 特点 声明式编码组件化编码React Native 编写原生应用高效(优秀的 Diffing 算法)高效的原因:1.使用虚拟DOM,不总是直接操作页面…

从 Redis 开源协议变更到 ES 国产化:一次技术自主的机遇

引言 近日,Redis Labs 宣布其主导的开源项目 Redis 将采用双重源代码可用许可证(RSALv2)和服务器端公共许可证(SSPLv1)。这一重大决策标志着 Redis 从传统的 BSD 许可证向更加严格的控制权转变,同时也引发…

AlexNet网络模型

AlexNet 是一个深度卷积神经网络,由 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 在 2012 年的 ImageNet 大规模视觉识别挑战赛(ILSVRC)中首次提出并获得了显著的成功。它是深度学习历史上一个里程碑式的模型,对后来的深…

如何使用PL/SQL Developer工具导出clob字段的表?

1 准备测试数据 导出测试对象:表test_0102,others字段为clob类型 --创建中间表test_0101 create table test_0101( id number, name varchar2(20), others clob);--插入100条测试数据 beginfor i in 1..100 loopinsert into test_0101 values(i,i||_a,l…

文件批量重命名管理,一键将图片的名称进行统一重命名,高效管理文件

在数字时代,我们的生活中充满了各种文件,特别是图片文件。随着时间的推移,我们可能会遇到这样的问题:文件命名不规范,难以快速找到需要的图片。这时,一款强大的文件批量重命名管理工具就显得尤为重要。 首…

JavaScript(一)基础

文章目录 一、JS介绍JavaScript是什么JavaScript书写位置JavaScript的注释输入输出语法字面量 二、变量变量是什么变量基本使用变量的本质变量命名规则与规范变量拓展-数组var与let的区别 三、常量四、数据类型数据类型检测数据类型数据类型转换隐式转换显式转换 简单运算符断点…

git分支-基本分支与合并

问题假设 让我们通过一个简单的分支和合并的例子,演示在实际工作中可能会使用的工作流程。将按照以下步骤进行: 在网站上进行一些工作。为正在开发的新用户故事创建一个分支。在该分支上进行一些工作。 在这个阶段,我们可能会接到一个电话…

LC 144.二叉树的前序遍历

二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入: root [1,null,2,3] 输出:[1,2,3] 示例 2: 输入: root [] 输出:[] 示例 3: 输入&…

2024年 CS2最佳游戏启动项

引言: Counter-Strike 2(CS 2)是一款备受瞩目的游戏,而启动选项则是影响游戏性能和体验的关键因素之一。然而,有关所有选项都应该强制使用的说法并不正确。事实上,大多数选项可能对某些计算机并不适用&…

go 指针和内存分配

定义 了解指针之前,先讲一下什么是变量。 每当我们编写任何程序时,我们都需要在内存中存储一些数据/信息。数据存储在特定地址的存储器中。内存地址看起来像0xAFFFF(这是内存地址的十六进制表示)。 现在,要访问数据…

讲讲你对数据结构-线性表了解多少?

线性表 - 数组和矩阵 当谈到线性表时,数组和矩阵是两种常见的数据结构。 数组(Array): 数组是有序的元素集合,可以通过索引来访问和操作其中的元素。它是最简单、最基本的数据结构之一。数组的特点包括: …

ctf_show笔记篇(web入门---SSRF)

ssrf简介 ssrf产生原理: 服务端存在网络请求功能/函数,例如:file_get_contens()这一类类似于curl这种函数传入的参数用户是可控的没有对用户输入做过滤导致的ssrf漏洞 ssrf利用: 用于探测内网服务以及端口探针存活主机以及开放服务探针是否存…

计算机网络:局域网的数据链路层

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

【2024红明谷】三道Web题目的记录

红明谷 文章目录 红明谷Web1 | SOLVED LaterWeb2 | UNSOLVEDWeb3 | SOLVED 容器已经关咯,所以有些场景只能靠回忆描述啦,学习为主,题目只是一个载体~ 本次比赛学习为主,确实再一次感受到久违的web题目的魅力了,可能也是…