0
| 本文作者: 陳彩嫻 | 2020-09-01 16:43 | 專題:CCF-GAIR 2020 全球人工智能與機器人峰會 |

8月7日-8月9日,2020年全球人工智能和機器人峰會(簡稱“CCF-GAIR 2020”)在深圳如期舉辦!CCF-GAIR由中國計算機學會(CCF)主辦,香港中文大學(深圳)、雷鋒網聯合承辦,鵬城實驗室、深圳市人工智能與機器人研究院協(xié)辦,以“AI新基建 產業(yè)新機遇”為大會主題,致力打造國內人工智能和機器人領域規(guī)模最大、規(guī)格最高、跨界最廣的學術、工業(yè)和投資領域盛會。
8月9日下午,在「聯邦學習與大數據隱私專場」上,創(chuàng)新工場南京人工智能研究院執(zhí)行院長馮霽進行了題為「聯邦學習:下一代分布式AI協(xié)同合作范式」的演講。
以下是馮霽老師在大會的演講實錄,AI科技評論作了不修改原意的整理和編輯:
近幾年,聯邦學習技術帶來了非常好的潛在商業(yè)落地場景與創(chuàng)業(yè)機會,創(chuàng)新工場AI研究院也花了許多精力去探究與聯邦學習有關的商業(yè)落地以及現有的科研發(fā)展情況。
一、分布式計算
首先,我跟大家介紹一項與聯邦學習有關的技術:分布式計算。
大家不妨先想想,分布式計算是怎么來的?

以上圖所示自然語言處理模型的大小為例。最早的NLP模型大約有1200萬個參數,截止目前為止最新的GPT-3則有1750億個參數。不管是模型的大小還是訓練集的大小,都在以接近指數級別的方式在增長。這時候,如果一臺電腦沒有足夠大的容量處理海量數據,就需要使用分布式算法對數據進行并行處理。

假如你有超過30T的訓練數據,那么我們就把這30T的數據均等地劃分到100臺服務器上,這樣每臺服務器就只占30T的1%。應用分布式計算時,每一個子節(jié)點只擁有一部分的數據,每一個子的Worker(進程)在本地進行一次梯度計算(相當于把本地所有數據掃一遍),計算出梯度之后,將計算結果傳到中央服務器中,再由服務器把所有的梯度進行一遍更新。雷鋒網
分布式計算的特點是:這些數據只有單一擁有者,也就是說,我們看似把數據進行了某種程度上的劃分,但數據的歸屬者只有一個。分布式并行計算的主要目的是為了提升效率。雷鋒網
有人會問,在分布式計算中,數據是不是沒有出本地呢?確實是沒有出本地,但是在以下的任務中,它和聯邦學習的區(qū)別還是比較大的。
二、從分布式計算角度理解聯邦學習
聯邦學習剛被推出時就是分布式計算的一個變體。 
在之前的范式中,worker一般分布在比較大的集群里,所有worker由一個非常高效的網絡連接,worker與worker之間的通信效率非常高。但是在聯邦學習中,有很多任務基本無法承擔這種通信的代價。比如谷歌的手機輸入法(最早的聯邦學習應用)。每個人的手機可以看成是一個本地設備,如果每一次運算都要傳一個梯度的信息,那么手機與云端通信的效率是非常低下的。如果在這種AI計算中用傳統(tǒng)的分布式計算方式進行更新,效率會非常低下。

