多标签分类问题详情 及 医学影像分类的思考

最近在做眼底图像的多标签分类,读了一下武大的刘威威老师的综述The Emerging Trends of Multi-Label Learning1,本人也看了一点医学影像分类和天然图像多标签分类的文章。本文次要总结一下浏览之后对多标签分类(multi-label classification, MLC)问题的了解,以及对于医学影像上的多标签问题的特点的一点思考。

综述的概括

为了偷懒这里就不列各个办法的援用了,在概括综述内容的根底上加了一点本人的了解,是跳着读的所以只有局部内容。

综述构造

MLC问题的钻研重点蕴含几个方面:

  • Extreme MLC: XMLC, 就是类别数十分大的MLC场景。随着大数据时代的到来,这个场景的钻研意义重大。

    • 大部分工作是基于SLEEC之后做的,次要有基于one-vs-all分类器、树、embedding三种思路。
    • 实践层面须要针对标签稠密,解决长尾散布问题。
  • MLC with missing/nosiy label:非全监督学习的MLC版本,次要针对标签的问题进行解决。

    • missing label:预设有的类别无label
    • semi-supervised:传统半监督学习的迁徙,局部data有label,局部没有
    • partial multi-label: 局部label不可信,即含糊标签的场景
  • online MLC for stream data:因为当初web端实时产出大量流数据,针对线上实时场景的MLC被大量关注。

    • 流数据无奈预读到内存里获取全局,个别须要实时处理每个工夫戳
    • 现有offline MLC model在序列数据上的成果个别
    • online MLC畛域目前在试验和实践上暂无特地好的成果(very limited)

§4 Deep Learning for MLC

  • BP-MLL

最早在MLC中应用NN构造的是BP-MLL, 它提出了一种pairwise的loss函数,如下:

$$E_{i}=\frac{1}{\left|y_{i}^{1}\right|\left|y_{i}^{0}\right|} \sum_{(p, q) \in y_{i}^{1} \times y_{i}^{0}} \exp \left(-\left(F\left(x_{i}\right)^{p}-F\left(x_{i}\right)^{q}\right)\right)$$

其中$p,q$别离为预测为1和0的类别,应用$e^{-x}$模式惩办项,使得不同的类别间差值尽可能大,整体是一种rank loss的思路。

在随后的钻研中发现,BP-MLL能够应用cross-entropy loss,再加上一点ReLu/Dropout/AdaGrad之类的trick,能够再经典BP-MLL无奈利用的大规模文本分类的场景取得新的SOTA性能。

  • C2AE

经典的Embedding办法只能获取label自身的语意dependency,不可能获取更高维的分割,C2AE(Canonical Correlated AutoEncoder)是第一个基于Embedding的MLC办法,它通过自编码器提取特色,利用DCCA(deep canonical correlation analysis)基于特征提取label间的分割,属于embedding层。

C2AE整体指标函数定义如下:

$$\min _{F_{x}, F_{e}, F_{d}} \Phi\left(F_{x}, F_{e}\right)+\alpha \Gamma\left(F_{e}, F_{d}\right)$$

$F_x, F_e, F_d$别离为 特色映射、编码函数、解码函数, $\alpha$是均衡两个惩办项的权重项。$\Phi, \Gamma$别离为latent空间(feature和encoding之间)和output空间上(encoding和decoding之间)的loss。

借鉴了CCA的思路,C2AE使instance和label的分割尽可能大(最小化差距)

$$\begin{aligned}\min _{F_{x}, F_{e}} &\left\|F_{x}(X)-F_{e}(Y)\right\|_{F}^{2} \\\text { s.t. } & F_{x}(X) F_{x}(X)^{T}=F_{e}(Y) F_{e}(Y)^{T}=I\end{aligned}$$

自编码器应用和上文类似的rank loss,使得不同类别的code差异尽可能大。

$$\begin{array}{l}\Gamma\left(F_{e}, F_{d}\right)=\sum_{i=1}^{N} E_{i} \\E_{i}=\frac{1}{\left|y_{i}^{1}\right|\left|y_{i}^{0}\right|} \sum_{(p, q) \in y_{i}^{1} \times y_{i}^{0}} \exp \left(-\left(F_{d}\left(F_{e}\left(x_{i}\right)\right)^{p}-F_{d}\left(F_{e}\left(x_{i}\right)\right)^{q}\right)\right)\end{array}$$

后续的DCSPE, DBPC等工作进一步晋升了文本分类上的SOTA性能和推理速度。


  • patial and weak-supervised MLC

CVPR 2020中D. HuynhInteractive multi-label cnn learning with partial labels和CVPR 2019中T. DurandLearning a deep convnet for multi-label classification with partial labels(以下依据坐着名称简称D和T)做了相干钻研。

