当前位置:网站首页>[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.
边栏推荐
- How to write controller layer code gracefully?
- R language uses Cox of epidisplay package Display function obtains the summary statistical information of Cox regression model (risk rate HR, adjusted risk rate and its confidence interval, P value of
- Stratégie touristique d'été de Singapour: un jour pour visiter l'île de San taosha à Singapour
- 彻底搞懂基于Open3D的点云处理教程!
- SLAM|如何时间戳对齐?
- Hongmeng's fourth learning
- 距离度量 —— 杰卡德距离(Jaccard Distance)
- Ali was wildly asked by the interviewer on three sides. Redis dared not write 'proficient' on his resume anymore
- How to use PS to extract image color and analyze color matching
- FastDFS安装
猜你喜欢
[0701] [论文阅读] Alleviating Data Imbalance Issue with Perturbed Input During Inference
性能测试如何创造业务价值
Singapore summer tourism strategy: play Singapore Sentosa Island in one day
UML 类图
第一次去曼谷旅游怎么玩?这份省钱攻略请收好
Comprendre complètement le tutoriel de traitement de Point Cloud basé sur open3d!
【JVM调优实战100例】02——虚拟机栈与本地方法栈调优五例
文字编辑器 希望有错误的句子用红色标红,文字编辑器用了markdown
【每日一题】第二天
Stratégie touristique d'été de Singapour: un jour pour visiter l'île de San taosha à Singapour
随机推荐
2022软件工程期末考试 回忆版
R language ggplot2 visualization: visualize the line chart and add customized X-axis label information to the line chart using labs function
SLAM|如何时间戳对齐?
Responses of different people in technology companies to bugs | daily anecdotes
R language ggplot2 visual Facet: gganimate package is based on Transition_ Time function to create dynamic scatter animation (GIF)
R language uses lrtest function of epidisplay package to perform likelihood ratio test on multiple GLM models (logisti regression). Compare whether the performance of the two models is different, and
Introduction to sap s/4hana OData mock service
Exness in-depth good article: dynamic series - Case Analysis of gold liquidity (V)
Have you stepped on the nine common pits in the e-commerce system?
彻底搞懂基于Open3D的点云处理教程!
《病人家属,请来一下》读书笔记
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
LightGroupButton* sender = static_cast<LightGroupButton*>(QObject::sender());
Hongmeng's fourth learning
Singapore summer tourism strategy: play Singapore Sentosa Island in one day
第一次去曼谷旅游怎么玩?这份省钱攻略请收好
Meta universe chain game system development (logic development) - chain game system development (detailed analysis)
#gStore-weekly | gStore源码解析(四):安全机制之黑白名单配置解析
Page title component
新加坡暑假旅遊攻略:一天玩轉新加坡聖淘沙島