論文閱讀 (五):Scalable Multi-Instance Learning (miFV2014)

引入

  論文地址:https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm14.pdf
  論文應用:處理大規模MIL問題。
  論文出發點:將包映射爲Fisher vector表示。

1 miFV

  算法名miFV:multi-instance learning based on the Fisher Vector representation

1.1 Fisher Vector (FV)

  FV (Fisher Vector) 1是計算機視覺中,將一組從圖像中提取到的patch編碼爲高維向量,併合併爲一個圖像級別的signature。

  令S={st,t=1,,T}S = \{ \boldsymbol{s}_t, t = 1, \dots, T \}爲具有TT個觀測值stS\boldsymbol{s}_t \in \mathcal{S}的樣本;
  令pp是一個用λ\lambda建模,並生成S\mathcal{S}中元素的概率密度函數,則
  樣本SS可以用一個梯度向量描述:
GλS=λlogp(Sλ).(1) G^S_{\lambda} = \bigtriangledown_{\lambda} \log p (S | \lambda). \tag{1}   需要注意的是GλSG^S_{\lambda}的維度僅僅取決於pp的數量,而與樣本大小TT無關,即,將不定長度的集合SS轉換爲固定長度的GλSG^S_{\lambda}。這一性質將很好地適應於miFV的映射函數Mf\mathcal{M}_f

  Fisher Kernel (FK) 2最初用於度量兩個樣本S1S_1S2S_2的相似性:
KFK(S1,S2)=GλS1Fλ1GλS2,(2) \mathcal{K}_{FK} (S_1, S_2) = {G^{S_1}_{\lambda}}' F_{\lambda}^{-1} G^{S_2}_{\lambda}, \tag{2} 其中FλF_{\lambda}是Fisher信息矩陣pp (下面公式裏用到的是s\mathcal{s},而非SS,不知道是否是表述有錯):
Fλ=Esp[λlogp(sλ)[λlogp(sλ)].(3) F_{\lambda} = E_{\mathcal{s} \sim p} [\bigtriangledown_{\lambda} \log p (\mathcal{s} | \lambda) [\bigtriangledown_{\lambda} \log p (\mathcal{s} | \lambda)']. \tag{3}
  由於FλF_{\lambda}是對稱且正定的,則其可近似爲Fλ1=LλLλF_{\lambda}^{-1} = L_{\lambda}'L_{\lambda},且 式 (2)將被重寫爲:
KFK(S1,S2)=fλS1fλS2,(4) \mathcal{K}_{FK} (S_1, S_2) = \boldsymbol{f}_{\lambda}^{{S_1}'} \boldsymbol{f}_{\lambda}^{{S_2}}, \tag{4} 其中
fλS=LλGλS=Lλλlogp(Sλ).(5) \boldsymbol{f}_{\lambda}^{{S}} = L_{\lambda} G_{\lambda}^S = L_{\lambda} \bigtriangledown_{\lambda} \log p (S | \lambda). \tag{5}
  式 (5)所示的標準化後的梯度向量便是Fisher Vector (FV)。就結果而言,非線性核與KFK\mathcal{K}_{FK}一起使用將等同於線性核與FV一起使用。

   問題1:LλL_{\lambda}怎麼求?
   問題2:λlogp(Sλ\bigtriangledown_{\lambda} \log p (S | \lambda怎麼求?

1.2 使用FV重新表示包

  將一個包看作是一個樣本SS。在傳統的機器學習假設中,包中實例爲獨立同分布,因此S\mathcal{S}中的st\boldsymbol{s}_t可以獨立的由pp生成。這裏的pp選擇爲高斯混合模型 (GMM),並使用最大似然估計 (MLE)進行評估。具體過程如算法1。

算法1:miFV算法

  1. 輸入:
  2.   訓練集{(X1,y1),,(Xi,yi),,(XNB,yNNB)}\{ (X_1, y_1), \dots, (X_i, y_i), \dots, (X_{N_B}, y_{N_{N_B}}) \}
  3. 訓練:
  4.   使用MLE評估GMM p的參數λ={wk,μk,k}\lambda = \{ w_k, \mathbf{\mu}_k, \bold{\sum}_k \}
  5.   for i=1i = 1 to NBN_B do
  6.     將包XiX_i映射爲一個FV:fλXiMf(Xi,p)\boldsymbol{f}_{\lambda}^{X_i} \leftarrow \mathcal{M}_f (X_i, p)
  7.     [fλXi]jsign[\boldsymbol{f}_{\lambda}^{X_i}]_j \leftarrow \rm sign([fλXi]j)[fλXi]j([\boldsymbol{f}_{\lambda}^{X_i}]_j) \sqrt{|[\boldsymbol{f}_{\lambda}^{X_i}]_j |}
  8.     fλXifλXi/fλXi2\boldsymbol{f}_{\lambda}^{X_i} \leftarrow \boldsymbol{f}_{\lambda}^{X_i} / \| \boldsymbol{f}_{\lambda}^{X_i} \|_2
  9.   end for
  10.   使用新的訓練集{(fλXi,y1),,(fλXNB,yNB)}\{ (\boldsymbol{f}_{\lambda}^{X_i}, y_1), \dots, (\boldsymbol{f}_{\lambda}^{X_{N_B}}, y_{N_B}) \}訓練分類器F\mathcal{F}
  11. 測試:
  12.   使用同樣的方法對測試包進行映射
  13.   使用分類器F\mathcal{F}進行預測

  上述步驟中,最關鍵的步驟爲4和6,即如何習得參數pp和進行映射。

1.2.1 參數pp的學習

  令λ={wk,μk,k,k=1,,K}\lambda = \{ w_k, \mathbf{\mu}_k, \sum_k, k = 1, \dots, K \}表示GMM參數的KK個部分,其中wkw_k表示高斯模型的混合權重 (mixture weight),μk\bold{\mu}_k表示均值向量 (mean vector), k\sum_k表示kthk^{th} (第k個)高斯模型的協方差矩陣
  給定一個包Xi={xi1,,xij,,xi,ni}X_i = \{ \mathbf{x}_{i1}, \dots, \mathbf{x}_{ij}, \dots, \mathbf{x}_{i, n_i} \},令L(Xiλ)=logp(Xiλ)\mathcal{L} (X_i | \lambda) = \log p (X_i | \lambda)。由於獨立假設和GMM模型,上述公式可以重寫爲:
L(Xiλ)=j=1nilogp(xijλ)=j=1nilogk=1Kwkpk(xijλ),(6) \mathcal{L} (X_i | \lambda) = \sum_{j = 1}^{n_i} \log p (\mathbf{x}_{ij} | \lambda) = \sum_{j = 1}^{n_i} \log \sum_{k = 1}^K w_k p_k (\mathbf{x}_{ij} | \lambda), \tag{6} 其中pkp_k表示kthk^{th}高斯模型:
pk(xijλ)=exp{12(xijμk)k1(xijμk)}(2π)D/2k1/2.(7) p_k (\mathbf{x}_{ij} | \lambda) = \frac{\exp \{ - \frac{1}{2} (\mathbf{x}_{ij} - \mu_k)' \sum_k^{-1} (\mathbf{x}_{ij} - \mu_k) \}}{ (2 \pi)^{D / 2} | \sum_k | ^{1 / 2}}. \tag{7}
  爲了確保pk(xijλ)p_k (\mathbf{x}_{ij} | \lambda)是一個合法的分佈,混合權重必須滿足:
k:wk0,k=1Kwk=1.(8) \forall_k: w_k \geq 0, \sum_{k = 1}^{K} w_k = 1. \tag{8}

  問題3:第kk個高斯模型的協方差矩陣怎麼求?DD代表什麼?
  問題4:DD代表什麼?

1.2.2 映射函數Mf\mathcal{M}_f

  實例xij\mathbf{x}_{ij}關於 (w.r.t.)GMM模型參數λ={wk,μk,k}\lambda = \{ w_k, \mathbf{\mu}_k, \sum_k \}的梯度表示如下 (問題2的解決):
wklogp(xijλ)=γj(k)wk,(9) \bigtriangledown_{w_k} \log p (\mathbf{x}_{ij} | \lambda) = \gamma_j (k) - w_k, \tag{9}

μklogp(xijλ)=γj(k)(xijμkσk2),(10) \bigtriangledown_{\bold{\mu}_k} \log p (\mathbf{x}_{ij} | \lambda) = \gamma_j (k) \bigg (\frac{\mathbf{x}_{ij} - \mathbf{\mu}_k}{\sigma_k^2}\bigg ), \tag{10}

σklogp(xijλ)=γj(k)[(xijμk)2σk21σk],(11) \bigtriangledown_{\mathbf{\sigma}_k} \log p (\mathbf{x}_{ij} | \lambda) = \gamma_j (k) \bigg[ \frac{(\mathbf{x}_{ij} - \mu_k)^2}{\sigma_k^2} - \frac{1}{\sigma_k} \bigg ], \tag{11} 其中σk\sigma_k是方差向量,γi(k)\gamma_i (k)xij\mathbf{x}_{ij}屬於第kk類高斯模型的概率:
γi(k)=p(kxij,λ)=wkpk(xijλ)t=1Kwtpt(xijλ).(12) \gamma_i (k) = p (k | \mathbf{x}_{ij}, \lambda) = \frac{w_k p_k (\mathbf{x}_{ij} | \lambda)}{\sum_{t = 1}^{K} w_t p_t (\mathbf{x}_{ij} | \lambda)}. \tag{12}
  獲取梯度之後,餘下的步驟便是計算LλL_{\lambda}2 3 (問題1的解決)。因此梯度的標準化如下:
fwkXi=1wkj=1ni(γj(k)wk),(13) f_{w_k}^{X_i} = \frac{1}{\sqrt{w_k}} \sum_{j = 1}^{n_i} (\gamma_j (k) - w_k), \tag{13}

fμkXi=1wkj=1niγj(k)(xijμkσk),(14) \boldsymbol{f}_{\mu_k}^{X_i} = \frac{1}{\sqrt{w_k}} \sum_{j = 1}^{n_i} \gamma_j (k) \bigg (\frac{\mathbf{x}_{ij} - \mathbf{\mu}_k}{\sigma_k}\bigg ), \tag{14}

fσkXi=1wkj=1niγj(k)[(xijμk)2σk21σk],(15) \boldsymbol{f}_{\sigma_k}^{X_i} = \frac{1}{\sqrt{w_k}} \sum_{j = 1}^{n_i} \gamma_j (k) \bigg[ \frac{(\mathbf{x}_{ij} - \mu_k)^2}{\sigma_k^2} - \frac{1}{\sigma_k} \bigg ], \tag{15}   上式中,(13)是一個標量,(14)、(15)則是dd維向量 (XiX_i的維度是dd)。
  因此,XiX_i可以由級聯的fwkXif_{w_k}^{X_i}fμkXi\boldsymbol{f}_{\mu_k}^{X_i}fσkXi\boldsymbol{f}_{\sigma_k}^{X_i}表示,經過算法1中7、8步🙅‍,最終表示爲一個(2d+1)K(2d + 1)K維的標準化的FV,即fλXi\boldsymbol{f}_{\lambda}^{X_i}

  更加明白了一個道理,不看源代碼,真的好多坑坑窪窪啊/(ㄒoㄒ)/~~

2 實驗

  使用到的數據集及相關特徵如下:
在這裏插入圖片描述


  1. J. S ´ anchez, F. Perronnin, T. Mensink, and J. Verbeek, “Image Classification with the Fisher Vector: Theory and Practice,”
    Int’l J. Computer Vision, vol. 105, no. 3, pp. 222–245, 2013. ↩︎

  2. T. Jaakkola and D. Haussler, “Exploiting Generative Models in Discriminative Classifiers,” in Advances in Neural Information Processing Systems 11. Cambridge, MA: MIT Press, 1999, pp. 487–493. ↩︎ ↩︎

  3. F. Perronnin and C. Dance, “Fisher Kernels on Visual Vocabularies for Image Categorization,” in Proc. IEEE Computer
    Society Conf. Computer Vision and Pattern Recognition, Minneapolis, Minnesota, 2007, pp. 1–8. ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章