读后感-论文Patch-based Convolutional Neural Network for Whole Slide Tissue Image Classification

读后感背景

工作中要对高分辨率图像(至少1024 \(\times\) 1024)进行分类,而且ground-truth分类的标准一般都是取决于像素级别的精细local feature(e.g. texture),图像中大致的global feature (e.g. spatial arrangement)不是很重要。大多数生物医学图像分类都属于这类,这就导致了很多传统的CNN不适用于医学图片的分类,比如AlexNet, VGG等。

论文[Patch-based Convolutional Neural Network for WholeSlide Tissue Image Classification]为此类问题提出了 一个解决方案。基本原理就是把一个高分辨率图像分成很多小patch,然后对每个patch做patch-level classification,最后集合patch-level classification得到一个image-level classification。

这种解决方案基于多示例学习(Multiple Instance Learning),这里的image—>patch对应着多示例学习中的bag—>instance。label对应着image,但是patch是没有groud-truth label的。因此多示例学习也属于弱监督学习。

论文中提出了patch-level classifier和decesion fusion model。patch-level classifier就是给每一个patch打上标签,通过CNN进行训练。decesion fusion model是把一个image里上一步得到的所有patch标签结合起来,得到一个image标签。下面的图基本上就是论文用的方法,上面为patch-level classifier,下面是decesion fusion model。

读后感-论文Patch-based Convolutional Neural Network for Whole Slide Tissue Image Classification_第1张图片

decesion fusion model的实现很简单,从简易的max pooling, average pooling 和 voting,到机器学习中的SVM,logistic regression,再到深度学习里的神经网络都可以实现。变种很多,就不一一介绍了。

读后感主体

本编读后感重点思考一下patch-level classifier,因为文中提到:Furthermore, we formulate a novel Expectation-Maximization (EM) based method that automatically locates discriminative patches robustly by utilizing the spatial relationships of patches. 意思就是在做decesion fusion的时候,不是所有的patch的标签都被fuse在一起的,因为有一些patch只是背景或者对分类结果没啥影响。(虽然我个人觉得这步用处不大,都把image分成很多patch了,还多此一举,这样也不能节省很多时间吧,具体文中对结果的影响好像也不大)。

对于怎么用EM的方式选出 discriminative patches,文中一开始用了很多数学推导,先介绍数学标志。

读后感-论文Patch-based Convolutional Neural Network for Whole Slide Tissue Image Classification_第2张图片

对于一个patch怎么才能叫discriminative,文中说到: Patches \(x_{i,j}\) that have \(P(H_{i,j} | X)\) larger than a threshold \(T_{i,j}\) are considered discriminative and are selected to continue training the CNN.

对于什么是\(P(H_{i,j} | X)\) ,文中又说 :\(P(H_{i,j} | X)\) is obtained by applying Gaussian smoothing on $P(y_{i, j}| x_{i,j} ; \theta) $

结合这两句话就总结成:一个patch到底discriminative与否取决与它自身预测结果中,对应image label的confidence score。这个image label指的是这个patch对应的image的ground-truth label,所以这个patch在训练的时候可以被分成其他类(i.e. 其对应image的label的confidence score不是最大),而只是在patch的预测结果中,只要对应image类别的confidence score比阈值大,这个patch就可以是discriminative。

明确了discriminative patch的定义之后,我们就可以看看论文中如何用EM和deep learning的形式来确定一个patch的discriminativeness了。

1475891-20190527144744276-1477281332.png

首先,初始化时候,把所有的patch都看成discriminative,意思就是第一次迭代的时候把所有patch都用上,这个\(H_{i,j}=1\)和神经网络参数初始化并没有关系。

读后感-论文Patch-based Convolutional Neural Network for Whole Slide Tissue Image Classification_第3张图片

读后感-论文Patch-based Convolutional Neural Network for Whole Slide Tissue Image Classification_第4张图片

在M步里,通过一系列假设,最后的目标就是公式(4),其中\(P(y_i|x_{i,j})P(x_{i,j})\)的最大化可以用cross-entropy loss作为loss function的神经网络达成。具体推倒看上面的手写图。这里\(P(y_i|x_{i,j})\)就是\(y_i\) given \(x_{i,j}\)的后验概率:posterior is the conditional probability of obersving the actual output \(y_{i}\) given the input ​\(x_{i,j}\) with regard to weights \(\theta\).

至于公式(4)里面的\(P(x_{i,j})\),可能直接省略了吧。这里其实还没有太搞懂,如果有看到这篇读后感的大神请不吝赐教!!!

读后感-论文Patch-based Convolutional Neural Network for Whole Slide Tissue Image Classification_第5张图片

最后,在E步里,用神经网络经过softmax层的输出\(P(y_i|x_{i,j})\)加上一些Gaussian smoothing来得到\(P(H_{i,j}|X)\)的值,然后通过把\(P(H_{i,j}|X)\)和设定好的阈值比较,来确定patch是否是discriminative。阈值设定和比较上具体还有些细节,就不赘述了。之后把E步里判定是discriminative的patch再用做M步的网络学习。

所以整个学习的过程就是通过EM迭代来确定网络参数。网络的学习(SGD)是在M步里完成的,每次M步网络参数经过几个epoch的更新。然后在E步里,更新完参数的网络再对所有patch进行discriminative判定,判定成功的patch再去到M去帮助网络参数学习。这样EMEMEM轮回,最后达到收敛条件后(收敛条件貌似是discriminative patch的判断不再改变了)结束patch-level classifier的训练。然后放到decesion fustion model里去预测。

读后感总结

这就是我对这篇文章[Patch-based Convolutional Neural Network for Whole Slide Tissue Image Classification]的理解,其中可能有很多偏差或者不对的地方。因为作者并没有提供源代码,网上找到的第三方代码貌似也不能复现。希望有关注这篇文章的同学读过之后,可以和我留言讨论,看看我上述理解对不对,谢谢!

转载于:https://www.cnblogs.com/fledlingbird/p/10929777.html

你可能感兴趣的:(读后感-论文Patch-based Convolutional Neural Network for Whole Slide Tissue Image Classification)