並行多工學習論文閱讀(五):論文閱讀總結

lonelyprince7發表於2021-11-12

並行多工學習論文閱讀(五):論文閱讀總結

做為最後一篇並行多工學習的論文閱讀記錄,我決定對我目前為止粗讀和精讀的論文進行一次總結,然後陳述一些個人對該研究領域的見解和想法。

論文總結歸納

目前已經有許多論文對多工學習提出了並行化策略,我們可以大致概括如下幾類:

(1) 基於近端梯度的同步演算法

描述 多工學習優化中首先面臨的問題即目標函式\(F(\bm{\theta}) = f(\bm{\theta}) + g(\bm{\theta})\)中正則項\(g(\bm{\theta})\)的非凸性,而在數值優化裡面近端梯度演算法[1](包括一階的FISTA、SpaRSA和最近提出的二階的PNOPT)可以有效求解這種所謂的複合凸目標函式。而近端梯度演算法一般分為\(f(\bm{\theta})\)的梯度計算和近端對映兩個步驟。\(f(\bm{\theta})\)的梯度計算可以很容易地分攤到各個任務節點上(每個任務節點負責計算一個任務對應的梯度);然後待所有任務節點運算完畢後,將梯度傳往主節點後彙集,並在此基礎上對權重矩陣進行近端對映,以得到更新後的引數矩陣。最後,主節點又將更新了的引數向量分發給各任務節點,開始下一輪迭代。

優點 演算法邏輯簡單清晰且通用性強,幾乎可以推廣到所有基於正則化的多工學習。

缺陷 因為是基於同步通訊的優化演算法,如果有節點傳輸頻寬過低(或直接down)掉,就會拖累整個系統的執行,導致不能容忍的執行時間和運算資源的浪費。

同步迭代框架

(2) 基於近端梯度的非同步演算法

描述 中心節點只要收到了來自一個任務節點的已經算好的梯度,就會馬上對模型的引數矩陣進行更新,而不用等待其他任務節點完成計算[2]。特別地,在論文[2]中採用了一種(基於近端梯度的)前向-後向運算元分裂方法[3][4]來求解目標函式,且最終的迭代方法採用論文[5]中討論的KM迭代(KM迭代能夠很好地適用於我們這裡的非同步環境)。

優點 因為通訊是非同步的,可以提高系統的吞吐率。

缺陷 如果對記憶體的讀取不加鎖的話會導致不一致性(inconsistency)問題,可能降低演算法整體的收斂速率。

非同步更新示意圖

(2) 基於分解代理損失函式的演算法

描述 對於形如\(F(\bm{\theta}) = f(\bm{\theta}) + g(\bm{\theta})\)的符合目標函式,FISTA演算法[6]採取的策略是構建代理損失函式\(Q_{\mathcal{L}}(\bm{\theta}, \hat{\bm{\theta}})\),然後對該代理損失函式的求解進行並行化。在論文《Parallel Multi-Task Learning》[7]中則更進一步,首先將原始的\(F(\bm{\theta}) = f(\bm{\theta}) + g(\bm{\theta})\)問題先轉換為了對偶問題,然後用FISTA演算法對對偶問題進行迭代求解(在求解的過程中我們可以構建代理損失函式,然後對代理損失函式進行並行化)。

優點 代理損失函式易於分解,且該方法通用性強

缺陷 如果代理損失函式構建不恰當,則可能導致其做為原損失函式的上界過鬆,降低優化效果。

FISTA演算法虛擬碼

(3) 基於本地去偏估計的演算法

描述 基於近端梯度的優化演算法會帶來較大的通訊開銷,但如果完全不通訊就會退化為單任務學習。為了解決這個難點,論文《distributed multitask learning》[8]提出了基於去偏lasso模型。該演算法介於兩者之間,只需要一輪通訊,但仍然保證了使用group regularization所帶來的統計學效益。

優點 減少了通訊次數而不影響多工學習的正常進行。

缺點 侷限於基於基於group sparse正則項的多工學習,難以進一步推廣。

去偏lasso演算法

個人看法

