带噪学习-概述

news2024/9/22 15:34:07

在实际应用的时候,我们的样本不会是完全干净的,即存在噪声样本。那使用存在噪声的样本时,我们如何更有效的进行模型学习呢?

Label Dependent Nose

样本选择(Sample Selection)

  1. 第一种很直接的想法,就是我们在样本集里,把那些‘噪声’找出来,然后直接过滤掉。但这里面的难点在于怎么找出哪些噪声。

  1. 人工经验:比如大学生一般是18岁-30之间,如果小于18岁,比如只有15岁就大概率不是。

  1. 规则:比如先走一遍已存在的比较靠谱的模型,将p比较低的直接过滤;

  1. 另一种想法,就是在模型训练的时候,进行样本选择。即对于每个batch,只选择clean样本的loss进行模型的更新。其中比较主流的方法时co-train系列。

  1. Decoupling(《Decoupling “when to update” from “how toupdate”》)

核心思路:分别独立训练2个模型,对于每个batch,2个模型分别预测。对于预测结果不一致的数据,才会被选择用来更新模型的参数,又被称为「update by disagreement」

  1. Co-teaching(《Co-teaching: Robust Training of Deep Neural Networks with Extremely Noisy Labels》)

核心思路:对于2个模型f和g。对于每个batch,选择模型f中loss比较小的数据,计算这些数据在模型g上的损失并更新模型g的参数。同时选择模型g中loss比较小的数据,计算它们在f上的损失并更新模型f的参数。每个batch里选择多少个数据,由R(T)来控制。

  1. Co-teaching+(ICML2019的《How does Disagreement Help Generalization against Label Corruption?》)

核心思路: 结合了Co-teach和decoupling的思路

正则化(Robust Regularization)

通过正则化的方法,防止模型过拟合岛噪声样本上。比如Dropout、BN等方法。

  1. 显式正则:比如Dropout、BN、权重衰减等。这里介绍一种bilevel learning

bilevel learning:使用一个干净的验证集,应用双层优化的方式来约束过拟合。通过调整权重,最小化在验证集上的错误。在每个mini-batch上,计算训练样本和验证集样本之间梯度的一致性,一致性高的训练样本对应的权重增大。

  1. 隐式正则:在不降低模型表示能力的前提下提升了泛化性能

adversarial training: 对抗训练,鼓励网络正确分类原始输入和扰动的输入;

label smoothing:标签平滑,防止过度自信,平滑分类边界,平滑标签是原始标签和其他可能标签的加权组合;

mixup: 数据线性插值,标签也线性插值

结构设计(Robust Architecture)

  1. 噪声自适应层(noise adaptation layer)

专门用噪声过渡矩阵来建模噪声转换,测试的去掉这一层。只针对实例无关的噪声。

Loss设计(Robust Loss)

  1. 首先我们介绍下对称损失(Symmetric Loss),因为Symmetric Loss是理论可证明噪声鲁棒的。

我们这里考虑2分类任务。对于训练样本x,标签为y(y ∈ {0, 1}),fθ(x)为模型输出(θ为待优化的参数),损失函数为l。

a. 没有标签噪声的情况下,待优化的目标为l[fθ(x), y] (1);

b. 在考虑有噪声的情况下,x有概率ρ被误标为1-y,那么实际上的优化目标是(1−ρ)⋅l[fθ(x), y] + ρ⋅l[fθ(x), 1−y] (2)。

c. 对于目标函数(2),如果无论有无噪声,该优化问题都会得到同样的解。这时候损失函数L就是噪声鲁棒的。

d. 目标函数(2)可以转换为如下,整理后的第一项是目标函数(1)的一个固定倍数。而第二项是当样本标签等概率取遍所有可能值时,所产生的损失值。

e. 如果满足如下结果时(其中C是常数),那么l就是Symmetric Loss,即优化目标函数(2)和优化目标函数(1)是等价的。

  1. MAE

考虑2分类,l[fθ(x), y] + l[fθ(x), 1-y] = |1-fθ(x)| + |0-fθ(x)| = 1,所以MAE是对称损失。但MAE的性能比较差,跟CCE(categorical cross entropy)相比,训练的收敛时间更长。

  1. GCE(generalized cross entropy)

  1. CE/CCE不是对称损失。l[fθ(x), y] + l[fθ(x), 1-y]=C,要求各个损失项非负,且其和为定值,那么各个损失项必然是有界的。但在当fθ(x)接近于0或者1时,logfθ(x)或−log(1−fθ(x))是无界的。

  1. GCE可以兼顾MAE的鲁棒性和CE的性能。−log(fθ(x))项,替换成一个指数项

