自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

GitHub突破1000星!上交、清華開源個(gè)性化聯(lián)邦學(xué)習(xí)算法庫PFLlib

人工智能 新聞
聯(lián)邦學(xué)習(xí)(FL)作為一種新型的分布式機(jī)器學(xué)習(xí)范式,它主要用于訓(xùn)練人工智能(AI)模型。除了傳統(tǒng)分布式機(jī)器學(xué)習(xí)的跨設(shè)備協(xié)同訓(xùn)練 AI 模型的特點(diǎn)之外,聯(lián)邦學(xué)習(xí)的特殊性主要體現(xiàn)在保護(hù)每個(gè)設(shè)備上數(shù)據(jù)隱私的能力。

想了解更多AIGC的內(nèi)容,請(qǐng)?jiān)L問:

51CTO AI.x社區(qū)

http://www.scjtxx.cn/aigc/

我們?cè)?GitHub 上開源了一個(gè)個(gè)性化聯(lián)邦學(xué)習(xí)算法倉庫(PFLlib),目前已經(jīng)獲得 1K+ 個(gè) Star 和 200+ 個(gè) Fork,在業(yè)內(nèi)收到了廣泛的好評(píng)。PFLlib 囊括了 34 個(gè)聯(lián)邦學(xué)習(xí)算法(其中包含 27 個(gè)個(gè)性化聯(lián)邦學(xué)習(xí)算法)、3 大類數(shù)據(jù)異質(zhì)場景、20 個(gè)數(shù)據(jù)集。

開源該倉庫的主要目的是:1)降低初學(xué)者研究個(gè)性化聯(lián)邦學(xué)習(xí)算法的門檻;2)提供一個(gè)統(tǒng)一的實(shí)驗(yàn)環(huán)境,在多種場景和多個(gè)方面對(duì)不同個(gè)性化聯(lián)邦學(xué)習(xí)算法進(jìn)行評(píng)估,為個(gè)性化聯(lián)邦學(xué)習(xí)算法在具體場景中應(yīng)用時(shí)的選擇提供參考;3)為個(gè)性化聯(lián)邦學(xué)習(xí)算法的研究者們提供一個(gè)可以交流的平臺(tái),在交流的過程中互相學(xué)習(xí),碰撞出新的火花。

圖片

▲ GitHub Star 的增長曲線

圖片

論文標(biāo)題:

PFLlib: Personalized Federated Learning Algorithm Library

論文鏈接:

https://arxiv.org/abs/2312.04992

代碼鏈接:

https://github.com/TsingZ0/PFLlib

01 個(gè)性化聯(lián)邦學(xué)習(xí)(PFL)

聯(lián)邦學(xué)習(xí)(FL)作為一種新型的分布式機(jī)器學(xué)習(xí)范式,它主要用于訓(xùn)練人工智能(AI)模型。除了傳統(tǒng)分布式機(jī)器學(xué)習(xí)的跨設(shè)備協(xié)同訓(xùn)練 AI 模型的特點(diǎn)之外,聯(lián)邦學(xué)習(xí)的特殊性主要體現(xiàn)在保護(hù)每個(gè)設(shè)備上數(shù)據(jù)隱私的能力。

聯(lián)邦學(xué)習(xí)實(shí)現(xiàn)隱私保護(hù)的主要方式是:禁止具有隱私性的數(shù)據(jù)離開產(chǎn)生該數(shù)據(jù)的設(shè)備。這種限制使得這些設(shè)備上的本地?cái)?shù)據(jù)無法通過傳統(tǒng)分布式機(jī)器學(xué)習(xí)中的數(shù)據(jù)采集、數(shù)據(jù)清洗、數(shù)據(jù)分片等操作,來實(shí)現(xiàn)每個(gè)設(shè)備上數(shù)據(jù)的一致性。

