王佳,苗璐
(1.山西金融職業(yè)學(xué)院,太原030008;2.中國(guó)科學(xué)技術(shù)大學(xué),合肥230000)
2016 年是人工智能(AI)成熟的一年,隨著Alpha?Go 擊敗了頂尖的人類(lèi)圍棋選手,我們真正見(jiàn)證了人工智能的巨大潛力,并開(kāi)始期待在許多應(yīng)用領(lǐng)域出現(xiàn)更復(fù)雜、更尖端的人工智能技術(shù),例如無(wú)人駕駛。目前,人工智能的成就依賴于大量可用的標(biāo)記數(shù)據(jù)。例如,AlphaGo 使用了160000 個(gè)實(shí)際游戲的3000 萬(wàn)步作為訓(xùn)練數(shù)據(jù),ImageNet 數(shù)據(jù)集中則包含了超過(guò)1400 萬(wàn)張圖片[1]。
隨著AlphaGo 的成功,人們自然希望大數(shù)據(jù)驅(qū)動(dòng)的人工智能能很快在我們生活的方方面面實(shí)現(xiàn)。然而,現(xiàn)實(shí)情況卻有些令人失望:在各個(gè)行業(yè)中,更多的應(yīng)用領(lǐng)域中只有少量或低質(zhì)量的數(shù)據(jù),并且標(biāo)記數(shù)據(jù)非常昂貴,特別是在需要人類(lèi)專業(yè)知識(shí)的領(lǐng)域。因此,人工智能技術(shù)在這些行業(yè)的發(fā)展比較緩慢。
此外,特定任務(wù)所需的數(shù)據(jù)可能不會(huì)保存在一個(gè)地方。許多組織可能只有未標(biāo)記的數(shù)據(jù),而其他一些組織的標(biāo)簽數(shù)量可能非常有限。那么能否通過(guò)跨組織傳輸數(shù)據(jù),將來(lái)自多個(gè)站點(diǎn)的數(shù)據(jù)融合在一個(gè)共同的站點(diǎn)上?事實(shí)上,在許多情況下,要打破數(shù)據(jù)源之間的障礙是非常困難的,甚至是不可能的。一般來(lái)說(shuō),任何人工智能項(xiàng)目所需的數(shù)據(jù)都涉及多種類(lèi)型。例如,在人工智能驅(qū)動(dòng)的產(chǎn)品推薦服務(wù)中,產(chǎn)品銷(xiāo)售商有關(guān)于產(chǎn)品的信息和用戶購(gòu)買(mǎi)的數(shù)據(jù),但沒(méi)有描述用戶購(gòu)買(mǎi)能力和支付習(xí)慣的數(shù)據(jù),這些數(shù)據(jù)可能存在于銀行中。在大多數(shù)行業(yè)中,數(shù)據(jù)以孤島的形式存在。由于行業(yè)競(jìng)爭(zhēng)、隱私安全和復(fù)雜的管理程序,即使是同一公司不同部門(mén)之間的數(shù)據(jù)集成也面臨著很大的阻力。幾乎不可能將分散在全國(guó)各地的數(shù)據(jù)和機(jī)構(gòu)整合起來(lái)。
此外,隨著公眾的數(shù)據(jù)安全和用戶隱私的意識(shí)日益增強(qiáng),數(shù)據(jù)隱私和安全已成為世界性的重大課題。有關(guān)公共數(shù)據(jù)泄露的新聞引起了媒體和公眾的高度關(guān)注。例如,F(xiàn)acebook 最近的數(shù)據(jù)泄露引起了廣泛的抗議。作為回應(yīng),世界各國(guó)都在加強(qiáng)保護(hù)數(shù)據(jù)安全和隱私的法律。例如,歐盟于2018 年5 月25 日實(shí)施的《通用數(shù)據(jù)保護(hù)條例》(GDPR),旨在保護(hù)用戶的個(gè)人隱私并提供數(shù)據(jù)安全。它要求企業(yè)在用戶協(xié)議中使用清晰明了的語(yǔ)言,并授予用戶“被遺忘的權(quán)利”,即用戶可以刪除或撤回其個(gè)人數(shù)據(jù)。違反該法案的公司將面臨嚴(yán)厲的罰款。中國(guó)2017 年頒布的《網(wǎng)絡(luò)安全法》和《民法通則》要求,互聯(lián)網(wǎng)企業(yè)不得泄露或篡改其收集的個(gè)人信息,在與第三方進(jìn)行數(shù)據(jù)交易時(shí),它們需要確保擬議的合同遵守法律規(guī)定的數(shù)據(jù)保護(hù)義務(wù)。這些法規(guī)的建立將有助于建立一個(gè)更為安全的社會(huì),然而,如何在滿足數(shù)據(jù)隱私的前提下,為缺少相關(guān)數(shù)據(jù)的企業(yè)和機(jī)構(gòu)建立有效、準(zhǔn)確的人工智能模型,是一個(gè)重大挑戰(zhàn)。
更具體地說(shuō),人工智能中傳統(tǒng)的數(shù)據(jù)處理模型往往涉及到簡(jiǎn)單的數(shù)據(jù)事務(wù)模型,一方收集數(shù)據(jù)并將數(shù)據(jù)傳輸給另一方,另一方負(fù)責(zé)數(shù)據(jù)的清洗和融合。最后,第三方將采用集成的數(shù)據(jù),并構(gòu)建模型供其他方使用。模型通常是作為服務(wù)銷(xiāo)售的最終產(chǎn)品。這一傳統(tǒng)過(guò)程面臨著上述新的數(shù)據(jù)法律法規(guī)的挑戰(zhàn)。因此,我們面臨著一個(gè)兩難的境地,即我們的數(shù)據(jù)是以孤島的形式存在的,但在許多情況下,我們被禁止在不同的地方收集、融合和使用這些數(shù)據(jù)進(jìn)行處理。如何解決數(shù)據(jù)碎片化和隔離問(wèn)題是當(dāng)今人工智能研究者和實(shí)踐者面臨的一大挑戰(zhàn)。
為了克服這些挑戰(zhàn),Google 首先引入了聯(lián)邦學(xué)習(xí)(FL)系統(tǒng)[2]。谷歌的主要想法是基于分布在多個(gè)設(shè)備上的數(shù)據(jù)集構(gòu)建機(jī)器學(xué)習(xí)模型,同時(shí)防止數(shù)據(jù)泄漏。最近的改進(jìn)集中在克服統(tǒng)計(jì)數(shù)據(jù)挑戰(zhàn)[3]和提高聯(lián)邦學(xué)習(xí)的安全性[4]。也有一些研究致力于使聯(lián)邦學(xué)習(xí)更加個(gè)性化[5]。以上工作都集中在涉及分布式移動(dòng)用戶交互的設(shè)備的聯(lián)邦學(xué)習(xí)上,其中大規(guī)模分布的通信成本、不平衡的數(shù)據(jù)分布以及設(shè)備可靠性是優(yōu)化的主要因素。
此外,數(shù)據(jù)是按用戶ID 或設(shè)備ID 進(jìn)行分區(qū)的,因此在數(shù)據(jù)空間中是水平的。聯(lián)邦學(xué)習(xí)與保護(hù)隱私的機(jī)器學(xué)習(xí)密切相關(guān),因?yàn)樗€考慮了分散協(xié)作學(xué)習(xí)環(huán)境中的數(shù)據(jù)隱私。為了將聯(lián)邦學(xué)習(xí)的概念擴(kuò)展到組織間的協(xié)作學(xué)習(xí)場(chǎng)景,我們將原來(lái)的“聯(lián)邦學(xué)習(xí)”推廣到一個(gè)通用概念,即所有隱私保護(hù)的分散協(xié)作機(jī)器學(xué)習(xí)技術(shù)。
假設(shè)有N 個(gè)數(shù)據(jù)所有者{F1,…,FN,},他們擁有的數(shù)據(jù)分別是{D1,…,DN},每個(gè)數(shù)據(jù)所有者都希望通過(guò)整合各自的數(shù)據(jù)來(lái)訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)模型。傳統(tǒng)的方法是把所有的數(shù)據(jù)放在一起,使用D=D1∪…∪DN來(lái)訓(xùn)練模型MSUM。而聯(lián)邦學(xué)習(xí)系統(tǒng)是一個(gè)協(xié)作過(guò)程,在這個(gè)過(guò)程中,數(shù)據(jù)所有者協(xié)同訓(xùn)練一個(gè)MFED,任何數(shù)據(jù)所有者Fi都不會(huì)將其數(shù)據(jù)Di公開(kāi)給其他人。此外,MFED的精度VFED應(yīng)該非常接近MSUM的精度VSUM的性能。形式上,設(shè)δ為非負(fù)實(shí)數(shù);如果|VFED-VSUM|<δ則稱該聯(lián)邦學(xué)習(xí)算法有δ精度損失。
聯(lián)邦學(xué)習(xí)是人工智能當(dāng)中發(fā)展較快的領(lǐng)域,研究成果層出不窮。接下來(lái),本文將介紹近期的兩項(xiàng)研究進(jìn)展:聯(lián)邦遷移學(xué)習(xí)和基于概率的聯(lián)邦學(xué)習(xí)。
遷移學(xué)習(xí)(TL)[6]是一種為數(shù)據(jù)集較小或只有部分標(biāo)簽的應(yīng)用提供解決方案的強(qiáng)大技術(shù)。近年來(lái),將遷移學(xué)習(xí)技術(shù)應(yīng)用于各個(gè)領(lǐng)域的研究工作已經(jīng)取得了很大的進(jìn)展,比如圖像分類(lèi)以及情緒分析。遷移學(xué)習(xí)的性能取決于領(lǐng)域之間的關(guān)聯(lián)程度。直觀地說(shuō),同一個(gè)數(shù)據(jù)聯(lián)邦中的各方通常是來(lái)自同一行業(yè)或相關(guān)行業(yè)的組織,因此更容易進(jìn)行知識(shí)傳播。
聯(lián)邦遷移學(xué)習(xí)(FTL)適用于兩個(gè)數(shù)據(jù)集不僅在樣本上不同,而且在特征空間上也不同的場(chǎng)景。假設(shè)有兩個(gè)機(jī)構(gòu),一個(gè)是位于中國(guó)的銀行,另一個(gè)是位于美國(guó)的電子商務(wù)公司。由于地域限制,兩家機(jī)構(gòu)的用戶群有只一個(gè)小的交集。另一方面,由于業(yè)務(wù)的不同,雙方的特征空間只有一小部分重疊。在這種情況下,遷移學(xué)習(xí)技術(shù)為聯(lián)邦內(nèi)的整個(gè)樣本和特征空間提供解決方案。具體來(lái)說(shuō),就是使用有限的公共樣本集,學(xué)習(xí)到兩個(gè)特征空間的公共表示,隨后用這個(gè)公共表示獲得只有單側(cè)特征的樣本的預(yù)測(cè)。聯(lián)邦遷移學(xué)習(xí)是對(duì)現(xiàn)有聯(lián)邦學(xué)習(xí)系統(tǒng)的重要擴(kuò)展,因?yàn)樗幚淼膯?wèn)題超出了現(xiàn)有的聯(lián)邦學(xué)習(xí)算法的范圍。
近年來(lái),深層神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于遷移學(xué)習(xí)中,來(lái)尋找隱含的遷移機(jī)制。在一般的場(chǎng)景中,A、B 雙方通過(guò)兩個(gè)神經(jīng)網(wǎng)絡(luò)產(chǎn)生各自的隱層表示d是隱層表示的維度。為了標(biāo)記目標(biāo)域,通用的方法是引入一個(gè)預(yù)測(cè)函數(shù)不失一般性,假設(shè)于是,訓(xùn)練目標(biāo)函數(shù)可寫(xiě)為:
其中,ΘA,ΘB分別是NetA,NetB的訓(xùn)練參數(shù)。設(shè)LA,LB分別是NetA,NetB的層數(shù),那么是第l層的訓(xùn)練參數(shù)。l1表示損失函數(shù),對(duì)于logistic 損失,
另外,我們希望最小化A 和B 的對(duì)齊誤差:
其中,l2表示對(duì)齊誤差。典型的對(duì)齊誤差可以是
最終的目標(biāo)函數(shù)為:
接下來(lái)要獲取反向傳播過(guò)程中更新ΘA,ΘB所需的梯度:
其中i∈{A,B} 。聯(lián)邦遷移學(xué)習(xí)要保證A 和B 不泄露自己的數(shù)據(jù),因此需要隱私保護(hù)算法來(lái)計(jì)算損失函數(shù)和梯度。文獻(xiàn)[7]中提供了一種新穎的方法,將加性同態(tài)加密(HE)應(yīng)用于神經(jīng)網(wǎng)絡(luò)的多方計(jì)算(MPC),從而僅需要對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行最小的修改,并且準(zhǔn)確性幾乎是無(wú)損的,而大多數(shù)現(xiàn)有的安全深度學(xué)習(xí)框架在采用隱私保護(hù)技術(shù)時(shí)會(huì)失去一定的準(zhǔn)確性。聯(lián)邦遷移學(xué)習(xí)的未來(lái)工作可能包括采用該方法到其他需要隱私保護(hù)數(shù)據(jù)協(xié)作的深度學(xué)習(xí)系統(tǒng),并通過(guò)使用分布式計(jì)算技術(shù)繼續(xù)提高算法的效率,以及尋找成本較低的加密方案。
聯(lián)邦學(xué)習(xí)中的每個(gè)數(shù)據(jù)源是隔離的,聯(lián)邦學(xué)習(xí)算法在訓(xùn)練每個(gè)數(shù)據(jù)源上的本地模型和將它們提取為全局聯(lián)邦模型之間進(jìn)行迭代,而無(wú)需顯式地組合來(lái)自不同數(shù)據(jù)源的數(shù)據(jù)。典型的聯(lián)邦學(xué)習(xí)算法需要訪問(wèn)本地存儲(chǔ)的數(shù)據(jù)進(jìn)行學(xué)習(xí),更極端的情況是訪問(wèn)本地?cái)?shù)據(jù)預(yù)先訓(xùn)練的模型,而不是數(shù)據(jù)本身。文獻(xiàn)[8]解決的問(wèn)題是,將根據(jù)不同來(lái)源的數(shù)據(jù)獨(dú)立訓(xùn)練的“遺留”模型組合成一個(gè)改進(jìn)的聯(lián)邦模型。
文中開(kāi)發(fā)了一個(gè)基于概率的聯(lián)邦學(xué)習(xí)框架,稱為貝葉斯非參數(shù)的神經(jīng)網(wǎng)絡(luò)聯(lián)邦學(xué)習(xí)框架。假設(shè)每個(gè)數(shù)據(jù)服務(wù)器提供本地神經(jīng)網(wǎng)絡(luò)的權(quán)重,這些權(quán)重通過(guò)該框架進(jìn)行建模。然后使用一種推理方法,合成一個(gè)更具表現(xiàn)力的全局網(wǎng)絡(luò),這個(gè)過(guò)程無(wú)需額外的監(jiān)督和數(shù)據(jù)匯集,而且只需一個(gè)通信輪次。假設(shè)要么是本地?cái)?shù)據(jù),要么是經(jīng)過(guò)本地訓(xùn)練的模型可用。當(dāng)數(shù)據(jù)可用時(shí),并行地為每個(gè)數(shù)據(jù)源訓(xùn)練本地模型。然后匹配不同數(shù)據(jù)源估計(jì)的局部模型參數(shù)(權(quán)重向量)構(gòu)建全局網(wǎng)絡(luò)。局部參數(shù)的匹配,由貝塔-伯努利過(guò)程(BBP)控制。BBP 是一個(gè)模型,允許局部參數(shù)匹配現(xiàn)有的全局參數(shù),或在現(xiàn)有的全局參數(shù)是差的匹配時(shí),創(chuàng)建新的全局參數(shù)。
以包含單個(gè)隱層的多層感知機(jī)為例,假設(shè)已經(jīng)訓(xùn)練出J個(gè)多層感知機(jī),分別擁有一個(gè)隱層。對(duì)于第j個(gè)感知機(jī)是隱層的權(quán)重,是隱層的偏置項(xiàng),其中D 是數(shù)據(jù)維度,Lj是隱層神經(jīng)元的個(gè)數(shù)。是softmax 層的權(quán)重,∈RK是softmax層的偏置項(xiàng),其中K是類(lèi)別數(shù)目。在擁有J個(gè)的情況下,試圖學(xué)習(xí)全局模型,它的參數(shù)為其中L是全局模型的隱層神經(jīng)元個(gè)數(shù),由推理得出。
算法的原理如圖1 所示,三個(gè)本地多層感知機(jī)的隱層神經(jīng)元經(jīng)過(guò)匹配后,形成全局模型。圖中的節(jié)點(diǎn)表示神經(jīng)元,相同顏色的神經(jīng)元已經(jīng)匹配。
圖1 單層概率聯(lián)邦神經(jīng)匹配算法原理示意圖
文中提出的概率聯(lián)邦神經(jīng)匹配(PFNM)算法比現(xiàn)有方法有幾個(gè)優(yōu)點(diǎn)。首先,它將局部模型的學(xué)習(xí)與局部模型合并為全局聯(lián)邦模型的過(guò)程相分離。這種解耦允許我們對(duì)局部學(xué)習(xí)算法保持不可知的態(tài)度,局部學(xué)習(xí)算法可以根據(jù)需要進(jìn)行調(diào)整,每個(gè)數(shù)據(jù)源甚至可能使用不同的學(xué)習(xí)算法。此外,只要給定預(yù)先訓(xùn)練的模型,PFNM 就能夠?qū)⑺鼈兘M合成一個(gè)聯(lián)邦全局模型,而不需要額外的數(shù)據(jù)或關(guān)于生成預(yù)訓(xùn)練模型的算法的知識(shí)。而現(xiàn)有的神經(jīng)網(wǎng)絡(luò)聯(lián)邦學(xué)習(xí)的方法需要關(guān)于局部學(xué)習(xí)的強(qiáng)假設(shè),例如,共享相同的隨機(jī)初始化,這個(gè)假設(shè)在很多情況下是不現(xiàn)實(shí)的。并且,不同于現(xiàn)有的方法,文中提出的框架本質(zhì)上是非參數(shù)的,允許聯(lián)邦模型靈活地增大或縮小其復(fù)雜性(即神經(jīng)元的數(shù)目),以考慮不同的數(shù)據(jù)復(fù)雜性。
聯(lián)邦學(xué)習(xí)使多方能夠協(xié)同構(gòu)建機(jī)器學(xué)習(xí)模型,同時(shí)保持其私有訓(xùn)練數(shù)據(jù)的私有性。聯(lián)邦學(xué)習(xí)作為一門(mén)新興的技術(shù),有著許多獨(dú)創(chuàng)性的思想,其中一些思想植根于現(xiàn)有的領(lǐng)域。下面,我們將從多個(gè)角度解釋聯(lián)邦學(xué)習(xí)與其他相關(guān)概念之間的關(guān)系。
聯(lián)邦學(xué)習(xí)可以看作是一種隱私保護(hù)、分散協(xié)作的機(jī)器學(xué)習(xí)。過(guò)去,許多研究工作都致力于多方、隱私保護(hù)的機(jī)器學(xué)習(xí)這一領(lǐng)域。例如,文獻(xiàn)[9]的作者提出了用于垂直分區(qū)數(shù)據(jù)的安全多方?jīng)Q策樹(shù)的算法。Vaidya和Clifton 提出了安全關(guān)聯(lián)挖掘規(guī)則[10]、安全K-means[11]和樸素貝葉斯分類(lèi)器[12]。文獻(xiàn)[13]的作者提出了一種基于水平分塊數(shù)據(jù)的關(guān)聯(lián)規(guī)則算法。文獻(xiàn)[14]的作者提出了多方線性回歸和分類(lèi)的安全協(xié)議。文獻(xiàn)[15]的作者提出了安全的多方梯度下降方法。這些作品都使用了安全多方計(jì)算(SMC)來(lái)保證隱私。
聯(lián)邦學(xué)習(xí)與分布式機(jī)器學(xué)習(xí)有點(diǎn)相似。分布式機(jī)器學(xué)習(xí)包括很多方面,如訓(xùn)練數(shù)據(jù)的分布式存儲(chǔ)、計(jì)算任務(wù)的分布式操作、模型結(jié)果的分布式分布等。參數(shù)服務(wù)器[16]是分布式機(jī)器學(xué)習(xí)中的一個(gè)典型元素。參數(shù)服務(wù)器作為一種加速訓(xùn)練過(guò)程的工具,將數(shù)據(jù)存儲(chǔ)在分布式工作節(jié)點(diǎn)上,通過(guò)一個(gè)中心調(diào)度節(jié)點(diǎn)來(lái)分配數(shù)據(jù)和計(jì)算資源,從而更有效地訓(xùn)練模型。對(duì)于聯(lián)合學(xué)習(xí),工作節(jié)點(diǎn)表示數(shù)據(jù)所有者,對(duì)本地?cái)?shù)據(jù)具有完全的自主權(quán),可以決定何時(shí)以及如何加入聯(lián)邦學(xué)習(xí)。在參數(shù)服務(wù)器中,中心節(jié)點(diǎn)總是起控制作用。然而,聯(lián)邦學(xué)習(xí)面臨著一個(gè)更加復(fù)雜的學(xué)習(xí)環(huán)境。此外,在模型訓(xùn)練過(guò)程中,聯(lián)邦學(xué)習(xí)強(qiáng)調(diào)數(shù)據(jù)所有者的數(shù)據(jù)隱私保護(hù)。有效的數(shù)據(jù)隱私保護(hù)措施可以更好地應(yīng)對(duì)未來(lái)日益嚴(yán)格的數(shù)據(jù)隱私和數(shù)據(jù)安全監(jiān)管環(huán)境。
最近,數(shù)據(jù)的隔離和數(shù)據(jù)隱私保護(hù)成為人工智能面臨的下一個(gè)挑戰(zhàn),聯(lián)邦學(xué)習(xí)給我們帶來(lái)了新的希望。它可以在保護(hù)本地?cái)?shù)據(jù)的同時(shí),為多個(gè)機(jī)構(gòu)建立統(tǒng)一的模型,使多個(gè)機(jī)構(gòu)能夠在數(shù)據(jù)安全的基礎(chǔ)上協(xié)同工作。本文簡(jiǎn)述了聯(lián)邦學(xué)習(xí)的基本定義、提出背景和研究進(jìn)展,包括聯(lián)邦遷移學(xué)習(xí)和基于概率的聯(lián)邦學(xué)習(xí),最后介紹了聯(lián)邦學(xué)習(xí)的相關(guān)概念。預(yù)計(jì)在將來(lái),聯(lián)邦學(xué)習(xí)將打破行業(yè)之間的壁壘,使數(shù)據(jù)和知識(shí)可以安全地共享,并根據(jù)每個(gè)參與者的貢獻(xiàn)公平地分配收益。聯(lián)邦學(xué)習(xí)的發(fā)展將會(huì)促進(jìn)人工智能應(yīng)用到我們生活的每個(gè)角落。