当前位置: 首页 > article >正文

深度学习 —— 正则化批量归一化BN

正则化概念是什么机器学习/深度学习中防止模型过拟合/提高模型泛化能力的方法L1与L2正则化L1和L2正则化通过在损失函数上添加惩罚项来实现L1正则化在工程中通常引入软阈值操作权重小于某个值时强制为0深度学习中使用L1/L2 正则化的方式Adam/AdamW 中的权重衰减项实现L2正则化深度学习/神经网络中不会单独使用L1正则化梯度优化器对象。参数Dropout 正则化 随机失活1. 概念训练时让神经元以概率p 随机失活输出强制为0并对保留的神经元进行1/(1-p)缩放相当于在训练不同的子网络。类比让部分对应上传让每个队员得到更充分的锻炼。测试时Droput 关闭不失活。使用完整网络进行预测。类比所有队员一起上场。是一种提高模型泛化能力的方法。2. Dropout 随机失活图示随机丢弃部分模型参数 参数P 丢弃概率在训练深层神经网络时由于模型参数较多在数据量不足的情况下很容易过拟合。Dropout 随机失活 是一个简单有效的正则化方法。3. 原理为什么对保留的神经元输出 1/(1-p) 的缩放保证训练过程中网络输出数据均值不变假设没有dropout时网络输出的激活值的均值为mean对应的激活值【x0,x1,...xn】p * n 个激活值为0有Dropout 之后的激活值的平均值是多少mean_dropout (mean * (n-p*n) 0*p*n)/n mean*(1-p)所以dropout 之后的保留神经元的输出要进行1/(1-p)缩放4. APInn.Dropout(p 0.1)参数p设置0 p 1 ,通常p 0.5 ,当模型参数较多时数据量较大时可以适当增加p比如0.4~0.55.什么时候用按这个图例输入 → Linear → 激活 →Dropout→ Linear → 激活 →Dropout→ Linear → Softmax 输出批量归一化 BNBatch Normailization应用在CV计算机视觉领域使用较多尤其CNN网络1. 概念批量归一化属于正则化方法缓解 模型过拟合主要用于CV计算机视觉比如CNN网络中先标准化为均值0方差1的分布然后再进行重构(缩放平移缩放系数和平移系数都是可学习的)进一步提取特征。对每一个batch的数据进行标准化数据分布就变得稳定参数的梯度变化也变得稳定有助于加快模型的收敛。通过标准化每一层的输入使其均值接近0方差接近1从而加速训练并提高泛化能力。2. 公式λ和β是可学习的参数相当于对标准化后的值做了一个线性变换λ为系数β为偏置eps 通常指为 1e-5避免分母为 0E(x) 表示变量的均值Var(x) 表示变量的方差3. 模型训练中绝对顺序线性层 → BN 归一化 → 激活函数4. 涉及到的APICV计算机视觉领域① BatchNorm1d: 处理2D/3D数据主要用于处理文本数据/序列数据NCS②BatchNorm2d: 处理4D数据主要用于二维卷积神经网络Conv2d来处理图片数据NCHW,(N,C,H,W), N批次大小C通道数H高度W宽度③ BatchNorm3d: 处理5D数据主要用于三维卷积神经网络Conv3d,来处理高维的视觉数据比如医学图像卫星遥感视频接收形状为 NCDHW/NCTHW 的张量作为输入。5. 代码示例# 1.创建数据模拟NCHW图片数据 torch.randint(0,256,size(1,3,32,32)) # 1 一张图片 # 3 RGB 彩色图。 # 32 32 高度和宽度 像素 x torch.randint(0,256,size(1,3,32,32)).to(dtypetorch.float32) print(f原始数据x:{x}, shape: {x.shape}) # 2.创建BatchNorm2d层 # running_mean (1 - momentum) * running_mean momentum * batch_mean # running_var (1 - momentum) * running_var momentum * batch_var bn nn.BatchNorm2d( num_features3, # 通道数C eps1e-05, # 极小值防止除零 momentum0.1, # 动量控制参数的更新 affineTrue, # 缩放参数和平移参数是否可学习 ) # 3.输入数据到BatchNorm2d层中 y bn(x) # (1,3,32,32) # 4.打印输出 print(f处理后的数据y:{y}, shape: {y.shape})和机器学习 标准化类似。多了科学系λ和β

