聯合學習
編輯聯合學習(也稱為協作學習)是一種機器學習技術,它在多個分散的邊緣設備或持有本地數據樣本的服務器上訓練算法,而不交換這些數據。這種方法與傳統的集中式機器學習技術形成對比,在這種技術中,所有的本地數據集都被上傳到一個服務器上,也與更經典的分散式方法形成對比,后者通常假設本地數據樣本是相同分布的。聯合學習使多個行為者能夠在不共享數據的情況下建立一個共同的、強大的機器學習模型,從而能夠解決關鍵問題,如數據隱私、數據安全、數據訪問權和異質數據的訪問。它的應用遍布多個行業,包括國防、電信、物聯網和制藥業。目前,一個主要的開放性問題是,通過聯合數據學習的模型相對于數據被匯集的模型來說,有多大的劣勢。另一個開放的問題是邊緣設備的可信度以及惡意行為者對所學模型的影響。
聯合學習的定義
編輯聯合學習的目的是在本地節點中包含的多個本地數據集上訓練機器學習算法,例如深度神經網絡,而不明確交換數據樣本。一般的原理是在本地數據樣本上訓練本地模型,并在這些本地節點之間以一定的頻率交換參數(例如深度神經網絡的權重和偏差),以生成一個所有節點共享的全局模型。聯合學習和分布式學習的主要區別在于對本地數據集屬性的假設,因為分布式學習最初的目的是并行計算能力,而聯合學習最初的目的是在異質數據集上訓練。雖然分布式學習的目的也是在多個服務器上訓練一個模型,但一個共同的基本假設是,本地數據集是獨立和相同分布的(i.i.d.),并且大致上有相同的大小。這些假設對聯合學習來說都不成立;相反,數據集通常是異質的,其大小可能跨越幾個數量級。此外,參與聯合學習的客戶端可能是不可靠的,因為它們會受到更多的故障或退出,因為它們通常依賴于不太強大的通信媒體(即Wi-Fi)和電池供電的系統(即智能手機和物聯網設備),而分布式學習的節點通常是具有強大計算能力的數據中心,并通過快速網絡相互連接。
集中式聯合學習
編輯在集中式聯合學習的設置中,一個中央服務器被用來協調算法的不同步驟,并在學習過程中協調所有參與節點。服務器負責在訓練過程開始時選擇節點,并負責對收到的模型更新進行匯總。由于所有被選中的節點都必須向一個實體發送更新,服務器可能成為系統的瓶頸。
去中心化的聯合學習
編輯在去中心化的聯合學習設置中,各節點能夠自行協調以獲得全局模型。這種設置可以防止單點故障,因為模型更新只在相互連接的節點之間交換,不需要中央服務器的協調。然而,具體的網絡拓撲結構可能會影響學習過程的表現。請參閱基于xxx的聯合學習和其中的參考文獻。
異質聯合學習
編輯越來越多的應用領域涉及大量的異質客戶,如手機和物聯網設備。大多數現有的聯合學習策略都假定本地模型共享相同的全局模型架構。最近,一個名為HeteroFL的新的聯合學習框架被開發出來,以解決配備有非常不同的計算和通信能力的異質客戶。HeteroFL技術可以實現對具有動態變化的計算和非iid數據復雜性的異構局部模型的訓練,同時仍然產生一個精確的全局推理模型。
主要特點
編輯迭代學習
為了確保最終的中央機器學習模型有良好的任務表現,聯合學習依賴于一個迭代過程,該過程被分解為客戶機-服務器互動的原子集,稱為聯合學習輪。這個過程的每一輪都包括將當前的全球模型狀態傳送給參與的節點,在這些本地節點上訓練本地模型,以便在每個節點上產生一組潛在的模型更新,然后將這些本地更新匯總并處理成一個全球更新,并將其應用于全球模型。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/175643/