T应用BCE Loss训练有标签局部,而后应用GNN提取标签间分割。试验证实局部标注的大数据集比全标注的小数据集成果要好,进一步证实了partial label的MLC畛域的钻研意义。

D在T的根底上,应用流形学习的思路,将label和feature的流形平滑度作为BCE Loss函数的cost,再应用半监督的思路,CNN学习和similarity同步进行(我没看这篇文章,听综述的这种形容相似于$\pi$模型或者teacher-student构造)。

  • SOTA的Advanced MLC

分类链:ADIOS把label切分成马尔科夫毯链(Markov Blanket Chain),能够提取label间的关系,而后丢进DNN训练。

CRNN:有2篇文章把类别作为序列,应用CRNN或者C-LSTM解决。更进一步对于类别序列的程序应用attention/RL进行学习,寻找最优程序。CVPR 2020和AAAI 2020各有一篇此思路的,应用optimal completion distillation+多任务学习/最小alignment的思路,都是尝试动静调整label sequence的order(order-free)。

graph相干

  • 2 建设一个类别间的有向图,而后应用GCN训练。
  • SSGRL3 应用embedding进行semantic decoupling, 而后应用GNN学习label+feature形成的-semantic,强化instance和label特色,以学习更高维的label间的分割。
  • 4 对GCN和CNN的一些layer间增加连贯,从而实现label-aware的分类学习
  • 5 应用GCN获取rich semantic info,再应用non-local attention获取长语意关联。
  • 6 应用深度森林,一种tree ensemble形式,不依赖回传机制。提出了MLDF(multi-label Deep Forest),据说能够更好地解决过拟合,在6种指标上获得了SOTA的成果,是lightweight设计的一个摸索。

医学影像的MLC思考

以前看医学图像宰割的文章(DeepIGeoS),国泰对于医学图像的非凡点概括为:

  1. 低对比度,高噪声,存在空腔
  2. 患者间scale和feature差别微小
  3. 疾病间的不平均表征
  4. 医生定义不同会造成ground-truth特色不统一

这次要针对与宰割而言,因为个别宰割工作的CT和MRI图像是高Intensity的灰度图像,感觉在MLC场景中1和2根本都不咋实用。

3在MLC中体现为不同类别的feature的不平均,例如有的疾病可能可观测症状笼罩很大区域,有的就只是很小的局部会呈现可观测的症状,感觉相似于FPN的multi-scale策略对于特征提取会有一些帮忙,不过这是一个很general的揣测,具体成果须要在具体的场景下多做试验。

4能够分割上MLC中的partial label问题,如果对于疾病的判断是不确定的,例如医生对一个患者得出几种可能病症,此时又没有进一步查看,那么兴许能够设计一种办法预测各个label的置信度,哈哈哈感觉这是一个paper的idea了,惋惜场景和数据的要求感觉有些刻薄。

另外值得一提的就是类别不均衡,因为一些疾病的病例较少,可能收集到的data里只有个位数的正例,此时这个类别很可能基本学不到啥,目前想法不是很清晰,过几天有工夫再专门调研一下这个问题。

最初就是医学图像脍炙人口的半监督,如果有局部没有标注的数据和一些标注的数据,拿来做半监督对性能也能晋升一些,尽管不局限医学图像,然而因为医学标注获取较难,半监督的利用也特地广,大有可为吧能够说。

参考文献


  1. W. Liu, X. Shen, H. Wang, and I. W. Tsang, “The Emerging Trends of Multi-Label Learning,” arXiv:2011.11197 [cs], Dec. 2020, Accessed: Jan. 08, 2021. [Online]. Available: http://arxiv.org/abs/2011.11197. ↩
  2. Z. Chen, X. Wei, P. Wang, and Y. Guo, “Multi-label image recognition with graph convolutional networks,” in CVPR, 2019, pp. 5177–5186. ↩
  3. T. Chen, M. Xu, X. Hui, H. Wu, and L. Lin, “Learning semanticspecific graph representation for multi-label image recognition,” in ICCV, 2019, pp. 522–531. ↩
  4. Y. Wang, D. He, F. Li, X. Long, Z. Zhou, J. Ma, and S. Wen, “Multilabel classification with label graph superimposing,” in AAAI, 2020, pp. 12 265–12 272. ↩
  5. P. Tang, M. Jiang, B. N. Xia, J. W. Pitera, J. Welser, and N. V. Chawla, “Multi-label patent categorization with non-local attention-based graph convolutional network,” in AAAI, 2020. ↩
  6. L. Yang, X. Wu, Y. Jiang, and Z. Zhou, “Multi-label learning with deep forest,” CoRR, vol. abs/1911.06557, 2019. ↩