相关文章:

深度学习 —— 正则化批量归一化BN

正则化概念是什么? 机器学习/深度学习中,防止模型过拟合/提高模型泛化能力的方法L1与L2正则化L1和L2正则化通过在损失函数上添加惩罚项来实现L1正则化在工程中,通常引入软阈值操作,权重小于某个值时,强制为0深度学习中…...

告别本地显卡焦虑:用阿里云PAI一站式部署ChatGLM3,我的云端AI开发环境搭建实录

告别本地显卡焦虑:用阿里云PAI一站式部署ChatGLM3,我的云端AI开发环境搭建实录 当我在本地用RTX 3060显卡尝试运行ChatGLM3时,风扇的呼啸声和漫长的等待让我意识到——消费级硬件已经难以承载大模型时代的开发需求。经过两周的云端实践&#…...

一根同轴电缆的逆袭:SDI接口如何靠‘复用’老设备,成为专业视频传输的30年常青树?

一根同轴电缆的逆袭:SDI接口如何靠‘复用’老设备,成为专业视频传输的30年常青树? 在技术迭代日新月异的今天,很少有标准能像SDI接口这样,凭借一根75欧姆同轴电缆和BNC接头,在专业视频传输领域屹立30年不倒…...

从华为3COM到H3C再到紫光:一个网络设备品牌的“前世今生”与认证体系变迁

H3C认证体系与产品线演进:网络工程师必备的品牌变迁指南 第一次接触H3C交换机的工程师,往往会对设备型号产生困惑——为什么S3600和S3900性能参数几乎相同?为什么早期教材中提到的HCNE认证如今变成了H3CNE?这些疑问背后&#xff0…...

深入浅出AUTOSAR通信栈:用一张图讲清楚CAN、CANIF、PDUR、COM、CANTP之间的数据流转

AUTOSAR通信栈全景解析:从CAN信号到应用层的可视化数据流 在汽车电子开发领域,AUTOSAR通信协议栈的复杂性常常让工程师们望而生畏。当一条CAN报文从总线进入ECU,到最终被应用层处理,中间究竟经历了哪些模块?每个模块又…...

从TOPS到实际吞吐量:解码AI芯片推理效率的四大关键指标

1. 为什么TOPS不能代表真实性能? 第一次接触AI芯片选型时,我也被厂商宣传的TOPS数值唬住了——直到实际部署时才发现,标称100TOPS的芯片跑ResNet-50的吞吐量还不如另一款40TOPS的芯片。这种"纸面算力"和"实际吞吐量"的落…...

告别串口不够用:手把手教你用WK2124芯片为树莓派/香橙派扩展4个UART

树莓派/香橙派串口扩展实战:WK2124芯片全攻略 当你在树莓派或香橙派上连接多个传感器、执行器或通信模块时,原生串口数量不足的问题常常成为开发瓶颈。WK2124这颗SPI转4串口芯片,能以不到20元的成本完美解决这个痛点。本文将带你从硬件连接到…...

LNMP架构里,Nginx和PHP-FPM到底是怎么‘谈恋爱’的?一次讲清FastCGI通信原理与调优

LNMP架构中Nginx与PHP-FPM的通信奥秘:从FastCGI原理到实战调优 当你的网站访问量从每天几百跃升到数万时,是否遇到过页面加载突然变慢的情况?作为经历过多次流量高峰的运维老兵,我发现90%的LNMP性能问题都源于Nginx与PHP-FPM的&qu…...

别再傻傻分不清!OBW、IBW、RBW、VBW,5分钟搞懂射频工程师的四种‘带宽’

射频工程师的四种带宽:从概念到实战的深度解析 刚接触射频工程的新人,面对各种"BW"缩写时,常常一头雾水。OBW、IBW、RBW、VBW这些看似简单的术语背后,隐藏着通信系统设计与测试的核心逻辑。理解这些概念的区别和应用场景…...

