<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      分布式機器學習、聯邦學習、多智能體的區別和聯系

      1 分布式機器學習、聯邦學習、多智能體介紹

      最近這三個方面的論文都讀過,這里寫一篇博客歸納一下,以方便搞這幾個領域的其他童鞋入門。我們先來介紹以下這三種機器學習范式的基本概念。

      1.1 分布式機器學習介紹

      分布式機器學習(distributed machine learning),是指利用多個計算/任務節點(Worker)協同訓練一個全局的機器學習/深度學習模型(由主節點(Master)調度)。需要注意的是,分布式機器學習和傳統的HPC領域不太一樣。傳統的HPC領域主要是計算密集型,以提高加速比為主要目標。而分布式機器學習還兼具數據密集型特性,還會面臨訓練數據大(單機存不下)、模型規模大的問題。此外,在分布式機器學習也需要更多地關注通信問題。對于計算量大、訓練數據量大、模型規模大這三個問題,分布式機器學習可以采用以下手段進行解決:

      1)對于計算量大的問題,分布式多機并行運算可以基本解決。不過需要與傳統HPC中的共享內存式的多線程并行運算(如OpenMP)以及CPU-GPU計算架構做區分,這兩種單機的計算模式我們一般稱為計算并行)。

      2)對于訓練數據大的問題,需要將數據進行劃分,并分配到多個工作節點上進行訓練,這種技巧一般被稱為數據并行。每個工作節點會根據局部數據訓練出一個子模型,并且會按照一定的規律和其他工作節點進行通信(通信的內容主要是子模型參數或者參數更新),以保證最終可以有效整合來自各個工作節點的訓練結果并得到全局的機器學習模型。

      如果是訓練數據的樣本量比較大,則需要對數據按照樣本進行劃分,我們稱之為“數據樣本劃分”,按實現方法可分為“隨機采樣法”和“置亂切分法”。

      如果訓練數據的維度比較高,還可以對數據按照維度進行劃分,我們稱之為“數據維度劃分”。相比于數據樣本劃分,數據維度劃分與模型性質和優化方法的耦合度較高。

      NLP多任務學習

      3)對于模型規模大的問題,則需要對模型進行劃分,并且分配到不同的工作節點上進行訓練,這種技巧一般被稱為模型并行。與數據并行不同,模型并行的框架下各個子模型之間的依賴關系非常強,因為某個子模型的輸出可能是另外一個子模型的輸入,如果不進行中間計算結果的通信,則無法完成整個模型訓練。因此,一般而言,模型并行相比數據并行對通信的要求更高。

      NLP多任務學習

      1.2 聯邦學習介紹

      聯邦學習是一種特殊的采用數據并行的分布式機器學習(可分為橫向聯邦學習(對應分布式機器學習中的數據樣本劃分)和縱向聯邦學習(對應分布式機器學習中的數據維度劃分)),除了關注傳統分布式機器學習的算法、通信、收斂率等問題之外,還要關注用戶的數據隱私和容錯性問題(因為用戶終端是用戶手機或物聯網設備,很可能隨時掛掉)。 其設計目標是在保障大個人數據隱私、保證合法合規的前提下,在多參與方(可能是現實中的多個機構)或多計算結點之間協同學習到一個更好的全局模型。聯邦學習的數據不共享,(加密后的)參數可共享,它可以基于server-client主從的中心化(centralized)結構,也可以是去中心化(decentralized)結構。

      形式化地,傳統聯邦學習的優化目標函數可以寫為[1]

      \[\begin{aligned} f(w) &= \sum_{k=1}^K \frac{n_k}{n} F_k(w) \\ F_k(w) &= \frac{1}{n_k}\sum_{i = 1}^{n_k}\mathcal{l}(h(x_i; w), y_i) \end{aligned} \]

      其中\(K\)為總節點個數,\(n_k\)為低\(k\)個節點的樣本個數。聯邦學習的訓練過程中,會現將數據按照Non-IID劃分到各client節點,然后再各client節點的數據劃分training/validation/test數據集。而對于傳統聯邦學習而言,每個client都會使用全局模型\(w\)進行測試。

      PS:關于聯邦學習的模型評估,這里補充一下:如果按照真實場景模擬的話,確實是每個client有單獨的測試集(可以參見楊強的《聯邦學習》[2]4.2.3節),但是我們常常看到有論文在這里做了簡化,先劃分好training/valid/test數據集,然后再將training數據集拆分到各個client,而validation和test數據集放server端,這是為什么呢?原來,當采用一個全局模型對各個客戶端進行評估,且當每個client評估指標的權值若按照測試集樣本數設置時,二者是等價的,比如在評價指標是準確率的情況下。設總測試樣本數為\(n\),client \(k\)的測試樣本數為\(n_k\),其中有\(m_k\)個樣本正確分類,則client \(k\)的在測試集上的準確率為\(m_k/n_k\),接著我們可以將所有client的合并加權精度表示為

      \[\sum_{k=1}^K \frac{n_k}{n} \cdot \frac{m_k}{n_k}=\sum_{k=1}^K \frac{m_k}{n}=\frac{m}{n} \]

      這里\(m\)為所有測試樣本中被正確分類的樣本數,而上式實際上就是單獨將測試集放在server端進行評估測出來的準確率。

      我們知道,在IID條件下,在分布式優化中我們常常假定\(f(w)=\mathbb{E}_{D_k}[F_k(w)]\),其中\(D_k\)為第\(k\)個節點的數據集,此時就退化為傳統的分布式機器學習。然而,在數據Non-IID條件下,\(F_k\)就不是一個對\(f\)的良好近似。所以這意味著我們想訓練一個全局的模型\(w\)滿足所有節點的要求難度很大,相關的解決方案就是個性化聯邦學習(可參見我的博客《分布式多任務學習與聯邦學習個性化》)。請注意,若采用個性化聯邦學習,則每個客戶端必須采用本地的測試集來測試本地的個性化模型。因為若所有客戶端都采用同一份測試集,則個性化權重就毫無意義了)。

      經典的server-client式的聯邦學習框架的訓練過程可以簡單概括為以下步驟:

      1)server端建立初始模型,并將模型的參數發往各client端;

      2)各client端利用本地數據進行模型訓練,并將結果返回給server端;

      3)server端匯總各參與方的模型,構建更精準的全局模型,以整體提升模型性能和效果。

      當然,以上僅僅指中心化的server-client聯邦學習,至于去中心化的聯邦學習大家可以參考我的《分布式多任務學習論文閱讀》博客系列和博客《聯邦學習中的模型聚合》以及相關論文[3][4][5]

      NLP多任務學習

      相比傳統的分布式機器學習,它需要關注系統異質性(system heterogeneity)、統計異質性(statistical heterogeneity)和數據隱私性(data privacy
      )
      。系統異質性體現為昂貴的通信代價和節點隨時可能宕掉的風險(容錯);統計異質性數據的不獨立同分布(Non-IID)和不平衡。由于以上限制,傳統分布式機器學習的優化算法便不再適用,需要設計專用的聯邦學習優化算法。

      聯邦學習框架包含多方面的技術,比如傳統分布式機器學習中的模型訓練與參數整合技術、Server與Client高效傳輸的通信技術、隱私加密技術、分布式容錯技術等。

      最后,大家如果想尋找FedAvg算法的實現,可以參考我的GitHub倉庫:FedAO項目鏈接

      該項目集成了FedAvg算法的Pytorch/Tensorflow、多進程/分布式、同步/異步實現,可供有這個需要的童鞋使用。

      1.3 群體智能基本概念

      多智能體系統(multi-agent system) 是一組自主的,相互作用的實體,它們共享一個共同的環境(environment),利用傳感器感知,并利用執行器作動。多智能體系統提供了用分布式來看待問題的方式,可以將控制權限分布在各個智能體上。

      盡管多智能體系統可以被賦予預先設計的行為,但是他們通常需要在線學習,使得多智能體系統的性能逐步提高。而這就天然地與強化學習聯系起來,智能體通過與環境進行交互來學習。在每個時間步,智能體感知環境的狀態并采取行動,使得自身轉變為新的狀態,在這個過程中,智能體獲得獎勵,智能體必須在交互過程中最大化期望獎勵。

      2 三者的區別和聯系

      分布式機器學習 聯邦學習 多智能體
      解決的問題 針對運算量大、數據量大等問題使用計算機集群來訓練大規模機器學習模型 針對保護用戶隱私保護,數據安全等問題,通過高效的算法、加密算法等進行機器學習建模,打破數據孤島。 主要在多機器人、多無人機協同編隊以及多目標跟蹤與監控中發揮作用
      數據處理方案 數據并行:先將訓練數據劃分為多個子集(切片),然后將各子集置于多個計算實體中,并行訓練同一個模型。 聯邦建模各方,本地數據不出庫,先在本地訓練模型參數(或梯度),然后通過同態加密技術交互其參數,更新模型。 可以預先收集好環境數據然后采用經驗回放技術進行訓練,也可以直接采用在線學習的形式,即多個智能體在環境中進行交互學習,
      訓練方案 工業應用中,大部分還是以數據并行為主:各個節點取不同的數據,然后各自完成前向和后向的計算得到梯度用以更新共有的參數,然后把update后的模型再傳回各個節點。 各方在本地初始化模型參數,經過訓練獲得梯度(或參數),交由可信第三方進行模型的更新,然后分發到各方本地進行更新,如此反復,獲得做種的模型。 每個智能體獨立與環境交互,利用環境反饋的獎勵改進自己的策略,以獲得更高的回報(即累計獎勵)。此外多個智能體是相互影響的,一個智能體的策略不能簡單依賴于自身的觀測、動作,還需要考慮到其他智能體的觀測、動作。常采用中心化訓練+去中心化執行[7][8]這一訓練模式
      通信方式 MPI(常用于超算,底層基于高速網絡如IB網)、NCCL、gRPC(常用于廉價集群,底層基于TCP和以太網) gRPC(大部分) 高速網絡
      數據 IID(獨立同分布)數據,數據均衡 非IID數據,數據不均衡甚至異構 多智能體處于統一環境,數據滿足IID
      成本 有專用的通信條件,所以通信代價往往較小 通信的代價遠高于計算的代價 智能體之間常由傳感器高速網絡連接,通信代價小
      容錯性 很少考慮容錯問題 容錯性問題非常重要 基本不考慮容錯性

      3 個人研究體會

      傳統的分布式機器學習已經被研究十幾年了,Low-hanging fruits幾乎被人摘完了,目前各大頂會上的分布式機器學習主要是數學味道很濃的分布式數值優化算法。而其他方面,像我關注的分布式多任務學習,近年來相關的頂會論文開始減少。

      聯邦學習可以看做一種特殊的分布式學習,它有一些特殊的設定,比普通的分布式學習要困難一些,還是有很多方向可以研(灌)究(水)的,做好了應該可以發頂會。

      • 算法層面 可以在優化算法的通信層面降低算法通信次數,用少量的通信達到收斂;也可以從優化算法中的權重/梯度聚合(aggregation)入手,提高最終模型精度。基于IID數據集的分布式數值優化算法已經被研究得比較透徹了, 但因為聯邦學習面臨數據是IID/非平衡甚至是異構的,需要引入很多其他技巧才能解決,比如異構數據聯合學習、多任務學習[5][6](也是我研究的方向)等。這個方向很適合數值優化、機器學習、多任務學習背景的童鞋切入

      • 安全/隱私問題 雖然聯邦學習的基礎設定就是節點之間不共享數據以保護用戶隱私,但熟悉網絡安全的同學應該知道,我們很容易從梯度、模型參數中反推出用戶數據。而針對這方面提出攻擊和防御的方法都可以發表出論文,這方面適合網絡安全背景的童鞋切入

      • 容錯性/魯棒性。聯邦學習中常常遇到拜占庭攻擊問題(即惡意參與者問題)。比如在中心化的算法中,有節點惡意發送錯誤的梯度給服務器,讓訓練的模型變差;在去中心化算法中,可能有多個任務節點化為拜占庭攻擊者互相攻擊[4]。對于這種問題設計新的攻擊方法和防御方法都可以發表論文。這個方向很適合有分布式系統背景的童鞋切入

      NLP多任務學習

      至于多智能體系統,因為我個人對強化學習領域不太熟悉,就不敢妄言了。

      參考

      • [1] McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Artificial intelligence and statistics. PMLR, 2017: 1273-1282.
      • [2] 楊強,劉洋等. 聯邦學習[M]. 電子工業出版社, 2020.
      • [3] 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.
      • [4] Li J, Abbas W, Koutsoukos X. Byzantine Resilient Distributed Multi-Task Learning[J]. arXiv preprint arXiv:2010.13032, 2020.
      • [5] 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.
      • [6] Smith V, Chiang C K, Sanjabi M, et al. Federated multi-task learning[J]. Advances in Neural Information Processing Systems, 2017.
      • [7] F. A. Oliehoek, M. T. Spaan, and N. Vlassis. Optimal and approximate Q-value functions for decentralized
        POMDPs. Journal of Artificial Intelligence Research, 32:289–353, 2008.
      • [8] D. V. Prokhorov and D. C. Wunsch. Adaptive critic designs. IEEE transactions on Neural Networks, 8(5):997–1007, 1997.
      posted @ 2021-12-11 18:47  orion-orion  閱讀(6184)  評論(5)    收藏  舉報
      主站蜘蛛池模板: 国产免费午夜福利在线播放| 欧美午夜精品久久久久久浪潮 | 少妇高潮喷水正在播放| 国产熟女一区二区三区蜜臀| 滦南县| 亚洲精品中文av在线| 亚洲国产成人AⅤ片在线观看| 亚洲欧美日韩综合一区在线| 亚洲精品三区四区成人少| 成人午夜在线观看日韩| 视频一区二区三区四区五区| 精品无码老熟妇magnet| 免费人成年激情视频在线观看| 永胜县| 国产69精品久久久久99尤物| 亚洲区精品区日韩区综合区| 久久久久免费看少妇高潮A片| 国产熟女老阿姨毛片看爽爽| av人摸人人人澡人人超碰下载| 激情四射激情五月综合网| 无码人妻aⅴ一区二区三区蜜桃| 国产一区日韩二区欧美三区| 久久久久人妻精品一区三寸| 久久影院午夜伦手机不四虎卡| 日韩av片无码一区二区三区| 蜜臀久久99精品久久久久久 | 久青草视频在线观看免费| 国产在线精品一区二区三区| 亚洲av激情一区二区| 超碰成人人人做人人爽| 国产成人精彩在线视频| 风流少妇又紧又爽又丰满| 亚洲男人天堂2018| 韩国 日本 亚洲 国产 不卡| 最新国产AV最新国产在钱| 亚洲日本精品一区二区| 蜜臀av午夜精品福利| 丁香婷婷无码不卡在线| 在线天堂最新版资源| 少妇人妻精品一区二区| 九九热免费精品视频在线|