多工學習分散式化及聯邦學習

orion發表於2022-03-01

1. 導言

現在多工學習根據資料的收集方式可以粗略地被分為兩種,一個是集中化的計算方法,即假定資料被事先收集到一箇中心節點上然後再執行模型, 大多數基於神經網路的多工學習應用,比如CV和NLP,主要都用的這種方法[1][2][3][4]

深度多工學習例項1

另外還有一種是分散式的計算方法,這種方法假定異構的(heterogeneous)資料分別由各個任務分別以分散式的方式收集。這種方法常常被建模為在多智慧體(multi-agent)系統(比如移動裝置、無人駕駛汽車、智慧城市等)中的分散式學習。這種方式通常有兩個假定,一是各任務節點和中心節點之間的網路通訊代價很高,二是資料只能在任務節點存放,不能拷貝到中心節點(由於隱私性和通訊代價問題)。近年來由於聯邦學習的火熱,該方法得到了很多的重視。

2. 分散式多工學習

在分散式多工學習中,傳統的處理方式[5][6][7]仍然是多個任務節點分攤任務,然後將資訊交給主節點彙總(比如在分散式近端對映演算法中,任務節點進行梯度計算,主節點負責近端對映)。
深度多工學習例項1

近年來,隨著去中心化優化演算法的研究發展,越來越朝著去中心化的路線發展[8][9][10],也就是儘量滿足使任務節點直接相互通訊,而減少任務節點與主節點的通訊。同時,隨著聯邦學習的發展,也越來越注重聯邦學習中的經典問題,比如拜占庭容錯等。

深度多工學習例項1

2. 多工學習和聯邦學習之戀

我們前面提到,分散式多工學習朝著聯邦學習的路線發展。但其實聯邦學習和多工學習原本是很不一樣的。在標準的聯邦學習中,每個節點任務不共享資料,但是可以共享引數,以此聯合訓練出各一個全域性的模型(可能是主從client-server結構,也可能是去中心化結構)。也就是說,聯邦學習下每個節點的任務是一樣的。而多工學習是要針對不同的任務協同訓練出多個不同的模型。

但是,為什麼分散式多工學習會走向聯邦學習呢?其實,不是分散式多工選擇了聯邦學習,而是聯邦學習選擇了多工學習。 原來,聯邦學習由於資料不獨立同分布(Non-IID) ,每個模型訓練出的區域性模型差異會很大,就會使得構建一個全域性的、通用的模型難度很大。比如同樣一個下一個單詞預測的任務,同樣給定"I love eating,",但對於下一個單詞每個client會給出不同的答案,這也是現在有人提出針對特定節點對模型進行個性化,使任務節點的模型各不相同,即聯邦學習個性化的原因。聯邦學習個性化的常見手段有元學習、多工學習、遷移學習等。

圖片來自清華大學智慧產業研究院(AIR)的分享會

具體到如何為各任務節點構建各不相同的模型。 有論文[11][12]提出使每個節點採用知識共享的方式直接訓練各不相同的模型這樣一種訓練方式,這就被冠名為聯邦多工學習了。

具體在資料分佈方面,論文[11][12]都保持了經典多工學習的假設(參見我的部落格《多工學習中的資料分佈》),不過有些許區別。論文[11]中每個任務的訓練資料分佈和損失函式都不同。但是論文[12]中假定每個任務不同之處只有訓練資料的分佈。

3. 分散式多工學習和聯邦多工學習的區別

此二者非常相似,但是聯邦多工學習可以看做是分散式多工學習在特殊條件下的限制版,即聯邦多工學習中可能更關注節點的容錯性,以及節點資料集隱私(節點之間的資料不能共享),單純的分散式多工學習一般沒這幾個需求。此外還有一點就是,按照最初的傳統聯邦多工學習一般是有中心節點的(如論文[11]中所說),而分散式多工學習是可以去中心化的(如論文[10]中所說)。但是也有論文把聯邦多工學習也去中心化了([12]),所以這個應該算不上主要依據。

4.我的研究

我的研究現在關注的是分散式/聯邦的多工學習方法。而分散式的多工學習方法其思想常常來源於基於正則化的多工學習,這是一種非神經網路的多工學習方法,已經得到了充分的研究,大家可以參見我的部落格《基於正則化的多工學習》回顧一下這種方法。

引用

  • [1] Long M, Cao Z, Wang J, et al. Learning multiple tasks with multilinear relationship networks[J]. arXiv preprint arXiv:1506.02117, 2015.
  • [2] Misra I, Shrivastava A, Gupta A, et al. Cross-stitch networks for multi-task learning[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 3994-4003.
  • [3] Hashimoto K, Xiong C, Tsuruoka Y, et al. A joint many-task model: Growing a neural network for multiple nlp tasks[J]. arXiv preprint arXiv:1611.01587, 2016.
  • [4] Kendall A, Gal Y, Cipolla R. Multi-task learning using uncertainty to weigh losses for scene geometry and semantics[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 7482-7491.
  • [5] 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.
  • [6] Liu S, Pan S J, Ho Q. Distributed multi-task relationship learning[C]//Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2017: 937-946.
  • [7] Dinuzzo F, Pillonetto G, De Nicolao G. Client–server multitask learning from distributed datasets[J]. IEEE Transactions on Neural Networks, 2010, 22(2): 290-303.
  • [8] Zhang C, Zhao P, Hao S, et al. Distributed multi-task classification: A decentralized online learning approach[J]. Machine Learning, 2018, 107(4): 727-747.
  • [9] Yang P, Li P. Distributed primal-dual optimization for online multi-task learning[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(04): 6631-6638.
  • [10] Li J, Abbas W, Koutsoukos X. Byzantine Resilient Distributed Multi-Task Learning[J]. arXiv preprint arXiv:2010.13032, 2020.
  • [11] Smith V, Chiang C K, Sanjabi M, et al. Federated multi-task learning[J]. Advances in Neural Information Processing Systems, 2017.
  • [12] Marfoq O, Neglia G, Bellet A, et al. Federated multi-task learning under a mixture of distributions[J]. Advances in Neural Information Processing Systems, 2021, 34.

相關文章