所以最早的聯邦學習的第一篇算法并沒有談到同態(tài)加密,也沒有談到其他加密算法,就只是用計算來換取通信的效率。傳統(tǒng)的分布式計算在每次進行計算時候,本地的計算節(jié)點會把所有的數據掃一遍,傳一遍梯度。最早的聯邦學習版本相當于是在本地讓模型盡可能收斂之后,再傳到中央服務器上,這樣就相當于是用計算來換通信,解決了To C端聯邦學習的目的。
剛才所提到的框架是分布式計算的升級版本,但仍然有許多不足。如果僅僅用計算換通信是沒有辦法解決一些現實問題的,比如:
1、多數據擁有者場景
當我們面臨一個擁有多數據owner(擁有者)的場景,很多家醫(yī)院想進行協(xié)同合作,這時候場景需要存在一個聯盟激勵。為什么用戶要加入這個聯邦學習系統(tǒng)中呢?這是傳統(tǒng)的分布式計算所未曾面臨的問題,因為數據的擁有者是單一的。此外,節(jié)點可能處于高度不穩(wěn)定的狀態(tài)。比如To C端的手機,有時候會掉線,有時候會沒電,有時候壓根沒有計算反應。其次,計算成本非常高,尤其是To C端。也許5G的到來會緩解成本高的問題,但與傳統(tǒng)的分布式機器學習相比,該場景的通信成本相對還是更高的。
2、數據隱私保護的要求更高
3、模型的魯棒性/攻防安全問題
4、數據非獨立同分布現象
以To C端為例,甲的手機上的圖像跟乙的手機上拍的圖像處于高度不平衡的狀態(tài)。比如說一個男生的手機上只拍了幾百張照片,一個女生的手機上可能有上萬張照片。除了照片的數量,照片內容也不一樣,女生可能更多是自拍或者人像,男生的照片內容則是其他。
三、研究展望
接下來分享的是我們認為在聯邦學習領域值得研究的學術問題。
1、攻擊防御
一個典型現象是:攻擊者監(jiān)聽了聯邦學習worker節(jié)點上中央服務器之間的信報,通過監(jiān)聽梯度/參數信息就可以猜出你的原始數據。這一塊已經有了較為成熟的解決方案,比如同態(tài)加密、MPC、TEE等技術。但我們認為當下這些解決方案并不是最完美的,還存在計算效率不足與部署不方便等等缺陷。 
上圖是我們去年所做的發(fā)表在NIPS上的毒化訓練,給數據下毒。數據下毒是一種非常獨特的攻擊方式。我們在訓練集上修改肉眼不可見的擾動。如果做了相應的修改,任何的分類器經受過下毒的訓練,當它看到干凈的測試樣板之后,基本上做出的決定都是錯誤的。
聯邦學習的特點是:如果我們只下毒了一個或者多個參與方,有可能把整個模型進行毒化,也就是說在libConfuse算法下,我們可以通過下毒的方式攻擊相關聯邦學習的參與方。