由于不同設(shè)備所處環(huán)境的不同,使得它們各自產(chǎn)生數(shù)據(jù)、采集數(shù)據(jù)、處理數(shù)據(jù)的方式不盡相同。于是,便產(chǎn)生了各個(gè)設(shè)備之間的數(shù)據(jù)異質(zhì)問題,如圖 1。在異質(zhì)的數(shù)據(jù)上學(xué)習(xí)得到的本地模型,通過服務(wù)器進(jìn)行了模型參數(shù)聚合后生成的全局模型會(huì)有表現(xiàn)不佳等問題。

圖片

▲ 圖1:聯(lián)邦學(xué)習(xí)及數(shù)據(jù)異質(zhì)問題。

為了應(yīng)對(duì)聯(lián)邦學(xué)習(xí)中的數(shù)據(jù)異質(zhì)問題,研究者們開始探索在設(shè)備參與到聯(lián)邦學(xué)習(xí)系統(tǒng)里進(jìn)行協(xié)同訓(xùn)練、聚合得到全局模型的同時(shí),為自己學(xué)習(xí)適配本地任務(wù)的個(gè)性化模型的新型聯(lián)邦學(xué)習(xí)算法。這類算法被人們稱為“個(gè)性化聯(lián)邦學(xué)習(xí)算法”。

在個(gè)性化聯(lián)邦學(xué)習(xí)的范疇中,生成全局模型不再是最終的目的,而以全局模型為知識(shí)共享的載體、用全局模型中蘊(yùn)含的全局信息來提升本地模型效果才是最終的目標(biāo),如圖 2 所示。

在個(gè)性化聯(lián)邦學(xué)習(xí)框架之下,每個(gè)參與者通過聯(lián)邦學(xué)習(xí)過程實(shí)現(xiàn)協(xié)作,用聚合得到的全局信息彌補(bǔ)了本地?cái)?shù)據(jù)不足的問題;且每個(gè)參與者為自己本地任務(wù)訓(xùn)練得到的個(gè)性化模型利好參與者自身,無形中激勵(lì)了各個(gè)設(shè)備參與聯(lián)邦學(xué)習(xí)的熱情。

圖片

▲ 圖2:個(gè)性化聯(lián)邦學(xué)習(xí)。

02 PFLlib 簡介

2021 年伊始,本人在探索個(gè)性化聯(lián)邦學(xué)習(xí)算法的過程中發(fā)現(xiàn),由于不同論文的實(shí)驗(yàn)設(shè)置(如數(shù)據(jù)集、模型結(jié)構(gòu)、數(shù)據(jù)異質(zhì)種類、客戶機(jī)數(shù)量、超參數(shù)設(shè)定等)不同,導(dǎo)致論文中的大部分實(shí)驗(yàn)數(shù)據(jù)不能復(fù)用。同時(shí),有相當(dāng)一部分的論文,其代碼并不開源,使得我們無法通過在新場景下運(yùn)行代碼來獲得實(shí)驗(yàn)數(shù)據(jù)。

此外,在 PFL 領(lǐng)域逐漸火熱起來后,對(duì)比實(shí)驗(yàn)往往需要比較十幾個(gè)相關(guān)方法,即使每個(gè)方法有自己的開源代碼,為這些具有不同風(fēng)格、結(jié)構(gòu)、規(guī)范的代碼進(jìn)行新實(shí)驗(yàn)設(shè)置的適配需要花費(fèi)大量的精力和時(shí)間,使得剛?cè)腴T PFL 的研究者無法關(guān)注在 PFL 本身的研究上。

當(dāng)時(shí),我在探索后來發(fā)表在 AAAI 2023 的 FedALA [1](PFLlib 包含該算法)過程中,感覺自己寫的用來進(jìn)行對(duì)比實(shí)驗(yàn)的代碼框架相對(duì)簡單易懂。出于開源精神,我便對(duì)其進(jìn)行了開源。之后,隨著我在 PFL 領(lǐng)域逐步深入,越來越多的PFL方法出現(xiàn),我后續(xù)也持續(xù)地加入了不少算法,才有了如今的規(guī)模。

圖片

▲ 圖3:PFLlib 中實(shí)現(xiàn) FedAvg 的例子。