其中幂次q为一个超参数,取值范围为(0, 1] 。当q = 1时,该指数项就蜕变为MAE的形式;当q→0时,由洛必达法则,该指数项将蜕变为CE的形式。

  1. SCE(symmetric cross entropy):在CCE上结合了一个noise tolerance term。

  1. Focal Loss & GHM Loss

GHM可以认为是Focal Loss的一种优化。如下图所示,梯度模长在接近0时样本量最多,这部分是简单样本。随着模长增大,样本量迅速下降,在U字底部的部分可以认为是困难样本。在模长接近1时,数量又变多,这部分可以认为是极困难样本或者噪声样本。

最终根据这种分布设计梯度密度,来调整样本的权重。

  1. Loss Adjustment

  1. Loss Correction:和噪声自适应层类似,损失校正通过给模型输出结果乘上一个估计的标签转移矩阵来修改loss,不同之处在于,噪声转移矩阵的学习是和模型的学习解耦的。包括backward correction、forward correction等。

  1. Loss Reweighting:计算loss时给假样本更小的权重,给真样本更高的权重。这类方法手动设计权重函数和超参。

  1. Label Refurbishment:将网络的输出标签和噪声标签组合作为翻新后的标签:(a是噪声标签的置信度)

  1. Meta Learning

Instance Dependent Noise

实际上在真实世界的数据集中,存在更多的是instance-dependent (feature-dependent) label noise,即特征相关的噪音标签。

  1. SEAL(self-evolution average label)

  1. CORES(COnfidence REgularized Sample Sieve)

参考

Learning from Noisy Labels with Deep NeuralNetworks: A Survey

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

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

相关文章

PDDON在线画图是如何惊艳到你的?

1. 简介 PDDON是一款支持低代码(lowcode)的免费在线画图工具。可用于绘制架构图、流程图、UML、网络拓扑图、韦恩图、鱼骨图、思维导图、BPMN等,并且支持对象建模、数据库建模、代码/脚本生成。 PDDON与市面上现有的画图工具对比有哪些优势呢? 完全免费…

SpringJDBC的框架

JDBC框架概述目录概述需求:设计思路实现思路分析1.Spring 编程式事务管理2.方法:3.Marks4.网页解析器5.步骤src性能参数测试:参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full bu…

【pytorch】nn.SmoothL1Loss 函数使用

SmoothL1 Loss1、Smooth L1 Loss2、nn.SmoothL1Loss 函数使用1、Smooth L1 Loss 本方法由微软rgb大神提出,Fast RCNN论文提出该方法 1)假设x为预测框和真实框之间的数值差异,常用的 L1 loss、L2 Loss 和 smooth L1 loss 定义分别为&#xf…

浅谈Spring中事务管理器

由于事务部分代码在设计上整体比较简单,我自己觉得它在设计上没有什么特别让我眼前一亮的东西,所以下文更多的是侧重执行流程,能理解事务管理器等一众概念以及相关的变量含义,真正遇到Bug会调试,知道在什么地方打断点就…

前端FileReader对象实现图片file文件转base64

1、file转base64具体代码 // 图片file转base64方法(file文件,回调函数)fileToBase64(file, callback) {// 创建FileReader对象(不兼容IE)let reader new FileReader();// 将file转为base64 (异步操作&…

如何正确选择好用的投票平台微信公众平台投票链接链接投票平台

“年度人物楷模”网络评选投票_免费链接投票_作品投票通道_扫码投票怎样进行现在来说,公司、企业、学校更多的想借助短视频推广自己。通过微信投票小程序,网友们就可以通过手机拍视频上传视频参加活动,而短视频微信投票评选活动既可以给用户发…

driver.js web 新手交互引导工具库

前言 最近逛技术论坛发现了 driver.js 这个库,相信很多人在app中都碰到过功能引导的,这个库就可以用来做这个功能。web段项目很少见到功能引导的,但是用在uniapp 、浏览器插件 中感觉还是十分不错的,因此打算来简单学习一下&…

js 防抖函数 节流函数

