[WACV2022]Addressing out-of-distribution label noise in webly-labelled data

news/2024/11/20 22:35:33/文章来源:https://www.cnblogs.com/zh-jp/p/18345874

该论文考虑了一个现实的场景:数据集来自网络爬虫,即存在开集噪声OOD样本和闭集噪声ID样本。作者提出了一个简单但有效的策略:通过新设计的指标区分OOD样本,并对OOD样本软化(soften)弥补与干净样本的差距,该方法称为:Dynamic Softening of Out-of-distribution Samples (DSOS)。

真实世界噪声主要为OOD噪声

作者在数据集WebVision中分别随机选了2k张图片作为子集(S1、S2、S3),发现主要噪声为OOD,占比约为24.38%,ID噪声占比约为5.32%。

\[\begin{array}{ccccc}\hline&\text{S1}&\text{S2}&\text{S3}&\text{Average}\left(\%\right)\\\hline\text{Correct}&1441&1440&1335&1405.33\left(70.30\right)\\\text{OOD}&460&429&573&487.33\left(24.38\right)\\\text{ID}&98&130&91&106.33\left(5.32\right)\\\hline\end{array} \]

区分OOD与ID样本的新指标:插值熵

DNN在噪声数据集上进行了训练且没有过拟合噪声时,样本可根据置信度分为:

  • 自信的正确预测(干净样本)
  • 自信的不正确样本(ID样本)
  • 不自信的样本(OOD样本)
    但仅对模型的预测作为区分还不够,因为这会导致ID和OOD样本区分不明显。EvidentialMix提出了利用损失的均值和方差区分OOD与ID(原文称这种损失为evidential loss, EDL),但这种方法对于OOD有着较低的置信度。

作者对比了一般的CE损失、EDL和自己的方法在开集噪声率、闭集噪声率分别为0.2的情况下的AUC分数:

\[\begin{array}{llll}\hline&\text{Clcan}&\text{ID}&\text{OOD}\\\hline\text{CE}&95&87&81\\\text{EDL}&93&90&75\\\text{IL entropy}&91&81&94\\\text{IL collision}&93&85&92\\\hline\end{array} \]

作者定义的新指标:collision entropy:

\[l_{detect}=-\log\left(\sum_{c=1}^Cy_{int,c}^2\right) \]

其中模型的预测\(\tilde{Y}\),原标签\(Y\),中间(intermediate)标签\(y_{int}=\frac{y_i+\tilde{y_i}}2\)。对于\(y_{int}\)有3种情况:

  1. low entropy:真实标签与实际标签吻合。
  2. medium entropy:预测标签有较高置信度,但是与真实标签不吻合。
  3. high entropy:预测结果有着较低置信度。

通过\(l_{detect}\)建立的损失分布图,可通过\(-\log0.5\)实现干净/噪声样本的分离(参见fig1. 第6张子图)。这使得作者选择collision entropy作为区分干净样本与噪声样本的指标。对于OOD与ID,作者选择拟合二元Beta混合分布去计算样本属于OOD/ID的先验。

我根据论文的设置重新绘制了一张,对于collision entropy(第4张子图)并没有清晰的beta分布,可见作者给出的fig.1是美化后的结果。除了第50个epoch,还看了40、30,都没有明显的beta分布。

DSOS: 动态软化OOD样本

DSOS目的是为了在分离样本前纠正标签,对于ID样本,使用自信的标签预测代替噪声标签;并促使对不能被纠正的OOD样本输出高熵。

对于最小化经验风险(empirical risk)的定义:

\[R_e=\frac1N\sum_{i=1}^N-y_i^{t}\log h(x_i), \]

其中\(y_i^t\)是对观察到的标签的纠正,\(y_i\)可能是噪声标签,\(h(x_i)\)为模型softmax后的logits。但是OOD样本的标签是无法纠正的,并且作者不建议像之前对OOD从均匀分布中随机选择标签的做法,而是通过软化OOD标签实现高熵预测促进网络校准,empirical risk重写为:

\[R_{e}=- \frac{1}{N_{c}+N_{in}} \sum_{i=1}^{N_{c}+N_{in}}y_{i}^t\log h(x_{i})-\frac1{N_{out}}\sum_{j=1}^{N_{out}}y_s\log h(x_j) \]

其中\(y_s\)为软化标签,对于软化标签的获取,设计一个OOD分类器\(\mathcal{V}=\{v_i\}_{i=1}^N,v_i\in[0,1]\)\(v_i=0\)表示\(x_i\)为OOD样本:\(f(y_i^t,0)=y_s\)为1时表示ID样本/干净样本\(f(y_i^t,1)=y_i^t\)。引入分类器后,empirical risk可重写为:

\[R_e=- \frac{1}{N}\sum_{i=1}^Nf(y_i^t,v_i)\log h(x_i), \]

对于ID样本,使用bootstrap翻新标签,即用预测结果作为标签;对于OOD根据它是OOD的概率软化标签,是OOD的概率越大,软化标签越接近均匀分布。

对于后验概率\(l_{detect}>-\log0.5\)的样本记为\(\tilde{U}=\{\tilde{u}_{i}\}_{i=0}^{N},\ \tilde{u}_{i}\in\{0,1\}\)\(\tilde{u}_{i}=1\)记为ID样本,对应的标签为

\[y_i^b=(1-\tilde{u}_i)y_i+\tilde{u}_i\tilde{y}_i^t. \]

其中\(\tilde{y}_i^t\)为预测标签。对于样本不是OOD样本的量化,用\(\tilde{V}=\{\tilde{v}_i\}_{i=0}^N\)表示,\(\tilde{v}_i=0\)表示样本是OOD,对\(y_i^b\) normalize 再和\(\tilde{v}_i\)计算:

\[y_i^d=\frac{\exp\frac{\tilde{v}_iy_i^b}{\alpha}}{\sum_{c=1}^C\exp\frac{\tilde{v}_iy_{i,c}^b}{\alpha}}. \]

\(\alpha\in[0,1]\)为超参数,\(y^d\)\(y^b\)的平滑纠正版本,平滑的程度\(\frac{\tilde{v}_i}\alpha\)取决于OOD的概率。对于\(\tilde{U},\tilde{V}\)的更新发生在warmup结束,以及warmup之后的每个epoch,此外在更新的过程不参与梯度计算更新。

额外的正则项

使用\(\tilde{v}_i\)的均值作为权重实现对干净样本和ID样本更好的分离:

\[l_e=-\frac1N\sum_{i=1}^N\tilde{v_i}\sum_{i=1}^Nh(x_i)\log(h(x_i)) \]

最后总的损失:

\[l=-\frac1N\sum_{i=1}^Ny^{d^T}\log(h(x_i))+\gamma l_e \]

参考文献

  1. Albert, Paul, et al. "Addressing out-of-distribution label noise in webly-labelled data." Proceedings of the IEEE/CVF winter conference on applications of computer vision. 2022.

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

异常处理

异常概述 程序中的异常: 在Java语言中,异常是指程序在运行期间发生的事件,它是导致程序中断运行的正常指令流。 例如,在算术运算中除数为0、数组越界、空指针异常等,这些事件的发生都会阻止程序的正常运行。 *示例:**演示除法运算*** public class MathCalc {public stat…

Matlab第一章

Matlab第一章 1.命令行窗口里写的命令,当文件关闭时命令行窗口和工作区内容消失。 2.想要保存代码,方法是: 新建脚本->写代码->保存->运行 3.脚本语言 (1)clear;清空工作区 clc;清空命令行窗口 x=20; y=30; x+y(2)clear; clc; x=20; y=30; x+y;如果x+y有分号则…

【题解】暑假集训CSP提高模拟14

目录Rank&挂分A. BA题目内容部分分10pts10+20pts正解思路代码B. BB题目内容部分分5pts正解思路代码C. BCD. BD Rank&挂分T4暴搜后来改了记搜,不知道哪里锅了,挂5pts。 A. BA 题目内容 现在有 \(m\) 块烙板,\(n\) 张饼,第 \(i\) 张饼需要烙 \(a_i\) 个单位时间,一张…

232Modbus转Profinet网关模块接液相柱塞泵与PLC通讯

本文介绍了232Modbus转Profinet网关(XD-PNR200)模块的使用步骤,包括硬件连接、软件配置和测试验证等环节,配置PLC与232Modbus转Profinet网关(XD-PNR200)IP,选功能码读写数据,分配设备名称并下载组态。测试通信后,可成功通讯。232Modbus转Profinet网关模块接液相柱塞泵…

挂载Ceph文件系统以及Ceph存储三副本特性展示

创建文件系统ceph fs volume create cephfs 挂载 CephFS 的常规先决条件 为客户端主机生成最小的 conf 文件并将其放在标准位置:mkdir -p -m 755 /etc/ceph ssh {user}@{mon-host} "sudo ceph config generate-minimal-conf" | sudo tee /etc/ceph/ceph.conf确保co…

nginx配置正向代理

1、下载源码包 # 地址http://nginx.org/download/2、下载ngx_http_proxy_connect_module补丁包 # 下载地址https://github.com/chobits/ngx_http_proxy_connect_module/archive/master.zip3、使用patch对源码包进行打补丁 # 先解压补丁包,得到的包名是ngx_http_proxy_connect_…

CSP14

暴力最高\(50\)吧,本地测试不太准跑得快的只得了\(10\)分,慢的却得了\(50\)分暴力 #include <bits/stdc++.h> #define pb push_back #define ll long long #define bs bitset<70> #define speed() ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); using na…

Goby漏洞发布 | CVE-2024-38856 Apache OFbiz /ProgramExport 命令执行漏洞【已复现】

漏洞名称:Apache OFbiz /ProgramExport 命令执行漏洞(CVE-2024-38856) English Name:Apache OFbiz /ProgramExport Command Execution Vulnerability(CVE-2024-38856) CVSS core: 9.0 漏洞描述: Apache OFBiz是一个电子商务平台,用于构建大中型企业级、跨平台、跨数据库、…

LLM学习笔记-位置编码篇

在Transformer模型中,位置编码(Positional Encoding)的引入是为了补充自注意力机制(Self-Attention)在捕捉序列位置信息方面的不足。自注意力机制是Transformer的核心,但它对输入序列的位置信息并不敏感。具体来说,Transformer模型对输入序列中的每个元素进行处理时是并…

Profinet转Modbus网关运用在DCS系统中与变频器的通讯案例

在DCS(分散控制系统)系统中,Profinet转Modbus网关(XD-MDPN100)的应用是一个典型的工业自动化通讯案例,通过Profinet转Modbus网关(XD-MDPN100)将Profinet协议转换为Modbus协议,从而实现DCS系统与变频器之间的无缝通讯。一、案例背景 随着工业自动化程度的不断提高,DCS…

OpenAI 重大人事变动,联创加入死敌;阿里视频框架 Tora 操控物体运动轨迹丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

以“小”见“大” 打开“折叠”的世界

「 玩出个性,玩出潮流。」他来了!它来了! 昨晚,在年轻人的聚集地——B站,易烊千玺携手nova Flip亮相新生之夜。 带着“新一代”和“潮流”两个标签,这一款小折叠,为华为的折叠屏手机带来更多的可能性,也将激活整个折叠屏手机市场。 待激活的小折叠 经过几年的低迷期之后…