總的來說,PFLlib 擁有以下幾個(gè)特性:

  • 代碼結(jié)構(gòu)簡單,易于入手和閱讀,易于添加新算法。工具函數(shù)存放在utils文件夾中?;A(chǔ)的設(shè)備和服務(wù)器操作分別存放在clientbase.pyserverbase.py中。如圖 3,以在 MNIST 數(shù)據(jù)集上實(shí)現(xiàn)最基礎(chǔ)的 FedAvg [2] 算法為例,我們只需要編寫generate_MNIST.py來生成實(shí)驗(yàn)場景,然后編寫clientavg.pyserveravg.py來實(shí)現(xiàn) FedAvg 訓(xùn)練流程,再將 FedAvg 在main.py配置一下,即可通過命令行運(yùn)行 FedAvg 算法。
  • 提供了較為全面的聯(lián)邦學(xué)習(xí)算法倉庫和實(shí)驗(yàn)環(huán)境。PFLlib 總共擁有 34 個(gè)聯(lián)邦學(xué)習(xí)算法(其中包含 27 個(gè)個(gè)性化聯(lián)邦學(xué)習(xí)算法)、3 大類數(shù)據(jù)異質(zhì)場景、20 個(gè)數(shù)據(jù)集。
  • GPU 資源需求較少。使用實(shí)驗(yàn)中最常用的 4 層 CNN 網(wǎng)絡(luò),可以在 NVIDIA GeForce RTX 3090 GPU 上,僅用 5.08GB 顯存模擬 500 個(gè)設(shè)備同步訓(xùn)練的場景。
  • 提供了一種基于 DLG [3] 的隱私攻擊和隱私泄露度量指標(biāo),用于度量多數(shù)論文中沒提及的 PFL 算法的隱私保護(hù)能力。

03 34個(gè)聯(lián)邦學(xué)習(xí)算法

根據(jù)聯(lián)邦學(xué)習(xí)算法中用到的技術(shù),我們對(duì) 34 個(gè) PFL 算法進(jìn)行了分類,具體分類結(jié)果見表 1。

圖片

▲ 表1:PFLlib 中聯(lián)邦學(xué)習(xí)算法的分類。

04 3個(gè)場景和20個(gè)數(shù)據(jù)集

聯(lián)邦學(xué)習(xí)的數(shù)據(jù)異質(zhì)場景主要分為四大類:不平衡性(unbalance)、標(biāo)簽傾斜(label skew)、特征漂移(feature shift)、真實(shí)世界(real-world)。

其中不平衡性指的是不同設(shè)備上數(shù)據(jù)量不同;標(biāo)簽傾斜主要指的是不同設(shè)備上的數(shù)據(jù)特征相似但類別(標(biāo)簽)不同;特征漂移則與標(biāo)簽傾斜恰好相反,指的是不同設(shè)備上的數(shù)據(jù)標(biāo)簽相同但特征不同;真實(shí)世界指的是不同設(shè)備上的數(shù)據(jù)是真實(shí)采集到的,可能同時(shí)包含以上三種情況。

由于不平衡性與標(biāo)簽傾斜和特征漂移都不沖突,PFLlib 將不平衡性融入了標(biāo)簽傾斜和特征漂移之中。

PFLlib 為標(biāo)簽傾斜(含不平衡性)、特征漂移(含不平衡性)、真實(shí)世界三個(gè)場景分別提供了適用于各自場景的數(shù)據(jù)集。

標(biāo)簽傾斜:該場景是在聯(lián)邦學(xué)習(xí)領(lǐng)域探索的最多的場景,也是現(xiàn)實(shí)情況下最容易遇到的場景。該場景進(jìn)一步還分為病態(tài)的非獨(dú)立同分布(pathological non-IID)和真實(shí)的非獨(dú)立同分布(practical non-IID)兩個(gè)子場景。

