当前位置:网站首页>[0701] [论文阅读] Alleviating Data Imbalance Issue with Perturbed Input During Inference
[0701] [论文阅读] Alleviating Data Imbalance Issue with Perturbed Input During Inference
2022-07-02 17:38:00 【xiongxyowo】
[论文地址] [代码] [MICCAI 21]
Abstract
由于常见疾病和罕见疾病之间的数据不平衡,智能诊断往往偏向于常见疾病。即使在模型训练期间应用了再平衡策略,这种偏见仍然可能存在。为了进一步缓解这种偏见,我们提出了一种新的方法,这种方法不是在训练阶段而是在推理阶段发挥作用。对于任何测试输入数据,基于温度调整后的分类器输出和从不同疾病的反频率中得出的目标概率分布之间的差异,输入数据可以以类似于对抗性学习的方式被轻微扰动。与原始输入相比,对被扰乱的输入的分类器预测将变得不那么偏向常见疾病。所提出的推理阶段方法可以自然地与任何训练阶段的再平衡策略相结合。在三种不同的医学图像分类任务和三种分类器骨干上进行的广泛评估表明,我们的方法能够持续地提高分类器的性能,即使是经过任何再平衡策略的训练。特别是在少数类别上,性能的提高是巨大的,这证实了所提出的方法在缓解分类器对主导类别的偏见方面的有效性。
Method
本文解决的是医学诊断中数据集不均衡的问题,即,罕见病的样本是比较难收集的。具体方法则属于一种基于测试时后处理(Test-Time Postprocessing)的方法,相比于传统的测试前预处理(Training-Time Preprocessing)的方式而言有一定的新颖之处。总体流程如下所示:
考虑数据集一共包含 C C C类训练数据,其中第 c c c类的样本数为 n c n_c nc。如果某一类别 i i i的样本占主导地位,那么对于任意输入样本 x x x,输出的softmax概率 p p p也会倾向于预测为类别 i i i。那么本文的做法也很简单,在测试时对样本进行扰动,使其softmax输出偏向于少数类。
在样本 x x x输入到网络后,可以得到FC层的logit输出向量 z = [ z 1 , z 2 , . . . , z C ] T z = [z_1, z_2,...,z_C]^T z=[z1,z2,...,zC]T。最终的分类概率计算还要通过把这个 z z z给输入到softmax分类器中。对于softmax而言,其有一个温度系数 T T T,正常分类的时候我们是将其设为1的,而在一些任务比如知识蒸馏中,我们会将其设为大于1,从而使得softmax输出更为"平滑"。那么在这里也是一个道理,增大T,使得对于常见类的预测概率压低一些,而不常见类的预测概率提高一些 p ^ c = exp ( z c / T ) ∑ k = 1 C exp ( z k / T ) \hat{p}_{c}=\frac{\exp \left(z_{c} / T\right)}{\sum_{k=1}^{C} \exp \left(z_{k} / T\right)} p^c=∑k=1Cexp(zk/T)exp(zc/T) 当然,仅做到这一步,只能说缩短不同类之间的预测概率差距,并不会直接把"概率第二高的类优化成第一高的类"。而为了实现这一点,本文实现了一个扰动向量: p c ∗ = g ( n c ) ∑ k = 1 C g ( n k ) p_{c}^{*}=\frac{g\left(n_{c}\right)}{\sum_{k=1}^{C} g\left(n_{k}\right)} pc∗=∑k=1Cg(nk)g(nc) 那么这个玩意的思路其实还是很原始的。其中 g ( n c ) = l o g ( M / n c ) g(n_c) = log(M/n_c) g(nc)=log(M/nc),也就是某个类在训练集中出现的频次越高,那么其 g ( n c ) g(n_c) g(nc)就越低。现在,我们将 p c ∗ p_{c}^{*} pc∗视为一种真值,那么可以得到 p c ∗ p_{c}^{*} pc∗与原始预测 p c p_{c} pc的差异。基于这一差异,可以推出相应需要加的噪声: x ~ = x − ε ⋅ sign ( ∇ ℓ ( p ^ , p ∗ ) ) \tilde{\mathbf{x}}=\mathbf{x}-\varepsilon \cdot \operatorname{sign}\left(\nabla \ell\left(\hat{\mathbf{p}}, \mathbf{p}^{*}\right)\right) x~=x−ε⋅sign(∇ℓ(p^,p∗)) 从而在实际测试阶段实现纠偏的效果。
Experiment
在3个带bias的医学数据集Skin7,OCTMNIST,X-ray6上进行了实验。
对比方法包括传统的class-level re-weighting,focal loss以及比较现代化的two-stage deferred re-sampling,margin-based method LDAM。
边栏推荐
- Stratégie touristique d'été de Singapour: un jour pour visiter l'île de San taosha à Singapour
- IPtable port redirection masquerade[easy to understand]
- R language dplyr package Na_ The if function converts the control in the vector value into the missing value Na, and converts the specified content into the missing value Na according to the mapping r
- SAP S/4HANA OData Mock Service 介绍
- Crypto usage in nodejs
- @Component cannot get Dao layer
- How to set vscode to delete the whole line shortcut key?
- Comprendre complètement le tutoriel de traitement de Point Cloud basé sur open3d!
- Web version 3D visualization tool, 97 things programmers should know, AI frontier paper | information daily # 2022.07.01
- 使用 Cheat Engine 修改 Kingdom Rush 中的金钱、生命、星
猜你喜欢

