Google披露移動(dòng)設(shè)備鍵盤Gboard,所使用的新聯(lián)合學(xué)習(xí)(Federated Learning)技術(shù),這項(xiàng)技術(shù)被Google稱為聯(lián)合重建(Federated Reconstruction),目標(biāo)是要大規(guī)模進(jìn)行部分本地聯(lián)合學(xué)習(xí),使得在訓(xùn)練模型時(shí),讓部分模型參數(shù)永遠(yuǎn)不會(huì)在服務(wù)器聚合。
Google提到,在矩陣分解(Matrix Factorization)用例,他們推薦使用聯(lián)合重建,因?yàn)榭梢詫⒂脩舻那度氡A粼谟脩舻脑O(shè)備本地端,也就是說,在訓(xùn)練模型時(shí),針對(duì)每個(gè)用戶完全個(gè)性化,但是又能避免這些參數(shù)交流。Google將這項(xiàng)聯(lián)合學(xué)習(xí)技術(shù)部署到Gboard中,提供數(shù)億鍵盤用戶更好的推薦結(jié)果。
聯(lián)合學(xué)習(xí)技術(shù)讓用戶能夠在不將原始資料發(fā)送到中央服務(wù)器的情況下訓(xùn)練模型,進(jìn)而避免隱私敏感資料被收集。傳統(tǒng)聯(lián)合學(xué)習(xí)技術(shù),通常所有用戶擁有單一全局模型,像是行動(dòng)鍵盤應(yīng)用程序的用戶,會(huì)共同訓(xùn)練建議模型,但因?yàn)槊總€(gè)人對(duì)建議有不同的偏好,這種差異驅(qū)使全局模型可針對(duì)每個(gè)用戶進(jìn)行個(gè)性化。
但研究人員解釋,在特定情況下,因?yàn)殡[私的考量,可能無法訓(xùn)練全局模型,像是推薦系統(tǒng)的矩陣分解模型,要訓(xùn)練一個(gè)完全全局模型的聯(lián)合模型,將會(huì)需要發(fā)送用戶嵌入更新到中央服務(wù)器,而這個(gè)動(dòng)作可能會(huì)披露嵌入中用戶的喜好,而且即便模型沒有用戶特有的嵌入,將部分參數(shù)完全留在用戶設(shè)備上,也能夠減少服務(wù)器和客戶端的通信,并且負(fù)責(zé)任地替每個(gè)用戶個(gè)性化這些參數(shù)。
過去部分本地端聯(lián)合學(xué)習(xí)方法使用有狀態(tài)算法,這會(huì)需要用戶的設(shè)備存儲(chǔ)多輪聯(lián)合訓(xùn)練的狀態(tài),也就是說,這些方法需要設(shè)備跨輪存儲(chǔ)本地參數(shù)。在大規(guī)模聯(lián)合學(xué)習(xí)環(huán)境中,這些算法往往不夠?qū)嵱?,因?yàn)榇蠖鄶?shù)用戶不參與訓(xùn)練,而參加的用戶可能僅參與一次,導(dǎo)致狀態(tài)很少可用,或是在數(shù)輪之后狀態(tài)過于陳舊,此外,不參與的用戶都沒有經(jīng)過訓(xùn)練的本地端參數(shù),也就阻礙了實(shí)際應(yīng)用。
而聯(lián)合重建技術(shù)是無狀態(tài)的,用戶設(shè)備不需要存儲(chǔ)本地端參數(shù),當(dāng)用戶參與訓(xùn)練時(shí),在更新任何全局模型參數(shù)之前,會(huì)在全局參數(shù)凍結(jié)的情況下,在本地端參數(shù)上使用梯度下降法,隨機(jī)初始化和訓(xùn)練本地端參數(shù),接著便可以在本地端參數(shù)凍結(jié)的情況,計(jì)算全局參數(shù)更新。聯(lián)合重建方法不假設(shè)用戶具有前幾輪的訓(xùn)練狀態(tài),如此便能實(shí)現(xiàn)大規(guī)模訓(xùn)練,并且不斷重建本地端參數(shù),避免參數(shù)過時(shí)。
Google為了驗(yàn)證聯(lián)合重建在大規(guī)模用例的實(shí)用性,便將算法部署到擁有數(shù)億用戶的Gboard中。Gboard用戶使用GIF和表情符號(hào)與其他人交流,而用戶對(duì)于這些情緒表達(dá)有高度的差異,因此剛好非常適合使用矩陣分解,來預(yù)測(cè)用戶想要分享的情緒表達(dá)。
Google在用戶情緒表達(dá)歸類上使用聯(lián)合重建,訓(xùn)練了矩陣分解模型,將用戶嵌入留存在每個(gè)Gboard用戶的本地端,然后部署使用該模型,研究發(fā)現(xiàn)表達(dá)推薦的點(diǎn)擊率大幅增加29.3%。