【Datawhale组队学习】模型减肥秘籍:模型压缩技术4——神经网络架构搜索
神经网络架构搜索是通过自动化方法来设计神经网络架构的一种技术,与传统手工设计网络结构相比,NAS能够在大量可能的架构中进行搜索,找到最优的神经网络架构,从而减少人工调参和设计的时间。学习这章时,重点在于理解NAS的基本原理、搜索策略、评价标准,以及如何应用这些方法在不同的机器学习任务中找到有效的网络架构。
基本原理
NAS通过定义搜索空间、搜索策略和评价方法来自动探索网络架构。首先,NAS需要确定一个搜索空间,即可能的网络结构的集合。然后,通过某种算法在这个搜索空间中不断搜索,找到最佳的架构,这个过程会通过模型在验证集上的准确率来衡量不同架构的性能。
搜索策略
- 强化学习将架构搜索过程看作一个序列决策问题,用强化学习的策略梯度方法来找到最优的架构。在这种方法中,一个控制器、会生成一系列的网络结构,然后将这些结构训练并评估其表现,根据表现来更新控制器的参数,逐渐提升生成优质网络架构的概率。
- 进化算法模仿自然选择的过程,使用遗传算法对网络架构进行迭代优化。在这种策略中,首先随机生成一批初始网络架构,评估它们的表现,并根据表现选择表现较好的“个体”进行“繁殖”,通过交叉、变异等操作产生新架构,经过多代迭代,逐渐逼近最优架构。
- 贝叶斯优化通过构建一个概率模型来预测不同网络架构的表现,从而指导搜索。这种方法通常用于搜索连续的超参数,但在NAS中可以对不同架构进行采样,更新模型,并用模型来选择下一个最有潜力的架构。
- 基于梯度的方法:DARTS(Differentiable Architecture Search)是这种方法的典型代表,通过将架构的搜索问题连续化,使得可以直接用梯度下降进行优化。这种方法的特点是速度快,因为可以利用现有的梯度优化工具。
NAS中的评价标准通常包括以下几类:
- 准确率
最常用的评价标准是模型在验证集或测试集上的准确率或其他衡量模型性能的指标,比如精度、召回率、F1分数等。这些指标反映了模型在给定任务上的预测能力,是衡量模型好坏的核心标准。 - 计算成本
NAS不仅关注模型的准确率,还需要考虑其计算效率和部署的可行性。常见的计算成本指标有以下几种: - 浮点运算次数:衡量模型的复杂度和计算量,FLOPs较低意味着模型运算量小,更适合嵌入式设备或低功耗场景。
• 参数数量:模型参数的总数也是一种评价标准,参数少的模型通常在存储上更为高效,适用于内存有限的设备。
• 推理延迟:衡量模型在目标硬件上的推理时间,特别在需要实时处理的任务中(如物体检测),推理延迟是一个重要的性能衡量指标。 - 模型大小
模型的存储大小是影响其在实际应用中是否可以部署的关键因素,尤其是在边缘计算或移动端设备上。因此,NAS会考虑模型的存储需求,选择那些既精度高又占用较少存储空间的架构。 - 训练时间和资源消耗
由于NAS需要评估大量网络架构,因此模型的训练时间和资源消耗也是一个重要的考量因素。更快的训练时间可以加速整个搜索过程。为了减少搜索成本,常使用代理模型来快速估计性能,或者采用早停策略来避免不必要的计算。 - 多目标权衡
在许多实际应用中,评价标准可能是多个目标的综合,比如希望找到一个既能保证高精度又具备低计算成本的模型。为此,NAS中的搜索会优化这些多目标的加权组合,寻找在精度、计算效率和模型复杂度之间达到最佳平衡的网络架构。 - 能效
在边缘计算或低功耗场景中,能效也是一个关键评价标准。NAS会评估模型的能耗情况,选择那些推理时能量消耗较低的架构,这对于设备运行时间有限的场景尤为重要。
参考文献
- https://www.dropbox.com/scl/fi/lfcbzfbr3t2z9joz9ymt0/lec07.pdf?rlkey=yzx2o9bjnhzi5tstwevmcu6qv&e=1&dl=0
- https://www.datawhale.cn/learn/content/68/964
相关文章:
【Datawhale组队学习】模型减肥秘籍:模型压缩技术4——神经网络架构搜索
神经网络架构搜索是通过自动化方法来设计神经网络架构的一种技术,与传统手工设计网络结构相比,NAS能够在大量可能的架构中进行搜索,找到最优的神经网络架构,从而减少人工调参和设计的时间。学习这章时,重点在于理解NAS…...
用el-scrollbar实现滚动条,拖动滚动条可以滚动,但是通过鼠标滑轮却无效
问题: 用elementplus实现的滚动条的页面中,滑动滚动条可以滚动,但是通过鼠标滑轮却无效,鼠标没有问题。 解决: 在开发者工具中, 元素->时间监听器中发现当我移除网页中祖先元素的滚动事件,该…...
windows下,用CMake编译qt项目,出现错误By not providing “FindQt5.cmake“...
开发环境:windows10 qt5.14, 编译器msvc2017x64,CMake3.30; 现象: CMakeList文件里,如有find_package(Qt5 COMPONENTS Widgets REQUIRED) target_link_libraries(dis_lib PRIVATE Qt5::Widgets) 用CMak…...
windows实现VNC连接ubuntu22.04服务器
最近弄了一个700块钱的mini主机,刷了ubuntu22.04系统,然后想要在笔记本上通过VNC连接,这样就有了一个linux的开发环境。最后实现的过程为: 安装vnc服务器 安装 VNC 服务器软件: sudo apt update sudo apt install t…...
SQL注入--联合注入--理论
什么是SQL注入? SQL注入(SQL Injection)是一种常见的Web安全漏洞。 形成的主要原因是web应用程序在接收相关数据参数时未做好过滤,将其直接带入到数据库中查询,导致攻击者可以拼接执行构造的SQL语句,从而获…...
LaTeX 利用注销 ccmap 宏包实现降重功能
在中文LaTeX中,ccmap 宏包的主要作用是支持复制和粘贴时正确处理中文字符的编码。它的功能对于生成的PDF文档尤其有用,使得PDF中的中文字符在被复制到其他地方时能够以正确的编码显示,而不是乱码或其他不正确的字符。 以下是ccmap的详细功能…...
NVR接入录像回放平台EasyCVR视频融合平台加油站监控应用场景与实际功能
在现代社会中,加油站作为重要的能源供应点,面临着安全监管与风险管理的双重挑战。为应对这些问题,安防监控平台EasyCVR推出了一套全面的加油站监控方案。该方案结合了智能分析网关V4的先进识别技术和EasyCVR视频监控平台的强大监控功能&#…...
经验笔记:远端仓库和本地仓库之间的连接(以Gitee为例)
经验笔记:远端仓库和本地仓库之间的连接 方法一:先创建远端仓库,再克隆到本地 创建远端仓库 登录到你的Git托管平台(如Gitee、GitHub、GitLab、Bitbucket等)。点击“New Repository”或类似按钮,创建一个新…...
趋势洞察|AI 能否带动裸金属 K8s 强势崛起?
随着容器技术的不断成熟,不少企业在开展私有化容器平台建设时,首要考虑的问题就是容器的部署环境——是采用虚拟机还是物理机运行容器?在往期“虚拟化 vs. 裸金属*”系列文章中,我们分别对比了容器部署在虚拟化平台和物理机上的架…...
数据科学与SQL:组距分组分析 | 区间分布问题
目录 0 问题描述 1 数据准备 2 问题分析 3 小结 0 问题描述 绝对值分布分析也可以理解为组距分组分析。对于某个指标而言,一个记录对应的指标值的绝对值,肯定落在所有指标值的绝对值的最小值和最大值构成的区间内,根据一定的算法&#x…...
Cesium的ClearCommand的流程
ClearCommand是在每帧渲染前可以将显存的一些状态置为初始值,就如同把擦黑板。当然也包括在绘制过程中擦掉部分的数据,就如同画家在开始绘制的时候会画导览线(如透视线),轮廓出来后这些导览线就会被擦除。 我画了一个…...
DBeaver错误:Public Key Retrieval is not allowed
问题原因 MySQL 8.0 默认使用 caching_sha2_password 认证插件,并要求客户端能够使用 RSA 公钥进行加密操作。如果客户端无法正确处理 RSA 公钥检索,就会触发这个错误。 解决方案 右键编辑连接-连接设置-属性驱动-修改allowPublicKeyRetrieval属性的值…...
slice介绍slice查看器
Android Jetpack架构组件(十)之Slices - 阅读清单 - 腾讯云开发者社区-腾讯云 slice 查看器apk 用adb intall 安装 Releases android/user-interface-samples GitHubMultiple samples showing the best practices in the user interface on Android. - Releases android/u…...
Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)(很详细)
我试了似乎不支持vue3 原文链接:Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)-阿里云开发者社区...
缓存工具类编写
缓存工具类编写 一般操作 在外面日常开发中,经常会有为了减少数据库压力,而将数据保存到缓存中并设置一个过期时间的操作。日常代码如下: Autowired private RedisTemplate<String, String> redisTemplate;public Object queryDataW…...
基于Java Springboot高校会议室预订管理系统
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…...
redis-击穿、穿透、雪崩
击穿、穿透、雪崩经常听人说吧? 那他到底是啥呢?无非就是在有缓存层的情况下,对各种绕过缓存层从而直接落到了DB上的情况进行的分类。 概念性的东西大概如下,我是记不住,后期具体使用与规避这些问题才是大事ÿ…...
javascrip页面交互
元素的三大系列 offset系列 offset初相识 offset系列属性 作用 element.offsetParent 返回作为该元素带有定位的父级元素,如果父级没有定位,则返回body element.offsetTop 返回元素相对于有定位父元素上方的偏移量 element.offsetLeft 返回元素…...
PAL(Program-Aided Language Model)
PAL(Program-Aided Language Model)是一种结合生成式语言模型(如 GPT)和程序执行能力的技术框架。它的核心思想是通过让语言模型生成代码或程序来解决复杂任务,程序执行的结果反过来增强语言模型的输出准确性和逻辑性。…...
Altium Designer学习笔记 6-10 异性元件库创建_原理图绘制
基于Altium Designer 23学习版,四层板智能小车PCB 更多AD学习笔记:Altium Designer学习笔记 1-5 工程创建_元件库创建 目录 6、光耦及二极管元件库模型创建 7、元件库模型的调用 二、原理图绘制及编译检查 8、元件的放置 9、器件的复制及对齐 10、…...
Qt-多元素控件
Qt中的多元素控件 Qt提供的多元素控件有: 这里的多元素控件都是两两一对的。 xxWidget和xxView的一个比较简单的理解就是: xxView是更底层的实现, xxWidget是基于xxView封装来的。 可以说,xxView使用起来比较麻烦,但…...
网络安全-web架构-nginx配置
1. nginx访问: 访问的是index.html, 访问ip访问的资源就是在/usr/share/nginx/html中; 当nginx不认识,浏览器认识的话,浏览器会自动渲染。 当nginx认识,浏览器不认识的话,浏览器会把它加载成…...
CPU性能优化--微操作
x86 架构处理器吧复杂的CISC指令转为简单的RISC微操作。这样做最大的优势是微操作可以乱序执行,一条简单的相加指令--比如ADD,EAX, EBX,只产生一个微操作,而很多复杂指令--比如ADD, EAX 可能会产生两个微操作,一个将数…...
开源许可协议
何同学推动了开源协议的认识,功不可没,第一次对开源有了清晰的认识,最宽松的MIT开源协议 源自OSC开源社区:何同学使用开源软件“翻车”,都别吵了!扯什么违反MIT...
React核心功能详解(一)
React是一个流行的JavaScript库,用于构建用户界面。其高级核心功能涵盖了多个方面,以下是对这些功能的详解: 一、组件化与模块化 组件化开发:React提倡将用户界面拆分成多个独立的组件,每个组件负责管理自己的状态和…...
在vue中,根据后端接口返回的文件流实现word文件弹窗预览
需求 弹窗预览word文件,因浏览器无法直接根据blob路径直接预览word文件,所以需要利用插件实现。 解决方案 利用docx-preview实现word文件弹窗预览,以node版本16.21.3和docx-preview版本0.1.8为例 具体实现步骤 1、安装docx-preview插件 …...
基于Spring Boot的同城宠物照看系统的设计与实现
摘 要 科学技术日新月异,人们的生活都发生了翻天覆地的变化,同城宠物照看系统当然也不例外。过去的信息管理都使用传统的方式实行,既花费了时间,又浪费了精力。在信息如此发达的今天,我们可以通过网络这个媒介&#x…...
Python操作neo4j库py2neo使用之py2neo 删除及事务相关操作(三)
Python操作neo4j库py2neo使用之py2neo 删除及事务相关操作(三) py2neo 删除 1、连接数据库 from py2neo import Graph graph Graph("bolt://xx.xx.xx.xx:7687", auth(user, pwd), nameneo4j)2、删除节点 # 删除单个节点 node graph.node…...
二分基本实现
模板 一般题目看到,最大,最小时优先考虑二分 //将区间分为 [l,mid-1] int erfen1(int l,int r) {while(l<r){int mid(lr1)/2;if(check())lmid;elsermid-1;}return l; }//将区间分为 [mid1,r] int erfen2(int l,int r) {while(l<r){int mid(lr)/2…...
数据结构中的随机抽取和顺序存取
在数据结构领域,随机存取与顺序存取是两种基本的存储模式。这两种模式在很大程度上决定了数据的组织与访问方式,从而对数据处理效率和存储空间的利用效果产生重要影响。本文将进一步探讨这两种存储模式的特点及其差异。 随机存取 随机存取,…...
大数据新视界 -- 大数据大厂之 Impala 性能优化:跨数据中心环境下的挑战与对策(上)(27 / 30)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
GPT中转站技术架构
本文介绍阿波罗AI中转站(https://api.ablai.top/)的技术架构,该中转API的技术架构采用了分布式架构、智能调度和API中转等技术,确保了全球范围内的高效访问和稳定运行。以下是对该技术架构的详细分析: 分布式架构 分…...
忽然就卷起来的AI Coding 赛道
忽然就卷起来的AI Coding 赛道 原创 松子 松子聊数据 2024年11月22日 17:03 2023年,大模型的爆发让整个行业经历了一场“拼尽一切”的竞赛——拼算力、拼参数、拼语料,再到今天开始拼智能体。 每一步都是技术的跃迁,也让市场竞争愈发白热化…...
十大网络安全事件
一、私有云平台遭攻击,美国数千家公司工资难以发放 1月,专门提供劳动力与人力资本管理解决方案的美国克罗诺斯(Kronos)公司私有云平台遭勒索软件攻击,事件造成的混乱在数百万人中蔓延。 克罗诺斯母公司UKG集团…...
1+X应急响应(网络)病毒与木马的处置:
病毒与木马的处置: 病毒与木马的简介: 病毒和木马的排查与恢复:...
nohup java -jar supporterSys.jar --spring.profiles.active=prod
文章目录 1、ps -ef | grep java2、kill 13713、ps -ef | grep java4、nohup java -jar supporterSys.jar --spring.profiles.activeprod &5、ps -ef | grep java1. 启动方式进程 1371进程 19994 2. 主要区别3. 可能的原因4. 建议 1、ps -ef | grep java rootshipper:~# p…...
二进制 分析工具:Radare2、r2frida、Binutils、file、string、as、nm、ldd、objdump、readelf、strip
1、二进制 分析工具 工欲善其事,必先利其器,在二进制安全的学习中,使用工具尤为重要。遇到一个不熟悉的文件时, 首先要确定 "这是什么类型的文件",回答这个问题的首要原则是,绝不要根据文件的扩…...
【Linux】基本指令
一、基本指令 1、pwd 语法:pwd 功能:显示用户当前所在的目录。 2.ls 语法:ls [命令行选项][目录或文件](对于选项可以是0个或多个) 功能:对于目录,该命令该目录下的目录和文件。对于文件,将列出文件名…...
Failed to start Docker Application Container Engine
说明: 1)访问应用业务,读取不到数据,show databases;查看数据库报错 2)重启docker服务,服务启动失败,查看日志报错如下图所示 3)报错信息:chmod /data/docker: read-only…...
043 商品详情
文章目录 详情页数据表结构voSkuItemVo.javaSkuItemSaleAttrVo.javaAttrValueAndSkuIdVo.javaSpuAttrGroupVo.javaGroupAttrParamVo.java pom.xmlSkuSaleAttrValueDao.xmlSkuSaleAttrValueDao.javaAttrGroupDao.xmlAttrGroupServiceImpl.javaSkuInfoServiceImpl.javaSkuSaleAtt…...
股指期货的套保策略如何精准选择和规避风险?
在金融市场中,股指期货作为一种重要的风险管理工具,常被投资者用来规避投资风险。其原理在于,股指期货与现货股指的走势高度相关,因此可以通过在期货市场上建立与现货头寸相反的头寸,来对冲掉现货市场的价格波动风险。…...
基于物联网设计的人工淡水湖养殖系统(华为云IOT)_253
文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成【4】设计意义【5】国内外研究现状【6】摘要1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发1.5 参考文献1.6 系统框架图1.7 系统原理图1.8 实物图1.9…...
【动手学深度学习Pytorch】4. 神经网络基础
模型构造 回顾一下感知机。 nn.Sequential():定义了一种特殊的module。 torch.rand():用于生成具有均匀分布的随机数,这些随机数的范围在[0, 1)之间。它接受一个形状参数(shape),返回一个指定形状的张量&am…...
python高阶技巧一
闭包 简单认识一下闭包 以下代码,内层inner函数不仅依赖于自身的参数b,还依赖于外层outer函数的参数a。inner就是一个闭包函数,既能访问外部变量,又保证外部变量不是全局的,不会被篡改掉,确保了外部变量的…...
智慧环保生态文明信息化解决方案
1. 生态文明建设背景 随着国家对生态文明建设的重视,一系列政策文件相继出台,将生态文明建设纳入国家发展总体布局,加大资源消耗、环境保护等指标权重,推动生态文明体制改革。 2. 智慧环保的定义与发展 智慧环保作为数字环保的…...
【Linux】权限
🌻个人主页:路飞雪吖~ 🌠专栏:Linux 目录 ⭐Linux权限的概念 🌟权限管理 <1>文件访问者的分类 <2>文件类型和访问权限 <3>文件权限值的表示方法 <4>文件访问权限的相关设置方法 ✨chmod…...
docker 部署 kvm 图形化管理工具 WebVirtMgr
镜像构建 官方最后一次更新已经是 2015年6月22日 了,官方也没有 docker 镜像,这边选择咱们自己构建如果你的服务器有魔法,可以直接 git clone 一下 webvirtmgr 的包,没有的话,可以和我一样,提前从 github 上…...
Next.js- 链接和导航
#题引:我认为跟着官方文档学习不会走歪路 在介绍路由导航之前先了解下客户端组件和服务端组件 服务端组件(Server Components) (1) 渲染方式: 在服务器上渲染,生成 HTML 后发送到客户端。适…...
主机管理工具 WGCLOUD v3.5.6 更新了哪些特性
WGCLOUD-v3.5.6 更新说明,2024-11-20发布 1. 新增,个性化采集,查看 2. 新增,支持达梦数据库做数据源来存贮监控数据,查看说明(8) 3. 新增,日志监控支持配置自动处理指令,当发现日志出现告警关键…...
空间数据存储格式GeoJSON
GeoJSON 是一种用于表示地理信息的开放标准格式,广泛用于存储和交换地理空间数据。它基于 JSON 格式,因此易于理解和处理,尤其适用于 Web 和 JavaScript 环境中的地图应用。GeoJSON 支持多种地理信息类型,如点、线、面、坐标系统等…...