論文閱讀 (十九):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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索