【Noise-Label】《Training a Neural Network Based on Unreliable Human Annotation of Medical Images》

本文主要是介绍【Noise-Label】《Training a Neural Network Based on Unreliable Human Annotation of Medical Images》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
2018 IEEE 15th International Symposium on Biomedical Imaging (ISBI 2018)


文章目录

  • 1 Background and Motivation
  • 2 Innovations
  • 3 Method
    • 3.1 TRAINING A DEEP NEURAL NETWORK WITH A NOISY CHANNEL
  • 4 Experiments
  • 5 Conclusion(own)


1 Background and Motivation

不同于自然图像的 annotation,医学图像很难去 obtain a perfect set of labels,因为 the complexity of the medical data and the large variability between experts.

一个可行的方法

  • cope with unreliable annotation is to collect labeling from multiple experts.(time consuming,需要专家和研究者的密切合作)

先驱们(CIFAR-10 或者 MNIST dataset 上)

  • 《Training deep neural networks based on unreliable labels》
  • 《Learning from noisy labels with deep neural networks》
  • 《Training deep neural networks using a noise adaptation layer》

作者承接前人的工作,将其运用在 breast microcalcifications 的分类上, to predict whether a suspicious region on a medical image is malignant(恶性的) or benign(良性的)

2 Innovations

针对 UNRELIABLE HUMAN ANNOTATION OF MEDICAL IMAGES 提出了一种解决的办法,加 noisy label

3 Method

网络结构很简单,输入 28 维度的基于 RoI 提取的人工特征,two 24-d 的 hidden layer,然后 2 分类的 output layer
参数量
(28*24+ 24)+ (24*24+24)+ (24*2+2)= 29*24 + 25*24 +25*2

3.1 TRAINING A DEEP NEURAL NETWORK WITH A NOISY CHANNEL

  • noisy channel:models the stochastic relation between the correct label and the observed noisy label.

训练的时候加 noisy channel component,测试的时候 remove

1)neural network modelthe probability of input x x x being labeled as i i i is
在这里插入图片描述
k k k- c l a s s class class classification problems,label 为 1 , 2 , … … k 1,2,……k 1,2k

  • h ( x ) h(x) h(x):non-linear function
  • w o w_o wo, b o b_o bo:the parameters of the output soft-max layer(指的是计算 logits 的 w w w b b b
  • y y y:correct medical diagnosis

2)noise model
θ ( i , j ) = p ( z = j ∣ y = i ) \theta(i,j)=p(z=j|y=i) θ(i,j)=p(z=jy=i)

  • y y y:correct medical diagnosis
  • z z z:manual annotation provided by an expert(annotation)

可以这么理解,网络学出来的可能是对的,但是标签是错的,用一个概率模型转换一下

3)The combined neural-net model with noisy labels
在这里插入图片描述
在这里插入图片描述
4)log-likelihood function
在这里插入图片描述

  • t t t t t t-th$ sample
  • i i i i i i-th classification

网络要学的 parameters 是 w w w θ \theta θ 去 maximize the likelihood function,但是 y t y_t yt 是 hidden 的,解决这类问题的标配是 Expectation-Maximization(EM)algorithm,但是 EM 是 greedy optimization procedure,容易陷入到局部最优解!且需要反复的迭代(这就要训练模型好多次了,显然不太优雅),然后才能找到最优的模型参数,参考 Expectation Maximization 的 Introduction 部分!!!

5) 另辟蹊径

EM 不太可行,那怎么办呢?作者直接把公式(3)作为 neural network 的 objective function,把 θ \theta θ 看成是一个 linear function,简化一下公式(2)如下:
在这里插入图片描述

  • P z P_z Pz:the soft-decision distribution of noisy label
  • P y P_y Py:the soft-decision distribution of correct label

整个模型落地为
在这里插入图片描述
θ \theta θ 落地为
在这里插入图片描述
这里对 b 进行 softmax 怎么理解呢?是直接把 θ \theta θ * P y P_y Py 的结果当成 softmax 之后的结果与 one-hot 进行 loss 的计算呢?还是把 θ \theta θ * P y P_y Py 的结果当成 logits 与 one-hot 进行 loss 的计算!!!

6)歧义(degree of freedom)
我们想要的结果是,通过引入 noisy channel,学 θ \theta θ 把网络检测出来的正确结果( y y y),转化为标错的( z z z),但是有可能学到的是 θ T \theta^T θT,也即网络学到了 z z z,加 noisy channel 之后学到了 y y y!为了避免这种情况,作者先不加 noisy channel 进行训练,然后初始化加了 noisy channel 的网络,再进行训练!确保 noisy channel 是对 y → z y→z yz 过程的学习!

4 Experiments

DDSM dataset

  • 1410 clusters (705 of CC, and 705 of MLO), of which 372 were benign and 333 were malignant. CC 和 MLO 是两种不同的视角获取的图片

  • 作者是取 RoI 然后分别从 CC 和 MLO 各提取人工特征 vector(14)

  • 作者 generated noisy data from clean data by randomly changing some of the labels 来模拟专家标注的图片

  • 10-fold cross validation(train and val)

  • 3 methods

  • two different tissue-density categories

在这里插入图片描述
在这里插入图片描述

  • 横坐标就是人工加入的干扰项的比例,比如 0.4 表示有 40% 的错标
  • 可以注意到 Fig.5 加了 noisy label 比 baseline 高
  • The noise probability that was learned in that case was 0.05.

future work 是把这些方法用到其他的 medical imaging task

5 Conclusion(own)

不晓得是不是自己理解错了,加 noisy layer 的目的是为了让网络去更好的拟合错误的标签!不加 noisy layer 网络可能是正确的(真实的),加了之后,去拟合错误的标签!总感觉怪怪的!

而且 baseline 要是在与加载预训练模型之后才有对比性,不然加载预训练模型的效果肯定会变好!!!

这篇关于【Noise-Label】《Training a Neural Network Based on Unreliable Human Annotation of Medical Images》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/234584

相关文章

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

深度学习--对抗生成网络(GAN, Generative Adversarial Network)

对抗生成网络(GAN, Generative Adversarial Network)是一种深度学习模型,由Ian Goodfellow等人在2014年提出。GAN主要用于生成数据,通过两个神经网络相互对抗,来生成以假乱真的新数据。以下是对GAN的详细阐述,包括其概念、作用、核心要点、实现过程、代码实现和适用场景。 1. 概念 GAN由两个神经网络组成:生成器(Generator)和判别器(D

入门篇:神奇的Annotation

涅槃1992 关注 2016.12.25 23:41* 字数 4964 阅读 1059评论 3喜欢 29 前面写了Android 开发:由模块化到组件化(一),很多小伙伴来问怎么没有Demo啊?之所以没有立刻放demo的原因在还有许多技术点没说完. 今天我们就来细细评味Java当中Annotation,也就是我们常说的注解. 本文按照以下顺序进行:元数据->元注解->运行时注解->编译时