【应用方案】语音 + 触控 + 灯效融合,AI 线控器重构智能家电交互体验

在智能家居、家电设备飞速普及的当下,线控器作为人与设备交互的核心入口,长期以来多以“实用工具”的身份默默存在——机械按键的刻板操作、有限的功能边界,让它始终难以突破“基础控制”的局限。而随着端侧AI技术的指数级爆发,这…...

全面掌握QtScrcpy:高效实现Android设备屏幕镜像与控制的终极指南

全面掌握QtScrcpy:高效实现Android设备屏幕镜像与控制的终极指南 【免费下载链接】QtScrcpy Android real-time display control software 项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy QtScrcpy是一款功能强大的开源Android屏幕镜像与控制软…...

Godot游戏资源提取:3分钟学会PCK文件解包技巧

Godot游戏资源提取:3分钟学会PCK文件解包技巧 【免费下载链接】godot-unpacker godot .pck unpacker 项目地址: https://gitcode.com/gh_mirrors/go/godot-unpacker 你是否玩过Godot引擎开发的游戏,被里面的精美素材吸引却无法获取?Go…...

逆向知乎x-zse-96参数时,我踩过的那些‘环境坑’:从Canvas到Window原型链的完整避坑指南

逆向知乎x-zse-96参数的环境陷阱全解析:从Canvas指纹到原型链检测的实战指南 当你在Node.js环境中完美复现了知乎x-zse-96参数的加密逻辑,却发现生成的签名始终无法通过服务端验证时,问题往往不在算法本身——那些隐藏在浏览器环境中的魔鬼细…...

量子电路经典模拟:理论与工程实践

1. 量子电路经典模拟的理论基础量子计算的经典模拟问题一直是理论计算机科学和量子物理交叉领域的核心课题。在参数化量子电路(PQC)和测量后量子电路(MPQC)的研究中,理解其经典可模拟性边界具有重要的理论和实践意义。1.1 局部可观测量估计的关键作用量子电路模拟的…...

量子控制中的运动诱导误差与深度强化学习优化

1. 量子控制中的运动诱导误差:原理与挑战量子控制技术是现代量子计算与量子信息处理的核心基础,其本质是通过精确调控量子系统的哈密顿量来实现目标量子态操作。在冷原子系统中,我们通常利用激光与原子相互作用产生的拉比振荡来实现量子比特操…...

LoRa网络‘侦察兵’:深入SX126x CAD原理,从调制解调器视角看懂信号检测

LoRa网络‘侦察兵’:深入SX126x CAD原理,从调制解调器视角看懂信号检测 在低功耗广域物联网(LPWAN)应用中,LoRa技术凭借其出色的通信距离和抗干扰能力成为行业标杆。但鲜为人知的是,支撑这些优势的核心技术…...

别只盯着Windows了!Fyne跨平台开发环境全攻略:从macOS、Linux到树莓派,一篇搞定

别只盯着Windows了!Fyne跨平台开发环境全攻略:从macOS、Linux到树莓派,一篇搞定 当开发者们谈论跨平台GUI开发时,往往第一个想到的是Electron或Qt。但如果你是一名Go语言爱好者,Fyne绝对是值得尝试的轻量级替代方案。与…...

NsEmuTools:如何快速部署和管理NS模拟器的终极解决方案

NsEmuTools:如何快速部署和管理NS模拟器的终极解决方案 【免费下载链接】ns-emu-tools 一个用于安装/更新 NS 模拟器的工具 项目地址: https://gitcode.com/gh_mirrors/ns/ns-emu-tools 还在为NS模拟器的繁琐安装和版本管理而烦恼吗?NsEmuTools为…...

支持向量机(SVM)原理与应用实战指南

1. 支持向量机:机器学习中的"边界大师"第一次听说支持向量机(SVM)时,我正为一个医疗诊断项目焦头烂额。我们需要区分两种极易混淆的细胞类型,传统逻辑回归的准确率始终卡在82%左右。直到一位前辈建议:"试试SVM吧&a…...

