<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【綜述】聯(lián)邦學(xué)習(xí):Advances and Open Problems in Federated Learning

          共 8640字,需瀏覽 18分鐘

           ·

          2021-10-30 04:44

          作者:書(shū)緣?

          轉(zhuǎn)自:狗熊會(huì)


          今天要跟大家分享的內(nèi)容是一篇聯(lián)邦學(xué)習(xí)領(lǐng)域方面比較全面的綜述文章:Advances and Open Problems in Federated Learning。該文章發(fā)表于2021年,由來(lái)自麻省理工、斯坦福、谷歌等25所國(guó)際知名高校(機(jī)構(gòu))的學(xué)者聯(lián)合所著,共調(diào)研了400余篇文獻(xiàn),內(nèi)容非常豐富。由于篇幅所限,這里聚焦于幾個(gè)基礎(chǔ)方面進(jìn)行分享,并進(jìn)行一定的補(bǔ)充。

          聯(lián)邦學(xué)習(xí)的定義

          聯(lián)邦學(xué)習(xí)(Federated learning)屬于機(jī)器學(xué)習(xí)的一類(lèi),文章給出較為廣泛的聯(lián)邦學(xué)習(xí)的定義如下:

          Federated learning is a machine learning setting where multiple entities (clients) collaborate in solving a machine learning problem, under the coordination of a central server or service provider. Each client’s raw data is stored locally and not exchanged or transferred; instead, focused updates intended for immediate aggregation are used to achieve the learning objective.

          聯(lián)邦學(xué)習(xí)的背景

          聯(lián)邦學(xué)習(xí)的提出源于在大數(shù)據(jù)分析的不斷發(fā)展下人們對(duì)保護(hù)數(shù)據(jù)隱私和安全的重視和需求。我們考慮一個(gè)標(biāo)準(zhǔn)的統(tǒng)計(jì)學(xué)習(xí)問(wèn)題闡述聯(lián)邦學(xué)習(xí)的背景,假定共有N個(gè)觀測(cè)值,每一個(gè)觀測(cè)為p維,對(duì)應(yīng)一個(gè)感興趣的響應(yīng)變量Y。希望通過(guò)優(yōu)化一個(gè)合適定義的損失函數(shù)(e.g. 對(duì)數(shù)似然函數(shù))來(lái)得到參數(shù)估計(jì)。傳統(tǒng)場(chǎng)景下,整個(gè)數(shù)據(jù)集樣本量N小,且均存儲(chǔ)在同一臺(tái)電腦上,經(jīng)典優(yōu)化算法(例如梯度下降、牛頓法等)能夠非常容易施行。然而,在現(xiàn)實(shí)場(chǎng)景中,有很多有用的數(shù)據(jù)分布在大量移動(dòng)通信設(shè)備中。用戶期待匯總這些數(shù)據(jù)信息訓(xùn)練一個(gè)全局的模型,獲得更好的體驗(yàn)。但是,這些數(shù)據(jù)通常是非常敏感的,不能直接上傳到同一個(gè)中心服務(wù)器從而使用傳統(tǒng)的方法訓(xùn)練模型。因此,如何在滿足數(shù)據(jù)隱私和安全的前提下,設(shè)計(jì)一個(gè)機(jī)器學(xué)習(xí)框架,讓用戶的數(shù)據(jù)能夠被高效地共同使用,就是一個(gè)非常重要的問(wèn)題。由此,聯(lián)邦學(xué)習(xí)應(yīng)運(yùn)而生。

          聯(lián)邦學(xué)習(xí)基本的訓(xùn)練過(guò)程

          一個(gè)基本的聯(lián)邦學(xué)習(xí)框架包括一個(gè)中心服務(wù)器(Server)和多臺(tái)設(shè)備(Clients), 具體訓(xùn)練過(guò)程由以下步驟組成:

          Step1. 選擇聯(lián)機(jī)的Clients:Server從一組滿足聯(lián)機(jī)要求的Clients中抽樣。例如,只抽取正接入無(wú)線網(wǎng)絡(luò)且處于空閑狀態(tài)的設(shè)備登陸到服務(wù)器。
          Step2. 廣播:每個(gè)被選中的Client從Server處下載當(dāng)前的模型參數(shù)和一個(gè)訓(xùn)練程序。
          Step3. 計(jì)算:每個(gè)Client利用本機(jī)上的數(shù)據(jù),執(zhí)行訓(xùn)練程序進(jìn)行局部計(jì)算。例如利用本機(jī)數(shù)據(jù)和當(dāng)前參數(shù)進(jìn)行隨機(jī)梯度下降(SGD),得到梯度估計(jì)量。并將計(jì)算得到的梯度信息(而非原始數(shù)據(jù))發(fā)送到Server。
          Step4. 聚合更新:Server收集Clients的信息(例如梯度)進(jìn)行匯總平均,并更新模型參數(shù)。

          放寬核心假設(shè)-去中心化聯(lián)邦學(xué)習(xí)

          經(jīng)典的聯(lián)邦學(xué)習(xí)框架要求存在一個(gè)中心Server,Server連接各Clients,負(fù)責(zé)與各Clients進(jìn)行通信和數(shù)據(jù)傳輸。這樣的結(jié)構(gòu)容易施行,但由于 Server在框架中扮演了過(guò)于重要的角色,因此也存在嚴(yán)重缺陷。首先,這不是隱私保護(hù)的最佳選擇,一旦Server被攻克,攻擊者就有機(jī)會(huì)與每個(gè)Client通信。其次,這樣的中心化結(jié)構(gòu)極為脆弱,一旦Server停止工作,整個(gè)訓(xùn)練任務(wù)也隨之停止。另外,由于Server必須與大量的Clients進(jìn)行持續(xù)通信,導(dǎo)致中心化結(jié)構(gòu)對(duì)網(wǎng)絡(luò)的帶寬有很高的要求。

          由此,有部分學(xué)者提出了去中心化聯(lián)邦學(xué)習(xí)(fully decentralized learning)。表1給出經(jīng)典聯(lián)邦學(xué)習(xí)和去中心化聯(lián)邦學(xué)習(xí)的差異比較。去中心化聯(lián)邦學(xué)習(xí)的主要特點(diǎn)是:整個(gè)框架中不再需要一個(gè)中心Server負(fù)責(zé)模型訓(xùn)練和通信(雖然可能仍然需要Server負(fù)責(zé)開(kāi)啟訓(xùn)練任務(wù)),所有與計(jì)算相關(guān)的通信都僅僅發(fā)生在Clients之間。Clients間形成了一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)用于數(shù)據(jù)傳輸。網(wǎng)絡(luò)結(jié)構(gòu)的每一個(gè)節(jié)點(diǎn)代表一個(gè)Client,每一條邊代表Clients之間的通信關(guān)系。我們以梯度下降為例,給出去中心化聯(lián)邦學(xué)習(xí)的基本實(shí)現(xiàn)步驟:

          Step 1. 每個(gè)Client根據(jù)網(wǎng)絡(luò)結(jié)構(gòu),收集鄰居Client的信息得到聚合后的模型參數(shù)。
          Step 2. 隨后,每個(gè)Client基于該參數(shù)以及本機(jī)數(shù)據(jù)計(jì)算梯度進(jìn)行梯度下降,并更新局部模型。

          目前去中心化學(xué)習(xí)作為新興研究方向,還有很多開(kāi)放性問(wèn)題(尤其是理論方面)待解決。

          表 1 經(jīng)典聯(lián)邦學(xué)習(xí)和去中心化聯(lián)邦學(xué)習(xí)的主要差異比較

          聯(lián)邦學(xué)習(xí)與典型分布式學(xué)習(xí)的區(qū)別

          聯(lián)邦學(xué)習(xí)屬于分布式學(xué)習(xí),但正如背景中所介紹的,它有具體適用的場(chǎng)景,與典型的分布式學(xué)習(xí)有明顯的區(qū)別。表2全面地總結(jié)了典型分布式以及聯(lián)邦學(xué)習(xí)間的不同之處。概括而言,與典型的分布式優(yōu)化問(wèn)題相比,聯(lián)邦優(yōu)化問(wèn)題有以下幾個(gè)關(guān)鍵特性:
          1. 設(shè)備通常由大量的移動(dòng)設(shè)備組成,每一個(gè)設(shè)備上的數(shù)據(jù)量相對(duì)較小,而設(shè)備數(shù)相對(duì)較多。

          2. 設(shè)備間的數(shù)據(jù)通常是非獨(dú)立同分布、且不平衡的。

          3. 設(shè)備有通信限制:移動(dòng)設(shè)備可能存在頻繁掉線、速度緩慢、費(fèi)用昂貴等問(wèn)題。

          4. 更注重隱私,不允許原始數(shù)據(jù)在設(shè)備間互相傳輸。

          其中,隱私問(wèn)題和通信效率被視為是需要優(yōu)先考慮的問(wèn)題。聯(lián)邦學(xué)習(xí)這些獨(dú)有的特性,對(duì)其理論研究和算法改進(jìn)都帶來(lái)巨大的挑戰(zhàn)。

          表 2 聯(lián)邦學(xué)習(xí)v.s. 典型分布式學(xué)習(xí)

          聯(lián)邦學(xué)習(xí)優(yōu)化算法及其理論分析

          目前最流行的聯(lián)邦學(xué)習(xí)方法,是由McMahan et al, 2017提出的Federated Averaging(也稱parallel SGD/local SGD)方法(及其變體)。具體而言,我們知道機(jī)器學(xué)習(xí)中經(jīng)典的SGD算法為:每次使用一個(gè)樣本來(lái)計(jì)算梯度并進(jìn)行參數(shù)更新。擴(kuò)展到多臺(tái)機(jī)器的版本,即為:每個(gè)Client在每次通信中使用一個(gè)樣本來(lái)計(jì)算梯度并局部更新參數(shù),將參數(shù)傳給Server。Server匯總平均后更新模型參數(shù)再返回給Clients。這樣的效率對(duì)于通信受限的聯(lián)邦學(xué)習(xí)框架是難以承受的。因此,為了提高通信效率,F(xiàn)ederated Averaging考慮每個(gè)Client首先在本地多次通過(guò)SGD更新模型,再將更新后的模型參數(shù)傳給Server進(jìn)行匯總平均。其基本算法見(jiàn)算法1:

          算法 1 Federated Averaging (local SGD). 其中為模型參數(shù),為數(shù)據(jù),為學(xué)習(xí)率,為損失函數(shù)

          由此,F(xiàn)ederated Averaging類(lèi)方法所面臨的一個(gè)重要理論問(wèn)題立刻產(chǎn)生:在本地進(jìn)行多次更新以加速通信的行為,會(huì)如何影響整個(gè)算法的收斂速度。這也是聯(lián)邦學(xué)習(xí)中最廣泛、重要的研究?jī)?nèi)容之一,我們?cè)诮酉聛?lái)的部分進(jìn)行具體介紹。
          為研究聯(lián)邦學(xué)習(xí)算法的收斂速度,定義為關(guān)于參數(shù)和單個(gè)樣本的損失函數(shù),我們的目標(biāo)是最小化全局損失。與SGD優(yōu)化算法類(lèi)似,文章通常假設(shè):損失函數(shù)是凸的、H-Lipschitz連續(xù)的。即有

          另一方面,也常假設(shè)隨機(jī)梯度的方差有界,即

          對(duì)于算法的收斂速度,考慮error bound去衡量,即定義算法在第T步的收斂誤差為

          其中。進(jìn)一步,定義K為每一次通信前的局部更新次數(shù),M為每次通信的設(shè)備數(shù),N為設(shè)備總數(shù),T為總的通信次數(shù)。則Federated averaging等一系列聯(lián)邦學(xué)習(xí)算法有兩個(gè)基準(zhǔn)。
          1. minibatch SGD, 假設(shè)每個(gè)Client通信T輪,每個(gè)Client不執(zhí)行K次局部SGD,而是執(zhí)行一次minibatch SGD,對(duì)應(yīng)數(shù)據(jù)量為K。則此時(shí)整個(gè)算法等價(jià)于迭代T輪的minibatch SGD,batchsize為KM,由此收斂速度有上界。
          2. 單機(jī)SGD,假設(shè)僅有一個(gè)Client參與模型更新,則此時(shí)等價(jià)于迭代KT輪的SGD,收斂速率上界為。
          文章稱為最優(yōu)的統(tǒng)計(jì)項(xiàng)(“statistical” term),而為最優(yōu)的優(yōu)化項(xiàng)(“optimization” term)。在聯(lián)邦學(xué)習(xí)中,我們關(guān)心局部更新次數(shù)K如何影響收斂速度,以及在什么條件下聯(lián)邦學(xué)習(xí)算法能達(dá)到上述最優(yōu)水平。
          現(xiàn)有文獻(xiàn)分別在數(shù)據(jù)獨(dú)立同分布(iid)以及非獨(dú)立同分布(non-iid)假定下做了收斂性研究,表3給出了iid情況下各算法收斂速度的對(duì)比。從結(jié)果中可見(jiàn),如果成為收斂速度中的主要控制項(xiàng),那么算法可以漸進(jìn)達(dá)到最優(yōu)收斂速度,為此要求。而對(duì)于非凸問(wèn)題,文章指出想要漸進(jìn)達(dá)到相同的收斂速度,則需要。
          而對(duì)于non-iid,情況變得更具挑戰(zhàn),此時(shí)每個(gè)Client上的局部損失函數(shù)和全局損失函數(shù)間可能存在較大差異。為保證算法最終的收斂性,通常需要對(duì)二者的差異作出限制,現(xiàn)有文獻(xiàn)給出的常見(jiàn)假定見(jiàn)表4?;谙鄳?yīng)對(duì)non-iid的假定以及其他輔助假定(例如損失函數(shù)的凸性),表5給出數(shù)據(jù)非獨(dú)立同分布下各算法收斂速度的對(duì)比結(jié)果??梢?jiàn)在non-iid場(chǎng)景下,算法的收斂性速度較慢。實(shí)際上文獻(xiàn)表明,對(duì)于Federated Averaging類(lèi)方法,局部更新()可能會(huì)減慢收斂速度。目前,驗(yàn)證當(dāng)時(shí)算法收斂速度是降低還是提升,仍然是一個(gè)重要的公開(kāi)問(wèn)題。

          表 3 iid假設(shè)下各優(yōu)化算法的收斂速度比較(在T次迭代之后的error bound上界)。假設(shè)有M個(gè)設(shè)備參與每輪迭代,損失函數(shù)是凸的且H-Smooth ,隨機(jī)梯度方差上界為

          表 4 非獨(dú)立同分布假設(shè)

          表 5 non-iid 下各聯(lián)邦學(xué)習(xí)的收斂速度(基于不同的假設(shè)和變體)

          聯(lián)邦學(xué)習(xí)的未來(lái)展望

          文章給出了聯(lián)邦學(xué)習(xí)存在的大量開(kāi)放性問(wèn)題,包括:

          1. Non-iid以及數(shù)據(jù)不平衡下,更高效的算法與收斂速度分析。
          2. 對(duì)抗Server/Clients遭受攻擊,Clients失去響應(yīng)等問(wèn)題的更穩(wěn)健的算法。
          3. 如何在保護(hù)隱私的情況下(例如差分隱私方法),同時(shí)達(dá)到較高的估計(jì)效率(尤其在高維情況下)。

          軟件和數(shù)據(jù)集

          文章提供了實(shí)現(xiàn)聯(lián)邦學(xué)習(xí)的軟件和數(shù)據(jù)集。數(shù)據(jù)集符合聯(lián)邦學(xué)習(xí)應(yīng)用場(chǎng)景:數(shù)據(jù)分散、通常不平衡(不同的Client有不同數(shù)量的樣本)且分布不相同(每個(gè)Client的數(shù)據(jù)來(lái)自不同的分布),可用于進(jìn)行基準(zhǔn)測(cè)試。

          (1)數(shù)據(jù)集
          1. EMNIST數(shù)據(jù)集: 原始數(shù)據(jù)由671,585個(gè)數(shù)字圖像和大小寫(xiě)英文字符(62個(gè)類(lèi))組成。聯(lián)邦學(xué)習(xí)的版本將數(shù)據(jù)集拆分到3,400個(gè)不平衡Clients,每個(gè)Clients上的數(shù)字/字符為同一人所寫(xiě),由于每個(gè)人都有獨(dú)特的寫(xiě)作風(fēng)格,因此數(shù)據(jù)是非同分布的。
          來(lái)源:Gregory Cohen, Saeed Afshar, Jonathan Tapson, and Andre ? van Schaik. EMNIST: an extension of MNIST to handwritten letters. arXiv preprint arXiv:1702.05373, 2017.
          2.Stackoverflow數(shù)據(jù)集: 該數(shù)據(jù)集由Stack Overflow的問(wèn)答組成,并帶有時(shí)間戳、分?jǐn)?shù)等元數(shù)據(jù)。訓(xùn)練數(shù)據(jù)集包含342,477多個(gè)用戶和135,818,730個(gè)例子。其中的時(shí)間戳信息有助于模擬傳入數(shù)據(jù)的模式。
          下載地址:https://www.kaggle.com/stackoverflow/stackoverflow
          3.Shakespeare數(shù)據(jù)集: 該數(shù)據(jù)是從The Complete Works of William Shakespeare獲得的語(yǔ)言建模數(shù)據(jù)集。由715個(gè)字符組成,其連續(xù)行是Client數(shù)據(jù)集中的示例。訓(xùn)練集樣本量為16,068,測(cè)試集為2,356。
          來(lái)源:Sebastian Caldas, Peter Wu, Tian Li, Jakub Konecˇny ?, H Brendan McMahan, Virginia Smith, and Ameet Talwalkar. LEAF: A benchmark for federated settings. arXiv preprint arXiv:1812.01097, 2018.
          (2)開(kāi)源軟件包
          1.TensorFlow Federated: TensorFlow框架,專(zhuān)門(mén)針對(duì)研究用例,提供大規(guī)模模擬功能來(lái)控制抽樣。支持在模擬環(huán)境中加載分散數(shù)據(jù)集,每個(gè)Client的ID對(duì)應(yīng)于TensorFlow數(shù)據(jù)集對(duì)象。
          來(lái)源:The TFF Authors. TensorFlow Federated, 2019. URL:https://www.tensorflow.org/federated.
          2.PySyft: PyTorch框架,使用PyTorch中的聯(lián)邦學(xué)習(xí)。適用于考慮隱私保護(hù)的機(jī)器學(xué)習(xí),采用差分隱私和多方計(jì)算(MPC)將私人數(shù)據(jù)與模型訓(xùn)練分離。
          來(lái)源:Theo Ryffel, Andrew Trask, Morten Dahl, Bobby Wagner, Jason Mancuso, Daniel Rueckert, and Jonathan Passerat-Palmbach. A generic framework for privacy preserving deep learning, 2018.

          除此以外,文章也提供了其他軟件實(shí)現(xiàn)以及數(shù)據(jù)源供研究使用。

          參考文獻(xiàn)

          Bellet, A., Guerraoui, R., Taziki, M., and Tommasi, M. (2018), “Personalized and private peer-to-peer machine learning,” in International Conference on Artificial Intelligence and Statistics, PMLR, pp. 473–481.
          Colin, Igor, Aurélien Bellet, Joseph Salmon, and Stéphan Clémen?on. "Gossip dual averaging for decentralized optimization of pairwise functions." In International Conference on Machine Learning, pp. 1388-1396. PMLR, 2016.
          Lan, Guanghui. "An optimal method for stochastic composite optimization." Mathematical Programming 133, no. 1 (2012): 365-397.
          Kairouz, P., McMahan, H. B., Avent, B., Bellet, A., Bennis, M., Bhagoji, A. N., Bonawitz, K., Charles, Z., Cormode, G., Cummings, R., DOliveira, R. G. L., Eichner, H., Rouayheb, S. E., Evans, D., Gardner, J., Garrett, Z., Gascn, A., Ghazi, B., Gibbons, P. B., Gruteser, M., Harchaoui, Z., He, C., He, L., Huo, Z., Hutchinson, B., Hsu, J., Jaggi, M., Javidi, T., Joshi, G., Khodak, M., Konecn, J., Korolova, A., Koushanfar, F., Koyejo, S., Lepoint, T., Liu, Y., Mittal, P., Mohri, M., Nock, R., zgr, A., Pagh, R., Qi, H., Ramage, D., Raskar, R., Raykova, M., Song, D., Song, W., Stich, S. U., Sun, Z., Suresh, A. T., Tramr, F., Vepakomma, P., Wang, J., Xiong, L., Xu, Z., Yang, Q., Yu, F. X., Yu, H., and Zhao, S. (2021), “Advances and Open Problems in Federated Learning,” Foundations and Trends in Machine Learning, 14, 1–210.
          Li, Yuzheng, Chuan Chen, Nan Liu, Huawei Huang, Zibin Zheng, and Qiang Yan. "A blockchain-based decentralized federated learning framework with committee consensus," IEEE Network 35, no. 1 (2020): 234-241.
          McMahan, B., Moore, E., Ramage, D., Hampson, S., and y Arcas, B. A. (2017), “Communication-efficient learning of deep networks from decentralized data,” in Artificial Intelligence and Statistics, PMLR, pp. 1273–1282.
          Stich, Sebastian U. "Local SGD converges fast and communicates little. (2018)" arXiv preprint arXiv:1805.09767.
          Karimireddy, Sai Praneeth, Satyen Kale, Mehryar Mohri, Sashank Reddi, Sebastian Stich, and Ananda Theertha Suresh. (2020), "Scaffold: Stochastic controlled averaging for federated learning," In International Conference on Machine Learning, pp. 5132-5143. PMLR.
          Tang, H., Lian, X., Yan, M., Zhang, C., and Liu, J. (2018), “Decentralized training over decentralized data,” in International Conference on Machine Learning, PMLR, pp. 4848–4856.
          Vanhaesebrouck, P., Bellet, A., and Tommasi, M. (2017), “Decentralized collaborative learning of personalized models over networks,” in Artificial Intelligence and Statistics, PMLR, pp. 509–517.
          Xiangru Lian, Ce Zhang, Huan Zhang, Cho-Jui Hsieh, Wei Zhang, and Ji Liu. “Can Decentralized Algorithms Outperform Centralized Algorithms? A Case Study for Decentralized Parallel Stochastic Gradient Descent,” In NIPS, 2017.
          Xiang Li, Kaixuan Huang, Wenhao Yang, Shusen Wang, and Zhihua Zhang. “On the convergence of FedAvg on non-IID data,” arXiv preprint arXiv:1907.02189, 2019.

          往期精彩:

          ?時(shí)隔一年!深度學(xué)習(xí)語(yǔ)義分割理論與代碼實(shí)踐指南.pdf第二版來(lái)了!

          ?我工作第五年的學(xué)習(xí)與讀書(shū)之法

          ?基于閾值處理的圖像分割算法!

          ?基于邊緣檢測(cè)的圖像分割算法!

          瀏覽 888
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  九九九精品 | 操操逼片| 日逼日逼日逼日逼 | 久久亚洲大家都在搜 | 美女天天操 |