經典的機器學習方法基於樣本資料(庫)訓練得到適用於不同任務和場景的機器學習模型。這些樣本資料(庫)一般透過從不同使用者、終端、系統中收集並集中儲存而得到。在實際應用場景中,這種收集樣本資料的方式面臨很多問題。一方面,這種方法損害了資料的隱私性和安全性。在一些應用場景中,例如金融行業、政府行業等,受限於資料隱私和安全的要求,根本無法實現對資料的集中儲存;另一方面,這種方法會增加通訊開銷。在物聯網等一些大量依賴於移動終端的應用中,這種資料匯聚的通訊開銷成本是非常巨大的。
效率:中央伺服器可以隨時接收客戶機裝置的更新。與 FedAvg 不同,陳舊性(延時反饋)的更新不會被刪除。當陳舊性很小時,FedAsync 比 FedAvg 收斂的快得多。在最壞的情況下,當陳舊性很大時(延時嚴重),FedAsync 仍然具有與 FedAvg 相似的效能。
靈活性:如果某些裝置不再能夠執行訓練任務(裝置不再空閒、充電中或連線到不可用的網路),可以將其暫時掛起,等待繼續訓練或稍後將訓練模型推送到中央伺服器。這也為中央伺服器上的程式排程提供了很大的靈活性。與 FedAvg 不同,FedAsync 可以自行安排訓練任務,即使裝置當前不合格 / 不能夠工作,因為中央伺服器無需一直等待裝置響應,也可以做到令當前不合格 / 不能工作的客戶機裝置稍後開始訓練任務。
可伸縮性:與 FedAvg 相比,FedAsync 可以處理更多並行執行的客戶機裝置,因為中央伺服器和這些裝置上的所有更新都是非阻塞的。伺服器只需隨機化各個客戶機裝置的響應時間即可避免網路擁塞。
(1)
(2)
(3)
(4)
(5)
解除安裝階段(Offloading stage)。當邊緣裝置是可信的(例如,家中的邊緣閘道器),物聯網裝置使用者可以將其整個學習模型和資料樣本解除安裝到邊緣裝置中以進行快速計算。否則,裝置使用者將透過將輸入層及其資料樣本本地儲存在其裝置上並將剩餘的模型層解除安裝到邊緣裝置中以進行裝置邊緣協作計算來執行模型劃分。
學習階段(Learning stage)。邊緣裝置根據個人資料樣本協同計算本地模型,然後將本地模型資訊傳輸到雲伺服器。雲伺服器將各個邊緣裝置所提交的本地模型資訊聚合起來,並將它們平均化為一個全域性模型,然後傳送回各個邊緣裝置中。這樣的模型資訊交換過程不斷重複,直到經過一定次數的迭代後收斂為止。因此,可以實現一個高質量的全域性模型,然後傳輸到邊緣裝置以進行進一步的個性化設定。
個性化階段(Personalization stage)。為了捕捉特定的個人特徵和需求,每個邊緣裝置都基於全域性模型資訊和自身的個人資訊(即本地資料)訓練一個個性化模型。這一階段的具體學習操作取決於採用的個性化聯邦學習機制。例如,遷移學習、多工學習、元學習、知識蒸餾、混合模型等。
PerFit 透過在邊緣裝置和雲伺服器之間交換不同型別的模型資訊,能夠靈活地整合多種個性化的聯邦學習方法,包括我們在這篇文章中分析的兩種個性化聯邦學習方法。透過解決複雜物聯網環境中固有的異構性問題並在預設情況下確保使用者隱私,PerFit 可以成為大規模實際部署的理想選擇。