在大數(shù)據(jù)和分布式計(jì)算時(shí)代,傳統(tǒng)的機(jī)器學(xué)習(xí)方法面臨著一個(gè)重大挑戰(zhàn):當(dāng)數(shù)據(jù)分散在多個(gè)設(shè)備或豎井中時(shí),如何協(xié)同訓(xùn)練模型。這就是聯(lián)合學(xué)習(xí)發(fā)揮作用的地方,它提供了一個(gè)很有前途的解決方案,將模型訓(xùn)練與直接訪問原始訓(xùn)練數(shù)據(jù)脫鉤。
聯(lián)合學(xué)習(xí)最初旨在實(shí)現(xiàn)去中心化數(shù)據(jù)上的協(xié)作深度學(xué)習(xí),其關(guān)鍵優(yōu)勢之一是其通信效率。這種相同的范式可以應(yīng)用于傳統(tǒng)的 ML 方法,如線性回歸、 SVM 、 k-means 聚類,以及基于樹的方法,如隨機(jī)森林和 boosting 。
開發(fā)傳統(tǒng) ML 方法的聯(lián)合學(xué)習(xí)變體需要在幾個(gè)層面上進(jìn)行仔細(xì)考慮:
算法級別:您必須回答關(guān)鍵問題,例如客戶端應(yīng)該與服務(wù)器共享哪些信息,服務(wù)器應(yīng)該如何聚合收集的信息,以及客戶端應(yīng)該如何處理從服務(wù)器接收的全局聚合模型更新。
實(shí)施級別:探索可用的 API 并利用它們來創(chuàng)建與算法公式一致的聯(lián)邦管道是至關(guān)重要的。
值得注意的是聯(lián)邦的和分布式的與深度學(xué)習(xí)相比,傳統(tǒng)方法的機(jī)器學(xué)習(xí)可能不那么獨(dú)特。對于某些算法和實(shí)現(xiàn),這些術(shù)語可以是等效的。
圖 1 。對基于聯(lián)邦樹的 XGBoost
在圖 1 中,每個(gè)客戶端構(gòu)建一個(gè)唯一的增強(qiáng)樹,該樹由服務(wù)器聚合為樹的集合,然后重新分發(fā)給客戶端進(jìn)行進(jìn)一步的訓(xùn)練。
要開始使用顯示此方法的特定示例,請考慮K-Means聚類示例。在這里,我們采用了Mini-Batch K-Means聚類中定義的方案,并將每一輪聯(lián)合學(xué)習(xí)公式化如下:
本地培訓(xùn):從全局中心開始,每個(gè)客戶端都用自己的數(shù)據(jù)訓(xùn)練一個(gè)本地的 MiniBatchKMeans 模型。
全局聚合:服務(wù)器收集集群中心,統(tǒng)計(jì)來自所有客戶端的信息,通過將每個(gè)客戶端的結(jié)果視為小批量來聚合這些信息,并更新全局中心和每個(gè)中心的計(jì)數(shù)。
對于中心初始化,在第一輪中,每個(gè)客戶端使用 k-means ++方法生成其初始中心。然后,服務(wù)器收集所有初始中心,并執(zhí)行一輪 k 均值以生成初始全局中心。
從制定到實(shí)施
將聯(lián)邦范式應(yīng)用于傳統(tǒng)的機(jī)器學(xué)習(xí)方法雖然說起來容易,但做起來卻很困難。NVIDIA 新發(fā)布的白皮書 《聯(lián)合傳統(tǒng)機(jī)器學(xué)習(xí)算法》 提供了許多詳細(xì)的示例,以展示如何制定和實(shí)現(xiàn)這些算法。
我們展示了如何使用流行的庫,如scikit-learn和XGBoost,將聯(lián)邦線性模型、k-means聚類、非線性SVM、隨機(jī)森林和XGBoost應(yīng)用于協(xié)作學(xué)習(xí)。
總之,聯(lián)合機(jī)器學(xué)習(xí)為在去中心化數(shù)據(jù)上協(xié)同訓(xùn)練模型提供了一種令人信服的方法。雖然通信成本可能不再是傳統(tǒng)機(jī)器學(xué)習(xí)算法的主要約束,但要充分利用聯(lián)合學(xué)習(xí)的好處,仍然需要仔細(xì)制定和實(shí)施。
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5309瀏覽量
106474 -
人工智能
+關(guān)注
關(guān)注
1807文章
49035瀏覽量
249772
發(fā)布評論請先 登錄
【卡酷機(jī)器人】——基礎(chǔ)學(xué)習(xí)方法
深度解析機(jī)器學(xué)習(xí)三類學(xué)習(xí)方法
如何學(xué)好機(jī)器學(xué)習(xí)?機(jī)器學(xué)習(xí)的學(xué)習(xí)方法4個(gè)關(guān)鍵點(diǎn)整理概述

機(jī)器學(xué)習(xí)入門寶典《統(tǒng)計(jì)學(xué)習(xí)方法》的介紹
面向人工智能的機(jī)器學(xué)習(xí)方法體系總結(jié)

區(qū)塊鏈數(shù)據(jù)集有怎樣的機(jī)器學(xué)習(xí)方法
機(jī)器學(xué)習(xí)方法遷移學(xué)習(xí)的發(fā)展和研究資料說明

深度討論集成學(xué)習(xí)方法,解決AI實(shí)踐難題

運(yùn)用多種機(jī)器學(xué)習(xí)方法比較短文本分類處理過程與結(jié)果差別

水聲被動(dòng)定位中的機(jī)器學(xué)習(xí)方法研究進(jìn)展綜述

基于圖嵌入的兵棋聯(lián)合作戰(zhàn)態(tài)勢實(shí)體知識(shí)表示學(xué)習(xí)方法
深度學(xué)習(xí)中的無監(jiān)督學(xué)習(xí)方法綜述
傳統(tǒng)機(jī)器學(xué)習(xí)方法和應(yīng)用指導(dǎo)

評論