当前位置: 首页 > 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;让我们共…...

Android 自动更新时间的数字时钟 TextClock

TextClock 继承 TextView &#xff0c;使用方法和 TextView 一样。 它专门用于显示数字时钟&#xff0c;可以自定义显示格式。 只要在布局文件里添加&#xff0c;它会自动更新时间&#xff0c;不需要添加刷新逻辑。 布局文件&#xff0c; <?xml version"1.0"…...

【Linux Git入门】Git的介绍

文章目录 前言git简介git是什么git的作用为什么要学习git安装git总结前言 在现代软件开发中,版本控制系统已经成为了不可或缺的工具。其中,Git是最受欢迎的版本控制系统之一。Git是由Linux的创造者Linus Torvalds在2005年创建的,用于管理Linux内核的开发。Git是一个分布式版…...

kafka面试题(基础-进阶-高阶)

目录 Kafka 基础篇 1.Kafka 的用途有哪些?使用场景如何? 2.Kafka 中的ISR、AR 又代表什么?ISR 的伸缩又指什么 3.Kafka 中的 HW、LEO、LSO、LW 等分别代表什么? 4.Kafka 中是怎么体现消息顺序性的? 5.Kafka 中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序…...

《系统架构设计师教程(第2版)》第11章-未来信息综合技术-07-大数据技术概述

文章目录 1. 大数据的定义2. 大数据的研究内容2.1 面临的问题2.2 面临的挑战2.3 分析步骤2.3.1 数据获取和记录2.3.2 信息抽取和清洗2.3.3 数据集成、聚集和表示2.3.4 查询处理、数据建模和分析2.3.5 解释 3.大数据的应用领域3.1 制造业的应用3.2 服务业的应用3.3 交通行业的应…...

前端面试题54(断点续传讲解)

断点续传是一种在上传或下载大文件时&#xff0c;如果因为网络问题中断&#xff0c;可以从已经上传或下载的部分继续&#xff0c;而不是重新开始的技术。这对于提高用户体验和节省带宽非常有帮助。下面我将分别从HTTP协议层面、前端实现思路以及一个简单的前端实现示例来讲解断…...

YOLOv10改进 | Conv篇 | RCS-OSA替换C2f实现暴力涨点(减少通道的空间对象注意力机制)

一、本文介绍 本文给大家带来的改进机制是RCS-YOLO提出的RCS-OSA模块&#xff0c;其全称是"Reduced Channel Spatial Object Attention"&#xff0c;意即"减少通道的空间对象注意力"。这个模块的主要功能是通过减少特征图的通道数量&#xff0c;同时关注空…...

【C++BFS】690. 员工的重要性

本文涉及知识点 CBFS算法 LeetCode690. 员工的重要性 你有一个保存员工信息的数据结构&#xff0c;它包含了员工唯一的 id &#xff0c;重要度和直系下属的 id 。 给定一个员工数组 employees&#xff0c;其中&#xff1a; employees[i].id 是第 i 个员工的 ID。 employees[…...

视频调整帧率、分辨率+音画同步

# python data_utils/pre_video/multi_fps_crop_sync.pyimport cv2 import os from tqdm import tqdm import subprocess# 加载人脸检测模型 face_cascade cv2.CascadeClassifier(cv2.data.haarcascades haarcascade_frontalface_default.xml)def contains_face(frame):gray …...

【深度学习】关于模型加速

模型转为半精度的会加快推理速度吗 将模型转为半精度&#xff08;通常指16位浮点数&#xff0c;即FP16&#xff09;确实可以加快推理速度&#xff0c;同时还能减少显存&#xff08;GPU内存&#xff09;的使用。以下是一些关键点&#xff1a; 加快推理速度的原因 减少计算量&a…...

Python中time模块用法示例详解

前言 仅供个人学习用&#xff0c;如果对各位朋友有参考价值&#xff0c;给个赞或者收藏吧 ^_^ 一、time模块介绍 time模块是Python中处理时间相关操作的核心工具&#xff0c;提供了时间获取、格式化、转换、延迟以及计时等多种功能。 总的来说time模块中时间可以有3种格式&…...