根據目前我所閱讀的論文情況,⽬前關於不同的損失函式和不同的正則項已經有很多學者做過了,不過⽬前基於任務簇/層次化的多工學習⽅法還沒有⼈對專門其並⾏化。
聚類⽅法將不同任務分為不同的獨⽴簇,每個簇存在於⼀個低維空間,每個簇的任務共⽤同⼀個模型,最終通過交替迭代學習不同簇的分配權重和每個簇的模型權重。聚類任務的特性決定著任務之間有很強的關聯性,這⽅⾯並⾏的難度預計比其他類別大,可能也是這方面文章較少的原因。
目前我打算分以下幾步來入手該方向:

  • 所有任務簇方法中,論文[9][10]中所採取的方法最為簡單,可以先以此做為為突破口進行並行,然後逐步擴充套件到其他簇狀多工學習類別中。
  • 對論文[9][10]中提到的模型在Spark上採用單節點做為baseline進行實現,後續參照此序列進行對比。
  • 在Spark叢集上採用多節點實現論文[2]中提到的基於近端梯度的同步/非同步演算法(用於求解我們這裡的簇狀多工問題),並計算加速比和收斂率,方便後續參照進行對比。
  • 嘗試演算法[7]中的構造代理損失函式法改造並應用與我們這裡的簇狀多工學習問題,並與傳統的同步/非同步演算法相比較。
  • 嘗試論文[8]中提到的方法,看對簇狀聚類的正則項能否進行本地的去偏估計,這樣應該能將其充分並⾏化而減少通訊量,做為論文來說也是最有創新性的一個亮點。
  • 嘗試將實現好的並行演算法推廣到簇狀多工學習論文[11][12][13][14][15][16]中所提到的模型架構,最終嘗試建立一個針對簇狀多工學習統一的並行框架。

參考文獻

  • [1] Ji S, Ye J. An accelerated gradient method for trace norm minimization[C]//Proceedings of the 26th annual international conference on machine learning. 2009: 457-464.
  • [2] Baytas I M, Yan M, Jain A K, et al. Asynchronous multi-task learning[C]//2016 IEEE 16th International Conference on Data Mining (ICDM). IEEE, 2016: 11-20.
  • [3] P. L. Combettes and V. R. Wajs, “Signal recovery by proximal forwardbackward splitting,” Multiscale Modeling & Simulation, vol. 4, no. 4, pp. 1168–1200, 2005.
  • [4] Z. Peng, T. Wu, Y. Xu, M. Yan, and W. Yin, “Coordinate-friendly structures, algorithms and applications,” Annals of Mathematical Sciences and Applications, vol. 1, pp. 57–119, 2016.
  • [5] Z. Peng, Y. Xu, M. Yan, and W. Yin, “ARock: An algorithmic framework for asynchronous parallel coordinate updates,” SIAM Journal on Scientific Computing, vol. 38, no. 5, pp. A2851–A2879, 2016.
  • [6] A. Beck and M. Teboulle, “A fast iterative shrinkagethresholding algorithm for linear inverse problems,” SIAM Journal on Imaging Sciences, 2009
  • [7] Zhang Y. Parallel multi-task learning[C]//2015 IEEE International Conference on Data Mining. IEEE, 2015: 629-638.
  • [8] Wang J, Kolar M, Srerbo N. Distributed multi-task learning[C]//Artificial intelligence and statistics. PMLR, 2016: 751-760.
  • [9] Kumar A, Daume III H. Learning task grouping and overlap in multi-task learning[J]. arXiv preprint arXiv:1206.6417, 2012.
  • [10] Barzilai A, Crammer K. Convex multi-task learning by clustering[C]//Artificial Intelligence and Statistics. PMLR, 2015: 65-73.
  • [11] Thrun S, O'Sullivan J. Discovering structure in multiple learning tasks: The TC algorithm[C]//ICML. 1996, 96: 489-497.
  • [12] Bakker B J, Heskes T M. Task clustering and gating for bayesian multitask learning[J]. 2003.
  • [13] Xue Y, Liao X, Carin L, et al. Multi-task learning for classification with dirichlet process priors[J]. Journal of Machine Learning Research, 2007, 8(1).
  • [14] Zhou J, Chen J, Ye J. Clustered multi-task learning via alternating structure optimization[J]. Advances in neural information processing systems, 2011, 2011: 702.
  • [15] Kang Z, Grauman K, Sha F. Learning with whom to share in multi-task feature learning[C]//ICML. 2011.
  • [16] Han L, Zhang Y. Learning multi-level task groups in multi-task learning[C]//Twenty-Ninth AAAI Conference on Artificial Intelligence. 2015.

相關文章