某些事件中(如 onresize onscroll onkeydown onkeyup onmousemove …),会连续触发函数的执行,如果函数执行一些耗时的操作(如请求数据…),会影响性能,也有可能造成服务器压力。这时可以用 防抖函数 或 节流函数解决这种问题。 防…

分布式环境下的服务器时钟同步问题解决办法

一、分布式集群场景下时钟不同步会有什么问题? 如上面的示意图所示,分布式集群场景下如果各个服务器时间不一致,可能导致同一时间产生的数据,在处理过程中和数据库中,保存成了不同的时间,造成数据混乱。 …

大数据之Phoenix环境搭建

文章目录前言一、下载Phoenix安装包二、上传并解压三、拷贝服务包到各个hbase的lib目录下四、修改hbase的配置文件五、重启HBase集群六、连接Phoenix客户端前言 #博学谷IT学习技术支持# 本篇文章主要介绍Phoenix的环境搭建,Phoenix支持使用SQL语句操作HBase&#x…

JavaWeb6-线程常用方法

目录 1.线程等待join(共有3个方法重载) 1.1.public void join() 1.2.public void join(long millis) 2.线程终止 2.1.通过自定义标记符来中断(常用) 2.2.调用 interrupt() 方法来中断(常用,最推荐使用…

Ubuntu安装落雪音乐LX Music

网址: https://lxmusic.toside.cn/ 以 .deb 结尾的文件为在 Linux 系统上运行的版本,软件还有 .rpm/AppImage/pacman 格式的 Linux 包,但没有上传到网盘,可自行到项目发布页面下载。 在Ubuntu上安装比较简单。 安装成功 打开音乐…

maven多环境配置

maven多环境配置 参考网址: https://mp.weixin.qq.com/s/-e74bd2wW_RLx7i4YF5M2w https://mp.weixin.qq.com/s/3p53kBHqys58QdMme6lR4A 项目地址 https://gitee.com/shao_ming314/maven-profile-dir 项目说明 该项目基于目录进行多环境配置 , 具体的配置文件在 src/resource…

【Opencv--自适应图像二值化】cv2.adaptiveThreshold()

【Opencv–adaptiveThreshold】自适应阈值图像二值化 文章目录【Opencv--adaptiveThreshold】自适应阈值图像二值化1. 介绍2. adaptiveThreshold函数2.1 函数调用2.2 补充说明3. 代码示例4. 效果4.1 原图(ori.img)4.2 处理后5. 参考1. 介绍 在这里 cv2.…

ArcGIS Enterprise on Kubernetes 11.0安装示例

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录安装前置条件基本安装解压文件生成秘钥执行安装脚本配置DNS方法一方法二…

快速上手:Prometheus和Grafana入门教程

目录一、简介二、安装Prometheus2.1 二进制安装2.2 添加到system服务2.3 访问UI三、安装Granfa3.1 Docker部署Mysql3.2 Docker部署Grafana3.3 访问UI3.4 添加Prometheus为数据源四、安装Exporter收集数据4.1 node_exporter 服务器监控下载解压启动node_exporter服务与整合Prome…

聚类-理论补充2

目录 一。拉普拉斯矩阵的定义 二。谱聚类算法:未正则拉普拉斯矩阵 三。谱聚类算法:随机游走拉普拉斯矩阵 四。谱聚类算法:对称拉普拉斯矩阵 五。进一步思考 六。随机游走和拉普拉斯矩阵的关系 七。标签传递算法 一。拉普拉斯矩阵的定义 …

MySQL(六)

查询优化 在编写快速的查询之前,需要清楚一点,真正重要的是响应时间,而且要知道在整个SQL语句的执行过程中每个步骤都花费了多长时间,要知道哪些步骤是拖垮执行效率的关键步骤,想要做到这点,必须要知道查询…

Qt之调色板类QPalette的使用

文章目录QPalette调色板类前言代码知识点讲解QPalette调色板类 前言 Qt提供的调色板类QPalette专门用于管理部件的外观显示,相当于部件或对话框的调色板,管理他们所有的颜色信息。每个部件都包含一个QPalette对象,在显示时,按照…

OnGUI Color 控件||Unity 3D GUI 简介||OnGUI TextField 控件

Unity 3D Color 控件与 Background Color 控件类似,都是渲染 GUI 颜色的,但是两者不同的是 Color 不但会渲染 GUI 的背景颜色,同时还会影响 GUI.Text 的颜色。具体使用时,要作如下定义:public static var color:Color;…