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

深度学习中的正则化技术 - 噪声鲁棒性篇

序言

在深度学习的蓬勃发展中,模型的性能与泛化能力成为了研究者们关注的焦点。然而,实际应用中的数据往往伴随着各种噪声,这些噪声不仅来源于数据采集过程中的硬件限制,还可能由环境干扰、传输错误等因素引入。噪声的存在严重影响了深度学习模型的训练效果和预测准确性,尤其是在语音识别、图像分类等任务中更为显著。因此,提升深度学习模型的噪声鲁棒性,即增强模型在噪声环境下的稳定表现和识别能力,成为了当前研究的一个重要方向。通过设计更有效的数据预处理算法、优化模型结构以及引入噪声增强训练等技术手段,可以显著提高深度学习模型对噪声的抵抗能力,从而推动其在更多复杂场景下的应用。

噪声鲁棒性

  • 在深度学习中的正则化技术 - 数据集增强篇中已经启发将噪声作用于输入,作为数据集增强策略。对于某些模型,在模型的输入加上方差极小的噪音等价于对权重加范数惩罚(Bishop, 1995a,b)。在一般情况下,噪声注入远比简单地收缩参数强大,特别是噪声被添加到隐藏单元时更加强大。向隐藏单元添加噪音是值得单独讨论重要的话题
  • 另一种正则化模型的噪声使用方式是将其加到的权重。这项技术主要用于循环神经网络(Jim et al., 1996; Graves, 2011)。这可以解释为关于权重的贝叶斯推断的随机实现。使用贝叶斯处理学习过程将权重视为不确定的,并且可以通过概率分布表示这种不确定性。向权重添加噪声是反映这种不确定性的一种实用的随机方法。
  • 在某些假设下,施加于权重的噪声可以被解释为与更传统正则化形式等同,鼓励要学习的函数的稳定性。
  • 我们研究回归的情形,也就是训练将一组特征 x \boldsymbol{x} x映射成一个标量的函数 y ^ ( x ) \hat{y}(\boldsymbol{x}) y^(x),并使用最小二乘代价函数衡量模型预测值 y ^ \hat{y} y^与真实值 y y y的误差
    J = E p ( x , y ) [ ( y ^ ( x ) − y ) 2 ] —公式1 J=\mathbb{E}_{p(x,y)}[(\hat{y}(\boldsymbol{x})-y)^2]\quad\textbf{\footnotesize{---公式1}} J=Ep(x,y)[(y^(x)y)2]公式1
  • 训练集包含 m m m对标注样例 { ( x ( i ) , y ( i ) ) , … , ( x ( m ) , y ( m ) ) } \{(\boldsymbol{x}^{(i)},y^{(i)}),\dots,(\boldsymbol{x}^{(m)},y^{(m)})\} {(x(i),y(i)),,(x(m),y(m))}
  • 现在我们假设在每个输入表示上添加网络权重的随机扰动 ϵ w ∼ N ( ϵ ; 0 , η I ) \epsilon_w\sim\mathcal{N}(\boldsymbol{\epsilon};0,\eta\boldsymbol{I}) ϵwN(ϵ;0,ηI)想象我们有一个标准的 l l l MLP \text{MLP} MLP。我们将扰动模型记为 y ^ ϵ W ( x ) \hat{y}_{\epsilon_{\boldsymbol{W}}}(\boldsymbol{x}) y^ϵW(x)
  • 尽管有噪声注入,我们仍对减少网络输出误差的平方感兴趣。因此目标函数为: { J ^ W = E p ( x , y , ϵ W ) [ ( y ^ ϵ W ( x ) − y ) 2 ] —公式2 = E p ( x , y , ϵ W ) [ y ^ ϵ W 2 ( x ) − 2 y y ^ ϵ W ( x ) + y 2 ] —公式3 \begin{cases}\begin{aligned}\hat{J}_{\boldsymbol{W}}&=\mathbb{E}_p(\boldsymbol{x},y,\epsilon_{\boldsymbol{W}})[(\hat{y}_{\epsilon_{\boldsymbol{W}}}(\boldsymbol{x})-y)^2]\quad\textbf{\footnotesize{---公式2}}\\&=\mathbb{E}_p(\boldsymbol{x},y,\epsilon_{\boldsymbol{W}})[\hat{y}_{\epsilon_{\boldsymbol{W}}}^2(\boldsymbol{x})-2y\hat{y}_{\epsilon_{\boldsymbol{W}}}(\boldsymbol{x})+y^2]\quad\textbf{\footnotesize{---公式3}}\end{aligned}\end{cases} {J^W=Ep(x,y,ϵW)[(y^ϵW(x)y)2]公式2=Ep(x,y,ϵW)[y^ϵW2(x)2yy^ϵW(x)+y2]公式3
  • 对于小的 η \eta η,最小化带权重噪声(方差为 η I \eta\boldsymbol{I} ηI)的 J J J等同于最小化附加正则化项的 J : η E p ( x , y ) [ ∥ ∇ W y ^ ( x ) ∥ 2 ] J:\eta\mathbb{E}_{p(x,y)}\left[\Vert\nabla_{\boldsymbol{W}}\hat{y}(\boldsymbol{x})\Vert^2\right] J:ηEp(x,y)[Wy^(x)2]
  • 这种形式的正则化鼓励参数进入权重小扰动对输出相对影响较小的参数空间区域。换句话说,它推动模型进入对权重小的变化相对不敏感的区域,找到的点不只是极小点,还是由平坦区域所包围的最小点 (Hochreiter and Schmidhuber, 1995)。
  • 在简化的线性回归中(例如, y ^ ( x ) = w ⊤ x + b \hat{y}(\boldsymbol{x})=\boldsymbol{w}^\top\boldsymbol{x}+b y^(x)=wx+b,正则项退化为: η E p ( x ) [ ∥ x ∥ 2 ] \eta\mathbb{E}_{p(x)}[\Vert\boldsymbol{x}\Vert^2] ηEp(x)[x2],这与函数的参数无关,因此不会对 J ^ w \hat{J}_w J^w关于模型参数的梯度有贡献。

向输出目标注入噪声

  • 大多数数据集的 y y y标签都有一定错误。当 y y y是错误的,对最大化 log ⁡ p ( y ∣ x ) \log p(y\mid\boldsymbol{x}) logp(yx)会是有害的。
  • 为了防止这一点的一种方法是显式地对标签上的噪声进行建模。
    • 例如,我们可以假设,对于一些小常数 ϵ \epsilon ϵ,训练集标记 y y y是正确的概率是 1 − ϵ 1-\epsilon 1ϵ,任何其他可能的标签可能是正确的。
    • 这个假设很容易就能解析地与代价函数结合,而不用显式地采噪声样本。
    • 例如,标签平滑(label smoothing)基于 k k k个输出的 softmax \text{softmax} softmax函数,指明确分类 0 0 0 1 1 1替换成 ϵ k − 1 \displaystyle\frac{\epsilon}{k-1} k1ϵ 1 − ϵ 1-\epsilon 1ϵ,对模型进行正则化。
  • 标准交叉熵损失可以用在这些非确切目标的输出上。使用 softmax \text{softmax} softmax函数和明确目标的最大似然学习可能永远不会收敛—— softmax \text{softmax} softmax函数永远无法真正预测 0 0 0概率或 1 1 1概率,因此它会继续学习越来越大的权重,使预测更极端。使用如权重衰减等其他正则化策略能够防止这种情况。标签平滑的优势是能防止模型追求明确概率而不妨碍正确分类。这种策略自20世纪80年代就已经被使用,并在现代神经网络继续保持显著特色 (Szegedyet al., 2015)。

总结

  • 深度学习中噪声鲁棒性的提升是确保模型在真实世界环境中稳定工作的关键。通过一系列创新性的技术手段,如数据增强、噪声注入训练、模型结构优化等,我们能够有效提高模型对噪声的容忍度和识别精度。这些努力不仅促进了深度学习技术的进一步发展,也为语音识别、图像识别、自然语言处理等领域的实际应用带来了更加可靠和高效的解决方案。
  • 未来,随着研究的深入和技术的不断进步,我们有理由相信深度学习模型的噪声鲁棒性将得到进一步提升,为更多领域带来革命性的变革。

往期内容回归

深度学习中的正则化技术 - 数据集增强篇

相关文章:

深度学习中的正则化技术 - 噪声鲁棒性篇

序言 在深度学习的蓬勃发展中,模型的性能与泛化能力成为了研究者们关注的焦点。然而,实际应用中的数据往往伴随着各种噪声,这些噪声不仅来源于数据采集过程中的硬件限制,还可能由环境干扰、传输错误等因素引入。噪声的存在严重影…...

如何通过 Java 来完成 zip 文件与 rar 文件的解压缩?

目录 一、用到的知识点 二、代码展示(分解版) 三、代码展示(整体版) 一、用到的知识点 1.IO流: Input:输入,通过“输入流”进行文件的读取操作 Output:输出,通过“输出流”进行文件的写入操作 2.文件操作相关: File类&#xff…...

C 语言中的联合(Union)的用途是什么?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会! 📙C 语言百万年薪修炼课程 通俗易懂,深入浅出,匠心打磨,死磕细节,6年迭代,看过的人都说好。 文章目…...

汽车电子助力转向系统研究

汽车电子助力转向系统研究 摘要 电子助力转向系统(Electric Power Steering,EPS)是一种利用电动机辅助驾驶员进行车辆转向的系统。相比于传统的液压助力转向系统,EPS具有更高的效率、精确性和可控性。本文将详细探讨EPS的工作原理…...

大数据学习之 scala基础(补充)

scala基础: hello world: 写scala可运行文件的注意事项1、如果一个scala文件要运行,class要改成object2、如果是class,就仅单纯代表一个类,如果是object代表的是单例对象3、scala语法中,一句话结束不需要加分号4、sca…...

正向传播和反向传播

正向传播(Forward Propagation) 正向传播是指将输入数据通过神经网络,计算出预测值的过程。具体步骤如下: 输入层:接受输入数据。隐藏层:每个隐藏层中的神经元接收上一层的输出,进行加权求和&…...

前端文件下载的方式

方式一&#xff1a;a标签直接下载 <a href"链接" >下载</a>一个文件链接&#xff08;一般是服务器上的某个文件&#xff09;&#xff0c;这个链接一般地址栏输入是预览&#xff0c;不是附件下载 如果想改成附件下载&#xff0c;以下两种方式任选一个均…...

视图库对接系列(GA-T 1400)十六、视图库对接系列(本级)通知(订阅回调)

说明 之前我们实现了订阅接口,其中有一个receiveAddr参数, 这个就是对应的回调的地址。一般情况下对应的是同一个服务。 我们推荐使用http://xxx:xxx/VIID/SubscribeNotifications接口文档 SubscribeNotificationList对象对象如下: 文档中是xml,但实际上目前使用的都是jso…...

Python | Leetcode Python题解之第230题二叉搜索树中第K小的元素

题目&#xff1a; 题解&#xff1a; class AVL:"""平衡二叉搜索树&#xff08;AVL树&#xff09;&#xff1a;允许重复值"""class Node:"""平衡二叉搜索树结点"""__slots__ ("val", "parent&quo…...

Python酷库之旅-第三方库Pandas(018)

目录 一、用法精讲 44、pandas.crosstab函数 44-1、语法 44-2、参数 44-3、功能 44-4、返回值 44-5、说明 44-6、用法 44-6-1、数据准备 44-6-2、代码示例 44-6-3、结果输出 45、pandas.cut函数 45-1、语法 45-2、参数 45-3、功能 45-4、返回值 45-5、说明 4…...

九科bit-Worker RPA 内容学习

入门阶段&#xff0c; 花时间学习和记忆细枝末节&#xff0c;可能会反而分散新手去理解核心逻辑的精力&#xff0c;并且不常用的知识也很容易被遗忘。 简介&#xff1a; 什么是RPA&#xff1f; RPA&#xff08;Robotic Process Automation&#xff0c;机器人流程自动化&#x…...

vscode编译环境配置-golang

1. 支持跳转 如果单测函数上方不显示run test | debug test&#xff0c;需要安装Code Debugger&#xff08;因为以前的go Test Explorer不再被维护了&#xff09; 2. 单测 指定单个用例测试 go test -v run TestXXXdlv 调试 需要安装匹配的go版本和delve版本&#xff08;如…...

【JavaEE】网络编程——UDP

&#x1f921;&#x1f921;&#x1f921;个人主页&#x1f921;&#x1f921;&#x1f921; &#x1f921;&#x1f921;&#x1f921;JavaEE专栏&#x1f921;&#x1f921;&#x1f921; 文章目录 1.数据报套接字(UDP)1.1特点1.2编码1.2.1DatagramSocket1.2.2DatagramPacket…...

JAVA毕业设计147—基于Java+Springboot的手机维修管理系统(源代码+数据库)

基于JavaSpringboot的手机维修管理系统(源代码数据库)147 一、系统介绍 本项目分为用户、管理员、维修员三种角色 1、用户&#xff1a; 注册、登录、新闻公告、售后申请、申请列表、意见反馈、个人信息、密码修改 2、管理员&#xff1a; 用户管理、用户管理、栏目管理、网…...

力扣第228题“汇总区间”

在本篇文章中&#xff0c;我们将详细解读力扣第228题“汇总区间”。通过学习本篇文章&#xff0c;读者将掌握如何遍历和汇总区间&#xff0c;并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释&#xff0c;以便于理解。 问题描述 力扣第228题“汇总区间”描…...

部署大语言模型并对话

在阿里云的https://developer.aliyun.com/adc/scenario/b105013328814fe995c0f091d708d67d 选择函数计算 设置服务器配置 复制公网地址 这个地址不能直接 在返回应用&#xff0c;创建应用LLM 对话页面 Open WebUI 点击下面的创建应用 部署完成后访问域名 打开访问地址...

WebSocket、socket.io-client

WebSocket WebSocket 是一种网络通信协议&#xff0c;它提供了一个在单个长期持久的 TCP 连接上进行全双工&#xff08;full-duplex&#xff09;通信的通道。 WebSocket 允许客户端和服务器之间进行双向的数据交换&#xff0c;这意味着服务器可以主动向客户端推送数据&#x…...

Maven 仓库

在 Maven 世界中&#xff0c;任何一个依赖、插件或者项目构建的输出&#xff0c;都可以称为 构件 。 坐标和依赖是构件在 Maven 世界中的逻辑表示方式&#xff0c;构件的物理表示方式是文件&#xff0c;Maven 通过仓库来统一管理这些文件。 任何一个构件都有一组坐标唯一标识。…...

给后台写了一个优雅的自定义风格的数据日志上报页面

highlight: atelier-cave-dark 查看后台数据日志是非常常见的场景,经常看到后台的小伙伴从服务器日志复制一段json数据字符串,然后找一个JSON工具网页打开,在线JSON格式化校验。有的时候,一些业务需要展示mqtt或者socket的实时信息展示,如果不做任何修改直接展示一串字符…...

【React Native优质开源项目】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...