当前位置:网站首页>[0701] [paper reading] allowing data imbalance issue with perforated input during influence
[0701] [paper reading] allowing data imbalance issue with perforated input during influence
2022-07-02 19:04:00 【xiongxyowo】
[ Address of thesis ] [ Code ] [MICCAI 21]
Abstract
Due to the data imbalance between common diseases and rare diseases , Intelligent diagnosis tends to favor common diseases . Even if the rebalancing strategy is applied during model training , This prejudice may still exist . To further alleviate this prejudice , We have come up with a new method , This method works not in the training stage but in the reasoning stage . For any test input data , Based on the difference between the temperature adjusted classifier output and the target probability distribution obtained from the inverse frequency of different diseases , The input data can be slightly disturbed in a way similar to adversarial learning . Compared with the original input , Classifier predictions of disturbed inputs will become less biased towards common diseases . The proposed reasoning stage method can be naturally combined with the rebalancing strategy of any training stage . Extensive evaluation on three different medical image classification tasks and three classifier backbones shows , Our method can continuously improve the performance of the classifier , Even after training in any rebalancing strategy . Especially in a few categories , The performance improvement is huge , This proves the effectiveness of the proposed method in alleviating the bias of the classifier against the dominant category .
Method
This paper solves the problem of unbalanced data set in medical diagnosis , namely , Samples of rare diseases are difficult to collect . The specific method belongs to a kind of post-processing based on test (Test-Time Postprocessing) Methods , Compared with the traditional pre-test pretreatment (Training-Time Preprocessing) There is a certain novelty in the way . The overall process is as follows :
Consider that the data set contains C C C Class training data , Among them the first c c c The number of samples of class is n c n_c nc. If a certain category i i i Of the samples are dominant , So for any input sample x x x, Output softmax probability p p p It also tends to be predicted as a category i i i. Then the practice of this article is also very simple , Disturb the sample during the test , Make it softmax The output is biased towards a few classes .
In the sample x x x Input to the network , You can get FC Layer of logit Output vector z = [ z 1 , z 2 , . . . , z C ] T z = [z_1, z_2,...,z_C]^T z=[z1,z2,...,zC]T. The final classification probability is calculated by taking this z z z Input to softmax In the classifier . about softmax for , It has a temperature coefficient T T T, In normal classification, we set it to 1 Of , In some tasks, such as knowledge distillation , We will set it to be greater than 1, Thus making softmax Output is more " smooth ". So here is also a truth , increase T, Make the prediction probability of common classes lower , The prediction probability of uncommon classes is improved 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) Of course , Just do this step , It can only be said that the prediction probability gap between different classes can be shortened , Not directly " The class with the second highest probability is optimized into the class with the first highest probability ". And in order to achieve this , This paper realizes a perturbation vector : 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) So the idea of this thing is actually very primitive . among g ( n c ) = l o g ( M / n c ) g(n_c) = log(M/n_c) g(nc)=log(M/nc), That is, the more frequently a class appears in the training set , So g ( n c ) g(n_c) g(nc) The lower it is . Now? , We will p c ∗ p_{c}^{*} pc∗ As a true value , Then you can get p c ∗ p_{c}^{*} pc∗ And the original forecast p c p_{c} pc The difference of . Based on this difference , You can deduce the corresponding noise that needs to be added : 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∗)) So as to achieve the effect of correction in the actual test stage .
Experiment
stay 3 Strip bias Medical data set for Skin7,OCTMNIST,X-ray6 We did experiments on .
Comparison methods include traditional class-level re-weighting,focal loss And more modern two-stage deferred re-sampling,margin-based method LDAM.
边栏推荐
- R语言ggplot2可视化:gganimate包创建动态柱状图动画(gif)、使用transition_states函数在动画中沿给定维度逐步显示柱状图
- How to enable the run dashboard function of idea
- Distance measurement - Jaccard distance
- Eliminate the yellow alarm light on IBM p750 small computer [easy to understand]
- 全链路数字化转型下,零售企业如何打开第二增长曲线
- R语言使用epiDisplay包的cox.display函数获取cox回归模型汇总统计信息(风险率HR、调整风险率及其置信区间、模型系数的t检验的p值、Wald检验的p值和似然比检验的p值)、汇总统计
- Leetcode (154) -- find the minimum value II in the rotation sort array
- SLAM|如何时间戳对齐?
- 思维意识转变是施工企业数字化转型成败的关键
- 【JVM调优实战100例】01——JVM的介绍与程序计数器
猜你喜欢

什么是云原生?这回终于能搞明白了!

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

The text editor hopes to mark the wrong sentences in red, and the text editor uses markdown

Redis (6) -- object and data structure

Novice must see, click two buttons to switch to different content

电商系统中常见的 9 大坑,你踩过没?

Comprendre complètement le tutoriel de traitement de Point Cloud basé sur open3d!

Yesterday, Alibaba senior wrote a responsibility chain model, and there were countless bugs

距离度量 —— 杰卡德距离(Jaccard Distance)

LightGroupButton* sender = static_ cast<LightGroupButton*>(QObject::sender());
随机推荐
[daily question] the next day
Comprendre complètement le tutoriel de traitement de Point Cloud basé sur open3d!
问题包含哪些环节
What is cloud primordial? This time, I can finally understand!
什么是云原生?这回终于能搞明白了!
Ali was wildly asked by the interviewer on three sides. Redis dared not write 'proficient' on his resume anymore
Use MNIST in tensorflow 2_ 784 data set for handwritten digit recognition
The difference between promise and observable
@Component 拿不到dao层
新加坡暑假旅游攻略:一天玩转新加坡圣淘沙岛
[Yugong series] July 2022 go teaching course 001 introduction to go language premise
Web version 3D visualization tool, 97 things programmers should know, AI frontier paper | information daily # 2022.07.01
The student Tiktok publicized that his alma mater was roast about "reducing the seal of enrollment". Netizen: hahahahahahahaha
2022编译原理期末考试 回忆版
Industrial software lecture - core technology analysis of 3D CAD design software - the second lecture of the Forum
R language ggplot2 visual Facet: gganimate package is based on Transition_ Time function to create dynamic scatter animation (GIF)
Have you stepped on the nine common pits in the e-commerce system?
产品经理应具备的能力
【愚公系列】2022年07月 Go教学课程 001-Go语言前提简介
The text editor hopes to mark the wrong sentences in red, and the text editor uses markdown