C4D R26全新界面实战:手把手教你自定义工作区,效率提升200%

C4D R26全新界面实战:手把手教你自定义工作区,效率提升200% 从R21/R25升级到R26的用户,第一反应往往是"我的工具栏去哪了?"。这个版本彻底重构了界面逻辑,将原先分散的功能模块重组为情境化工作区——这既是…...

微积分学习必备:代数、三角与函数分析基础

1. 微积分预备知识全景指南刚接触微积分时,我常看到学生因为忽略基础准备而陷入困境。就像盖楼需要打地基,学习微积分前必须掌握代数、三角学和函数分析这三块基石。本文将带你系统梳理这些关键预备知识,并分享我十五年来总结的高效学习方法。…...

Qt 6.5实战:用QMediaPlayer和QVideoWidget快速打造一个带界面的本地视频播放器

Qt 6.5实战:10分钟构建带UI的本地视频播放器 在当今多媒体应用泛滥的时代,快速开发一个功能完备的视频播放器仍然是许多C开发者的常见需求。Qt 6.5作为跨平台GUI框架的最新版本,其多媒体模块提供了令人惊艳的开发效率。本文将带你跳过冗长的理…...

算法训练营第11天| 80. 删除有序数组中的重复项

题目链接: https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/ 视频链接: https://www.bilibili.com/video/BV18G5UzzE8c/ 我的代码: https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/submissi…...

ZEROSIM框架:Transformer加速模拟电路设计

1. 项目概述:ZEROSIM框架的创新价值模拟电路设计一直是电子设计自动化(EDA)领域最具挑战性的环节之一。传统设计流程中,工程师需要反复进行SPICE仿真来评估电路性能,这个过程往往消耗整个设计周期70%以上的时间。以一个…...

Redis Stream实战:手把手教你用XGROUP CREATE解决‘NOGROUP’报错,搞定异步秒杀队列

Redis Stream实战:从零构建高可靠异步秒杀队列 最近在帮朋友优化一个电商秒杀系统时,遇到了一个典型问题:项目启动后频繁出现NOGROUP报错,导致整个异步队列机制瘫痪。这让我意识到,很多开发者在使用Redis Stream时&…...

超表面技术在无线安全通信中的应用与原理

1. 超表面技术基础与无线安全原理超表面(Metasurface)是一种由亚波长结构单元组成的人工电磁材料,能够对电磁波的相位、幅度和极化等特性进行精确调控。与传统天线不同,超表面通过大量微型可调元件(如变容二极管、MEMS开关等)的协同工作,实现…...

避坑指南:ArcGIS中河网上下游分析,为什么你的流向总是不对?

ArcGIS河网流向分析全攻略:从原理到实战避坑指南 从事水利规划或流域分析的朋友们,一定遇到过这样的困扰——明明按照标准流程操作,ArcGIS中的河网流向却总是不按预期显示。下游分析结果莫名其妙,追踪路径半路中断,反复…...

Zustand和Pinia的对比(谁更好用)

先给结论:没有绝对更好,只看你用什么框架、项目规模、开发需求;Vue项目:无脑pinia(官方原生、生态、调试全拉满)React项目:Zustand几乎全方位吊打旧方案,比Pinia更适配React两者框架…...

丝杆升降机频繁启动该如何保养?

频繁启动对丝杆升降机是严峻考验,保养必须“加码”。以下是针对性的保养要点,我们分项说明:核心策略:更勤、更强、更智能1. 润滑是第一生命线,必须“少量多次”频繁启停会产生更多热量和剪切力,油脂容易变稀…...

RISC-V IDE混战,我为什么最终选择了Segger Embedded Studio?

RISC-V IDE选型实战:为何Segger Embedded Studio成为我的最终选择? 当兆易创新GD32V103开发板静静躺在桌面上时,我意识到这个预算有限的物联网网关项目正面临关键抉择——在碎片化的RISC-V生态中,如何选择一款既符合团队技术栈又能…...