1 聯(lián)邦學(xué)習(xí)提出的背景
在大多數(shù)情況下,數(shù)據(jù)分散的保存在各個(gè)企業(yè)手中,而各個(gè)企業(yè)希望在不公開自己數(shù)據(jù)的情況下,聯(lián)合其他企業(yè)(利用各個(gè)企業(yè)所持有的數(shù)據(jù))一起訓(xùn)練一個(gè)模型,該模型能夠幫助企業(yè)獲取更大的利益。
對(duì)于收集零散的數(shù)據(jù),傳統(tǒng)的方法是通過搭建一個(gè)數(shù)據(jù)中心,在數(shù)據(jù)中心對(duì)模型進(jìn)行訓(xùn)練,但隨著越來越多的法律限制加上數(shù)據(jù)擁有者不愿意透露自己的數(shù)據(jù),這種方法已經(jīng)漸漸行不通了。
2 聯(lián)邦學(xué)習(xí)的介紹
定義:聯(lián)邦學(xué)習(xí)(federated learning),全稱聯(lián)邦機(jī)器學(xué)習(xí)(federated machine learning),為了解決聯(lián)合訓(xùn)練模型時(shí)的隱私問題,提出的一種方法:讓各個(gè)企業(yè)自己進(jìn)行模型的訓(xùn)練,各個(gè)企業(yè)在完成模型的訓(xùn)練之后,將各自模型的參數(shù)上傳至一個(gè)中心服務(wù)器(也可以是點(diǎn)對(duì)點(diǎn)),中心服務(wù)器結(jié)合各個(gè)企業(yè)的參數(shù)(可以上傳梯度,也可以是自己更新后的參數(shù)),重新擬定新的參數(shù)(例如通過加權(quán)平均,這一步叫做聯(lián)邦聚合),將新的參數(shù)下發(fā)至各個(gè)企業(yè),企業(yè)將新參數(shù)部署到模型上,從而繼續(xù)新的訓(xùn)練,這個(gè)過程可以進(jìn)行反復(fù)的迭代,直到模型收斂,或者滿足其他的條件。
使用聯(lián)邦學(xué)習(xí)模型的效果會(huì)比直接將數(shù)據(jù)集中起來進(jìn)行訓(xùn)練要差,這樣的效果損失(但實(shí)際情況下可能并沒有損失,數(shù)據(jù)丟失可能類似于做了正則,效果可能反而會(huì)提升)換取了隱私的保護(hù),是可以接受的。
3 聯(lián)邦學(xué)習(xí)的分類
為了更好的理解聯(lián)邦學(xué)習(xí)的分類,首先對(duì)數(shù)據(jù)進(jìn)行定義:
各個(gè)企業(yè)擁有的數(shù)據(jù)可以看成是一張表格,表格的每一行是一個(gè)帶有多個(gè)特征(features)以及標(biāo)簽(label)的樣本,每一列是一個(gè)特征或者標(biāo)簽,例如下圖可以是某企業(yè)整理的各地房?jī)r(jià)數(shù)據(jù):
橫向聯(lián)邦學(xué)習(xí)、縱向聯(lián)邦學(xué)習(xí)、聯(lián)邦遷移學(xué)習(xí)分類的依據(jù)是各個(gè)參與方數(shù)據(jù)相似情況,而聯(lián)邦強(qiáng)化學(xué)習(xí)的重點(diǎn)是基于各方環(huán)境進(jìn)行決策(take action)。
3.1 橫向聯(lián)邦學(xué)習(xí)
橫向聯(lián)邦學(xué)習(xí)(Horizontal Federated Learning)指的是各方擁有的數(shù)據(jù)的特征(features)是基本一致的也都擁有各自的標(biāo)簽(label),如果將各方的數(shù)據(jù)集中成一個(gè)中心體,各方擁有的則是中心體的不同樣本(橫向指的是對(duì)中心體進(jìn)行橫向劃分)。
橫向聯(lián)邦學(xué)習(xí)(帶有中心服務(wù)器)的過程可以概括為下圖:
3.2 縱向聯(lián)邦學(xué)習(xí)
縱向聯(lián)邦學(xué)習(xí)(Vertical Federated Learning)指的是各方擁有的數(shù)據(jù)有著很多不同的特征,但是可能會(huì)有許多相同的樣本個(gè)體(例如同一個(gè)人在銀行和保險(xiǎn)公司的信息),同樣將數(shù)據(jù)集中成一個(gè)中心體的話,各方擁有的是樣本的不同屬性(縱向指的是對(duì)中心體進(jìn)行縱向劃分。
縱向聯(lián)邦學(xué)習(xí)實(shí)際上只有一方擁有標(biāo)簽,通過縱向聯(lián)邦學(xué)習(xí)對(duì)相交數(shù)據(jù)進(jìn)行訓(xùn)練。
縱向聯(lián)邦學(xué)習(xí)的過程要稍微復(fù)雜一些,首先需要進(jìn)行的是數(shù)據(jù)的對(duì)齊,由于不能泄漏數(shù)據(jù),是將加密后的數(shù)據(jù)進(jìn)行對(duì)齊,如下圖所示:
對(duì)齊后的數(shù)據(jù)大致如下(對(duì)其操作只會(huì)獲取兩個(gè)數(shù)據(jù)中相交的樣本,下圖中即U1和U2:
由于只有一方擁有標(biāo)簽,但是雙方(以兩個(gè)參與方為例)進(jìn)行了預(yù)測(cè),這里將損失函數(shù)重新定義:
L
=
1
2
∑
(
y
A
(
i
)
+
y
B
(
i
)
?
y
)
2
L=\frac 1 2 \sum(y_A^{(i)}+y_B^{(i)}-y)^2
L=21?∑(yA(i)?+yB(i)??y)2
而各個(gè)模型擁有的參數(shù)只有自己涉及特征的參數(shù),以上面的例子為例,也就是:
y
A
(
U
1
)
=
w
3
X
3
+
w
4
X
4
+
w
5
X
5
y
B
(
U
1
)
=
w
1
X
1
+
w
2
X
2
\begin{aligned} &y_A^{(U_1)} = w_3X_3+w_4X_4+w_5X_5\\ &y_B^{(U_1)} = w_1X_1+w_2X_2 \end{aligned}
?yA(U1?)?=w3?X3?+w4?X4?+w5?X5?yB(U1?)?=w1?X1?+w2?X2??
這里只是簡(jiǎn)單舉例,實(shí)際上是以矩陣的形式進(jìn)行,同時(shí)會(huì)包含多個(gè)隱藏層。
這也就表示不管是在訓(xùn)練還是在預(yù)測(cè)的時(shí)候,都需要參與方進(jìn)行協(xié)調(diào),進(jìn)行數(shù)據(jù)的交換(參與方需要各自計(jì)算自己的預(yù)測(cè)值與梯度將結(jié)果發(fā)送給中心服務(wù)器進(jìn)行聚合)。
3.3 聯(lián)邦遷移學(xué)習(xí)
聯(lián)邦遷移學(xué)習(xí)(Federated Transfer Learning)指的是,參與方數(shù)據(jù)的重疊很少的情況(產(chǎn)生數(shù)據(jù)的人不同,數(shù)據(jù)的特征也大不相同),將數(shù)據(jù)題整合成中心體的話,會(huì)有大量的位置是空白信息,而各個(gè)參與方近似擁有的中心體的獨(dú)立劃分。
我們定義如下參數(shù):
- ? \phi ?:分類函數(shù),作用于 u i B u_i^B uiB?;
- D c D_c Dc?:圖中紅色方框;
- D A B D_{AB} DAB?:圖中藍(lán)色方框。
聯(lián)邦遷移學(xué)習(xí)中只有一方擁有標(biāo)簽,通過聯(lián)邦遷移學(xué)習(xí)可以利用相交的數(shù)據(jù)給沒有標(biāo)簽的一方數(shù)據(jù)打上標(biāo)簽。
一個(gè)簡(jiǎn)單的模型如下圖所示:
模型的損失函數(shù)(不考慮正則):
L
=
L
1
+
γ
L
2
L
1
=
∑
i
N
c
l
o
g
(
1
+
e
?
y
i
?
(
u
i
B
)
)
L
2
=
∑
i
N
A
B
∣
∣
u
i
A
?
u
i
B
∣
∣
F
2
\begin{aligned} &L=L_1+\gamma L_2\\ &L_1=\sum_i^{N_c}log(1+e^{-y_i\phi(u_i^B)})\\ &L_2=\sum_i^{N_{AB}}||u_i^A-u_i^B||^2_F \end{aligned}
?L=L1?+γL2?L1?=i∑Nc??log(1+e?yi??(uiB?))L2?=i∑NAB??∣∣uiA??uiB?∣∣F2??
上面的公式表表名我們希望最小化兩部分(以二分類問題為例標(biāo)簽取值為-1和1):
- L 1 L_1 L1?:代表與真實(shí)標(biāo)簽的接近程度,當(dāng) y i = 1 y_i=1 yi?=1時(shí)要是上式最小 ? ( u i B ) \phi(u_i^B) ?(uiB?)應(yīng)該盡可能接近 1 1 1,當(dāng) y i = ? 1 y_i=-1 yi?=?1時(shí)則應(yīng)該盡可能接近 ? 1 -1 ?1;
- L 2 L_2 L2?:代表兩個(gè)模型representation的相似程度,應(yīng)為訓(xùn)練兩個(gè)模型的訓(xùn)練數(shù)標(biāo)簽是相同的,所以我們希望兩個(gè)特征表示(representation)盡可能相似。
3.4 聯(lián)邦強(qiáng)化學(xué)習(xí)
聯(lián)邦強(qiáng)化學(xué)習(xí)(Federated Reinforcement Learning)指的是將強(qiáng)化學(xué)習(xí)與聯(lián)邦學(xué)習(xí)進(jìn)行結(jié)合,聯(lián)幫強(qiáng)化學(xué)習(xí)分為縱向和橫向兩種,定義與之前類似,橫向聯(lián)邦強(qiáng)化學(xué)習(xí)(Horizontal Federated Reinforcement Learning)的簡(jiǎn)單模型如下:
上圖中,各自參與方根據(jù)自己的環(huán)境進(jìn)行訓(xùn)練,訓(xùn)練出來的模型上傳到中央服務(wù)器進(jìn)行聚合后,服務(wù)器再下發(fā)模型繼續(xù)進(jìn)行訓(xùn)練。
縱向聯(lián)邦強(qiáng)化學(xué)習(xí)(Vertical Federated Reinforcement Learning)的簡(jiǎn)單模型如下(圖中的虛線表示可以不存在):
在上圖的過程與橫向聯(lián)邦強(qiáng)化學(xué)習(xí)的過程類似。
4 聯(lián)邦學(xué)習(xí)與分布式機(jī)器學(xué)習(xí)
個(gè)人認(rèn)為聯(lián)邦學(xué)習(xí)實(shí)際上是分布式機(jī)器學(xué)習(xí)的一種變體(variant),傳統(tǒng)的分布式機(jī)器學(xué)習(xí)(也叫面向拓展的分布式機(jī)器學(xué)習(xí))關(guān)注的是在硬件資源不夠的情況下,如何利用分布式集群對(duì)一個(gè)龐大的模型進(jìn)行訓(xùn)練,而聯(lián)邦學(xué)習(xí)是,數(shù)據(jù)本身就在各個(gè)節(jié)點(diǎn)上,但是由于隱私保護(hù)的原因不得不采用類似分布式學(xué)習(xí)的方法進(jìn)行學(xué)習(xí)(這樣看來傳統(tǒng)的分布式機(jī)器學(xué)習(xí)效果是要好于聯(lián)邦學(xué)習(xí)的,因?yàn)閭鹘y(tǒng)的分布式學(xué)習(xí)是擁有所有數(shù)據(jù)的)。而之后提出的面向隱私保護(hù)的分布式機(jī)器學(xué)習(xí),就有點(diǎn)像聯(lián)邦學(xué)習(xí)的雛形了。面向隱私保護(hù)的分布式機(jī)器學(xué)習(xí)是指參與方擁有相同數(shù)據(jù)的不同特征,希望在隱私保護(hù)的前提下訓(xùn)練出一個(gè)模型(可以看到非常想縱向聯(lián)邦學(xué)習(xí))。后面的聯(lián)邦學(xué)習(xí)對(duì)面向隱私保護(hù)的分布式學(xué)習(xí)進(jìn)行了拓展。
二者的韋恩圖大致如下:文章來源:http://www.zghlxwxcb.cn/news/detail-414725.html
5 REFERENCE
《聯(lián)邦學(xué)習(xí)》 楊強(qiáng)等人著文章來源地址http://www.zghlxwxcb.cn/news/detail-414725.html
到了這里,關(guān)于聯(lián)邦學(xué)習(xí)是什么?聯(lián)邦學(xué)習(xí)簡(jiǎn)介的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!