總共有 14 個(gè)數(shù)據(jù)集用于標(biāo)簽傾斜場景:MNIST、EMNIST、Fashion-MNIST、Cifar10、Cifar100、AG News、Sogou News、Tiny-ImageNet、Country211、Flowers102、GTSRB、Shakespeare、Stanford Cars。它們都支持以上兩個(gè)子場景。

特征漂移:在這個(gè)場景中,PFLlib 主要采用了 3 個(gè)數(shù)據(jù)集,分別是:Amazon Review、Digit5、DomainNet。

真實(shí)世界:PFLlib 采用的是 IoT(Internet of Things)數(shù)據(jù)集,它們分別是:Omniglot(20 個(gè)設(shè)備, 50 個(gè)標(biāo)簽)、HAR(Human Activity Recognition)(30 個(gè)設(shè)備, 6 個(gè)標(biāo)簽)、PAMAP2(9 個(gè)設(shè)備,12 個(gè)標(biāo)簽)。

每個(gè)數(shù)據(jù)集中含有多個(gè)子數(shù)據(jù)集,每個(gè)子數(shù)據(jù)集是從某個(gè)具體的設(shè)備(例如傳感器、陀螺儀等)上采集得到的真實(shí)數(shù)據(jù)。這類數(shù)據(jù)集有利于 PFL 算法在實(shí)際場景落地問題的研究。正如 GPFL [4](PFLlib 包含該算法)中的實(shí)驗(yàn)表明,在模擬場景(標(biāo)簽傾斜和特征漂移等)表現(xiàn)較好的算法,在真實(shí)世界場景中不一定具有良好表現(xiàn)。

05 部分實(shí)驗(yàn)結(jié)果

出于驗(yàn)證 PFLlib 中附帶實(shí)驗(yàn)平臺(tái)的可用性,根據(jù) GPFL 中的默認(rèn)實(shí)驗(yàn)設(shè)置,我們對(duì)部分算法在部分常見場景中的表現(xiàn)進(jìn)行了展示,如下表所示(實(shí)驗(yàn)結(jié)果僅供參考)。

圖片

▲ 表2:PFLlib 中部分聯(lián)邦學(xué)習(xí)算法在部分場景中測試集上的分類準(zhǔn)確率。

最后,感謝大家對(duì) PFLlib 項(xiàng)目的支持,也歡迎剛了解到 PFLlib 的朋友們一起參與到 PFLlib 項(xiàng)目的建設(shè)中來!

想了解更多AIGC的內(nèi)容,請(qǐng)?jiān)L問:

51CTO AI.x社區(qū)

http://www.scjtxx.cn/aigc/

責(zé)任編輯:張燕妮 來源: PaperWeekly
相關(guān)推薦

2020-08-04 14:18:56

算法開源Github

2020-09-23 18:10:27

算法可視化大數(shù)據(jù)

2020-11-26 15:48:37

代碼開發(fā)GitHub

2021-07-01 09:53:38

數(shù)據(jù)知乎清華

2020-06-28 07:00:00

推薦系統(tǒng)智能商務(wù)服務(wù)平臺(tái)

2022-11-01 07:19:45

推薦系統(tǒng)非個(gè)性化

2009-03-04 11:31:17

2009-03-04 18:11:10

開源虛擬化金融危機(jī)

2016-08-10 10:31:56

飛魚星

2011-01-20 10:19:21

PowerShell個(gè)性化

2021-07-18 22:47:08

大數(shù)據(jù)電商算法

2016-11-08 13:03:56

大數(shù)據(jù)小數(shù)據(jù)Dysart

2013-11-07 16:42:34

Windows 8.1個(gè)性化

2011-05-04 14:38:53

海爾江山帝景一體機(jī)

2017-07-03 11:00:51

深度學(xué)習(xí)人工智能

2021-11-03 15:01:50

算法開源技術(shù)

2023-03-21 12:46:30

智慧城市人工智能大數(shù)據(jù)

2020-08-31 12:00:17

Linux終端顏色命令

2014-03-28 13:14:33

2009-07-13 15:33:24

桌面虛擬化虛擬化IT
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)