论文阅读 (十九):Deep Multi-instance Learning with Dynamic Pooling (2018DP-MINN)

引入

  使用神经网络的多示例端到端优化是一个很重要的问题:如何在不损失过多实例级别信息的同时设计一个序列不变 (permutation-invariant)池化函数
  受胶囊网络 (capsule networks)中动态路由 (dynamic routing)的启发,本文提出了一个新颖的针对MIL的动态池化函数:针对关键实例的自适应,以及对包中实例的上下文信息 (contextual information )进行建模。
  具体的,动态池迭代的更新实例对所属包的贡献程度,其具备序列不变的性质,以及可以解释实例到包的关系。html


【1】http://proceedings.mlr.press/v95/yan18a/yan18a.pdfweb


1 多示例神经网络的动态池化

  主要内容:
  1)多示例学习基本概念;
  2)DP-MINN;
  3)相关讨论。网络

1.1 多示例学习

  部分符号表以下:svg

符号 含义
X = { x 1 , x 2 , ⋯   , x K } X = \{ x_1, x_2, \cdots, x_K \} X={ x1,x2,,xK}
x i x_i xi 包中第 i i i d d d维特征向量
K K K 包大小
Y ∈ { 0 , 1 } Y \in \{ 0, 1 \} Y{ 0,1} 标签空间

  符号点评:
  1) x i x_i xi是一个向量,推荐使用 x i \boldsymbol{x}_i xi;
  2) K K K表示包的大小,是一个常量,而 K K K经常使用来表示矩阵等。函数

1.1.1 问题说明

  实例到包的依赖关系随着多示例 (MI)假设的变化而变化,与已有的工做不一样,本文不固定使用某一MI假设,而将重点放在模型的构建上。学习

1.1.2 序列不变性

  MI中,包中的实例是一组特征的集合,其没有特定的顺序。所以,MI数据的一个重要特色是输入序列的不变性 (permutation invariance)基于对称函数基本定理 [ 1 , 2 ] \color{red}^{[1, 2]} [1,2],任意序列不变对称函数 M M M能够分解维以下:
M ( X ) = ρ ( ∑ x ∈ X ϕ ( x ) ) . (1) M (X) = \rho (\sum_{x \in X} \phi (x)). \tag{1} M(X)=ρ(xXϕ(x)).(1)其中 ρ \rho ρ ϕ \phi ϕ表明适当的转换 (一号坑:怎么转换?)。优化

  点评:
  1)公式中使用的".",应该把公式看做是一个句子。ui


注:
【1】Manzil Zaheer, Satwik Kottur, Siamak Ravanbakhsh, Barnabas Poczos, Ruslan R Salakhutdinov, and Alexander J Smola. Deep sets. In Advances in Neural Information Processing Systems, pages 3394–3404, 2017.
【2】Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. Proc. Computer Vision and Pattern Recognition (CVPR), IEEE, 1(2):4, 2017.lua


1.1.3 MIL与神经网络

  已有的MI-Net [ 1 ] \color{red}^{[1]} [1]和AttentionNet [ 2 ] \color{red}^{[2]} [2]分为三步:
  1)经过实例转换,习得实例嵌入;
  2)经过一个序列不变MIL池生成包嵌入;
  3)基于包嵌入分类包。
  第二步是关键,上面两篇文章中的大佬已经定义了几个池化函数 (这里没讲,由于很快“窝们”就要提出本身的了)。spa

1.2 动态池化

  已有的MIL动态池化方法,很难,对包中实例的上下文信息建模,由于其迟缓函数是前向传递,且实例之间的权重是单独计算的。
  受胶囊网络启发,本文提出了称为动态池化 (dynamic pooling)的协议池化 (pooling-by-agreement)策略。
  为了方面讲故事,首先定义实例转换函数 f ( ⋅ ) f (\cdot) f()实例嵌入函数 f ( X ) = { f ( x 1 ) , f ( x 2 ) , ⋯   , f ( x K ) } f (X) = \{ f (x_1), f_(x_2), \cdots, f (x_K) \} f(X)={ f(x1),f(x2),,f(xK)}
  本文的动态池化函数能够表示以下的权重累加池化
σ ( X ) = ∑ i = 1 K c i f ( x i ) , (2) \tag{2} \sigma (X) = \sum_{i = 1}^K c_i f (x_i), σ(X)=i=1Kcif(xi),(2)其中实例权重 c i c_i ci是一个描述实例 x i x_i xi与相应包嵌入的分布的标量 (二号坑: f ( ⋅ ) f (\cdot) f()是啥? c i c_i ci怎么来?)。
  基于这些权重,本文使用公式 (2)汇聚实例嵌入维包的嵌入,并使用一个非线性 “squashing”函数,使得短向量缩短到几乎零长度,长向量缩短到低于 1 1 1
s ( X ) = ∥ σ ( X ) ∥ 2 1 + ∥ σ ( X ) ∥ 2 σ ( X ) ∥ σ ( X ) ∥ . (3) \tag{3} s (X) = \frac{ {\| \sigma (X) \|}^2}{1 + {\| \sigma (X) \|}^2} \frac{\sigma (X)}{\| \sigma (X) \|}. s(X)=1+σ(X)2σ(X)2σ(X)σ(X).(3)  与已有MIL池化函数不一样,本文中实例权重 c i c_i ci为动态计算所得。为了描述这一过程,本文定义了一个临时实例权重 b i b_i bi。而后, c i c_i ci经过一个简单的softmax函数计算 (二号坑的 c i c_i ci解决):
c i = exp ⁡ ( b i ) ∑ j exp ⁡ ( b j ) . (4) \tag{4} c_i = \frac{\exp (b_i)}{\sum_j \exp (b_j)}. ci=jexp(bj)exp(bi).(4)  为了简化,上标 t t t表示迭代次数:
  1)初始化, t = 1 t = 1 t=1 b i 1 = 0 b_i^1 = 0 bi1=0表示包中实例对包嵌入等贡献;
  


【1】Xinggang Wang, Yongluan Yan, Peng Tang, Xiang Bai, and Wenyu Liu. Revisiting multiple instance neural networks. Pattern Recognition, 74:15–24, 2018.
【2】Maximilian Ilse, Jakub M Tomczak, and Max Welling. Attention-based deep multiple instance learning. arXiv preprint arXiv:1802.04712, 2018.

本文同步分享在 博客“因吉”(CSDN)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索