材质UV遮罩的技巧

故障排查:kubectl报错ValidationError: unknown field \u00a0

Industrial software lecture - core technology analysis of 3D CAD design software - the second lecture of the Forum

Stratégie touristique d'été de Singapour: un jour pour visiter l'île de San taosha à Singapour
![[daily question] first day](/img/8c/f25cddb6ca86d44538c976fae13c6e.png)
[daily question] first day

The difference between interceptor and filter
![[fluent] dart data type (VaR data type | object data type)](/img/1b/fe2529af5f6663fad1fb7861f14ab5.jpg)
[fluent] dart data type (VaR data type | object data type)

第一次去曼谷旅游怎么玩?这份省钱攻略请收好

After 22 years in office, the father of PowerShell will leave Microsoft: he was demoted by Microsoft for developing PowerShell

Redis (6) -- object and data structure
随机推荐
Leetcode (154) -- find the minimum value II in the rotation sort array
Progress-进度条
Chain game system development (unity3d chain game development details) - chain game development mature technology source code
任职 22 年,PowerShell 之父将从微软离职:曾因开发 PowerShell 被微软降级过
Comprendre complètement le tutoriel de traitement de Point Cloud basé sur open3d!
R语言dplyr包rowwise函数、mutate函数计算dataframe数据中多个数据列在每行的最大值、并生成行最大值对应的数据列(row maximum)
options should NOT have additional properties
SAP S/4HANA OData Mock Service 介绍
R language dplyr package filter function filters dataframe data. If the name of the data column (variable) to be filtered contains quotation marks, you need to use!! SYM syntax processing, otherwise n
How to set vscode to delete the whole line shortcut key?
Deep learning mathematics foundation
FastDFS安装
options should NOT have additional properties
R语言使用epiDisplay包的lrtest函数对多个glm模型(logisti回归)执行似然比检验(Likelihood ratio test)对比两个模型的性能是否有差异、广义线性模型的似然比检
文字编辑器 希望有错误的句子用红色标红,文字编辑器用了markdown
R语言ggplot2可视化:gganimate包创建动态柱状图动画(gif)、使用transition_states函数在动画中沿给定维度逐步显示柱状图
【愚公系列】2022年07月 Go教学课程 001-Go语言前提简介
页面标题组件
The student Tiktok publicized that his alma mater was roast about "reducing the seal of enrollment". Netizen: hahahahahahahaha
How to play when you travel to Bangkok for the first time? Please keep this money saving strategy