如何設計一些更為魯棒性的聯邦學習算法來抵御這些攻擊,是我們正在做的事情。
2、Non-I.I.D非獨立同分布
目前聯邦學習主要有三種應用:To C、To B和To G。尤其是在To C場景中,絕大多數情況下,聯邦學習的數據會隨著時間的變化而變化。也就是說,你在每一個時間點獲得的數據樣本并不是從獨立同分布中采樣出來的。在傳統(tǒng)機器學習中有一個核心的算法假設,即數據都是獨立同分布的。因此,在非獨立同分布的場景下,有很多經典的機器學習算法沒有辦法被成功應用。所以我們認為,非獨立同分布如何配合聯邦學習的框架是一個很重要的學術問題。
假如隨著時間的遷移,每一個聯邦學習的參與者所擁有的數據是不平穩(wěn)的。在這種情況下,集成學習能發(fā)揮很好的作用。給大家舉幾個論文的例子(如上圖所示)。第一篇研究是使用了對沖的方式來對沖掉非平穩(wěn)序列的風險。第二篇使用了模型重用的方式,因為分布隨著時間的變化而變化,這是可以利用模型重用的集成算法來調用之前的知識,進一步應對非平穩(wěn)概念的遷移。
四、研究方法
目前在聯邦學習或其他機器學習框架中,常見的一種算法是Gradient Boosting Machine(GBM)。
它是一類串行的計算方法,每一次訓練一個分類器,第二個分類器的訓練是基于第一次分類器的結果。這種模型(尤其是在表格的數據中)有非常優(yōu)秀的建模結果,但還是存在許多問題:
首先,因為它是一個串行訓練的過程,所以訓練成本大?;谶@個算法本身的性質,我們沒辦法將N個分類器同時并行訓練。其次,XGBoost很難適應隨著分布遷移而產生的跟時序數據有關的問題。最后,像XGBoost之類的算法因自身存在的弊端,難以處理高維的回歸任務。比如在GitHub的頁面上,不管是XGBoost還是LightGBM對高維的回歸問題都沒有很好的解決方案。 
為此,我們最近提出Soft Gradient Boosting Machine(軟梯度提升機): 
如果每一個基分類器都是可微的話,那么我們就把GBM的整個架構連接成一個可相關圖,然后分別注入本地和全局的損失(兩者恰好等于基分類器GBM中所對應的本地損失)。由于兩個系統(tǒng)是可微分的,我們就可以同時訓練所有分類器。第二個好處是,由于這樣的更新方式可以用SGD訓練,所以在適應streaming data(流數據)或在線的訓練中比傳統(tǒng)的串行的GBM有更好的模型性能體現。
上圖所示是相應的實驗結果。大家可以看到不管是在聯邦學習還是非分布式的場景下,SGB都比傳統(tǒng)的GBM/XGBoost與聯邦算法有更好的性能提升?!癋ederated Soft Gradient Boosting Machine for Streaming Data”是我們剛投出的一篇論文,其中我們結合GBM算法做了一個聯邦的版本。
Federated Ensemble Learning是一個非常值得研究的方向,有助于解決聯邦學習所面臨的大部分場景里的問題:非平穩(wěn)性和非獨立同分布性。因此,集成算法是我們目前主要研究的課題之一。
3、去中心化網絡拓撲結構的聯邦學習架構
目前大家所接觸的大部分聯邦學習的框架、架構、開源代碼基本上都有一個中央服務器(如下圖所示),中央服務器會跟每一個局部的參與者進行通信。這個通信可以是加密的,也可以不加密,這取決于你對聯邦學習場景里的隱私需求。
在分布式計算的場景下,我們也可以設計一個完全去中心化的網絡拓撲結構(如下圖所示)。
這就像楊強老師所說的:羊只能去鄰居家吃草。在上圖所示的全新架構里,只有相鄰的節(jié)點之間才能交換梯度信息。如果兩個節(jié)點之間沒有一條邊連著,那么就不可以進行通信。
從機器學習的角度來看,如果通過去中心化的網絡拓撲結構來做相應的隨機梯度下降,它能不能收斂?這取決于網絡連接的強度。如果連接得非常稠密,它就會收斂得跟中心化的一樣好。
基于這個理論保證,我們是否可以去設計一個去中心化的聯邦學習架構,并將這個架構與其他一些目前比較火的技術進一步結合?
4、聯盟動機的經濟學分析
這是聯邦學習框架區(qū)別于其他機器學習模型的地方,其中涉及到激勵機制的分析。
五、總結
綜上,我們認為聯邦學習是一類重要的新型分布式人工智能協(xié)同合作平臺,其未來潛在的研究方向包括:
1、模型安全方面的對抗攻防,比如數據下毒等等。
2、數據隱私的保護機制,比如設計除了同態(tài)加密和多方安全計算之外的隱私保護機制,以更好保護本地數據。
3、在聯邦學習框架下設計能夠適應非獨立同分布的更好的算法。我們認為聯邦集成學習也許是解決的方向之一。
4、設計新型的網絡拓撲架構,比如是否存在一個更加高效的去中心化的聯邦學習架構。
5、聯邦學習的經濟學機制。
Q&A
提問:針對非獨立同分布的情況,可不可以用語言信息來解決這個場景?
馮霽:這是兩個范疇的知識。我認為是可以的,相當于用Mind Learning的方式去尋找一個能夠適應復雜環(huán)境的更好的算法。我不用一個現有的算法去適應非獨立同分布的問題,而是設計出一個算法去學習適應這個環(huán)境。我覺得這應該是能夠起作用的方向。
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。
本專題其他文章