【問答集錦】聯邦學習讓隱私保護和海量數據學習兼得!

  • 2020 年 12 月 16 日
  • AI

2020騰訊廣告演算法大賽專題直播周是由騰訊廣告打造的一檔大咖直播活動,特邀2020騰訊廣告演算法大賽的專家評委,針對聯邦學習、機器學習、大數據等前沿領域的核心話題進行分享,並為演算法愛好者們答疑解惑。我們特此將本次直播周的三期內容提煉成問答集錦,幫助演算法愛好者們快速了解直播乾貨,學習演算法知識,加深對前沿技術與應用的全面理解。

直播背景

直播嘉賓

楊強

微眾銀行首席AI官、香港科技大學講席教授、第四範式聯合創始人

黃安埠

微眾銀行資深人工智慧演算法專家

直播主題

《聯邦廣告與推薦:數字營銷的新方向》

直播內容

分享關於「聯邦學習」(Federated Learning)的相關研究,以及如何結合廣告推薦技術實現在保護用戶隱私和各參與方商業秘密的同時打破數據孤島,有效提升營銷效果。


互聯網時代下的廣告營銷,數據是必不可少的「原料」,但在隱私數據保護的考慮以及監管要求下,分散在不同企業的數據由於不能集中綜合利用,使模型完善止步不前。面對這樣的問題,聯邦學習提供了理想的解決方案——在保證數據不泄露的前提下讓企業用更多的數據訓練模型,幫助業務發展。

在這期直播中,楊強黃安埠兩位老師共同從定義原理、應用案例、隱私安全等多個方面,由淺入深地講解了聯邦學習如何在營銷中釋能,讓保護用戶隱私和打破數據孤島二者兼得,有效提升營銷效果。

01 定義與技術背景

Q:聯邦學習是什麼?

A:在數據驅動的業務模式中,數據越多,模型表現就會越好。不同的企業、機構會各自收集數據、訓練模型,他們都希望可以用更多的數據,訓練自己的模型,但這些數據是無法直接共享的,只能在每個企業、機構內部使用,形成一個個「數據孤島」。聯邦學習就可以在數據保密的前提下,讓參與成員的數據都參與訓練,打破了「數據孤島」,讓每個成員都獲得用全部數據訓練模型的效果。

Q:哪些情境必須藉助聯邦學習?

A:當用戶隱私數據必須嚴格保護、不可以離開本地,又想使用這些數據訓練模型則需藉助聯邦學習。

02 典型案例與實現

Q:聯邦學習有哪些典型的模式?

A:聯邦學習可以是橫向的。比如幾家醫院都提供醫療服務,但是服務的用戶不同,從而產生維度相同、用戶不同的數據。

也可以是縱向的。比如社交平台推薦廣告、用戶點擊廣告後跳轉到電商平台完成購買,同一批用戶的瀏覽行為數據在社交平台企業里,個人身份資訊在電商平台企業里,產生維度不同、用戶相同的數據。在這兩種情況里,企業之間出於隱私保護和商業機密的考慮都不可以直接共享數據,聯邦學習可以幫助他們安全地利用全部的數據訓練模型,幫醫院更好地理解病人和病情,以及幫社交平台推薦更精準的廣告。

Q:聯邦學習的過程具體是怎樣的?和傳統的學習的區別是什麼?

A:在傳統的人工智慧模型訓練中,不論是影像模型、廣告模型還是自然語言處理模型,都需要先把來自不同終端設備的數據全都集中到數據中心,然後整理、清理後,用這些數據訓練出一個模型來。如果不允許數據離開設備,傳統的訓練模式就完全沒法進行。

聯邦學習中的典型做法是,每一方或者每個終端都根據自己本地的數據,計算訓練過程所需的中間數據(梯度),並在第三方伺服器的協調下分成若干個批次交換結果、更新模型,最終每一方或者每個終端上的模型都有用全部數據訓練的效果,但數據其實從未離開本地。

在某些情況下,不同終端的計算能力不一樣,比如一方是計算能力強的雲伺服器,一方是計算能力弱的手機、IoT設備,聯邦學習也有對應的訓練方案設計。

Q:聯邦學習和分散式學習的異同在哪裡?

A:橫向聯邦學習,也就是每一方提供的數據維度相同、越多的參與方就提供了越多的數據,這種情境確實和分散式學習比較像。不同點在於,分散式學習通常是在某家公司或者某個集群內部,每個節點的硬體、網路、數據量各方面情況是類似的,數據也是允許在不同節點間流轉調配的;但聯邦學習的不同成員之間情況可能大相徑庭,而且數據不可以從一個成員傳輸到另一個成員。所以,計算性能不同、網路情況不同、數據量不同等等實際情況的不同是一個需要解決的重要問題,聯邦學習就有很多對應的方案設計。

03 隱私與安全

Q:媒體平台、社交平台收集了很多用戶數據,也會和商家合作推薦廣告。那麼這些用戶數據會在合作中泄露嗎?

A:首先,用戶數據是每個企業的重要商業機密,不會互相分享數據。同時,企業也會受到相關法律法規約束,不可以交換或者售賣用戶數據。比如廣告平台有用戶的瀏覽和點擊行為數據,購物平台有同一批用戶的購買記錄和真實身份資訊,但平台之間是不會有數據流通的。

不過,不同的平台之間確實也希望能夠通過合作、通過更多的數據來優化各自的演算法。聯邦學習就是在數據不流通的前提下的一個很好的解決方案,具體來說使用的是縱向聯邦學習。在學習過程中,不同平台之間只傳輸模型參數,而且會通過差分隱私的方法確保無法從模型參數中反向算出原始用戶數據。最終,用戶數據完全安全、沒有傳輸或者泄露,但不同的平台都獲得了更好的演算法。

Q:聯邦學習是通過密碼學方法保護數據的嗎?使用聯邦學習需要首先學習密碼學知識嗎?

A:聯邦學習在安全方面採用了密碼學方法在內的多種方案,針對不同的模型大小和計算性能可以選擇同態加密、半同態加密、差分隱私、安全多方等多種保護方法,對訓練數據、訓練過程中的參數和模型都可以起到保護。聯邦學習的演算法框架和加密方法都一起開發和打包在了開源項目FATE中,可以直接調用,不需要專門學習密碼學知識。

Q:如果多方共同進行聯邦學習,其中有一方有惡意行為,比如上傳性能不好的模型,可能導致其它方的學習效果變差。這種情況有辦法應對嗎?

A:應對方法有很多種。最普遍的做法是做異常檢測,每一個參與方把本地的模型上傳到第三方的協調伺服器之後,並不會馬上在伺服器做聚合,而是首先對每方上傳的模型做評估,如果有些模型特別差的話就會丟掉。在聯邦學習的方案設計中就有這方面的考慮,為了保證訓練效果,並不會在每一輪的訓練中都選取所有模型參與到迭代更新中。而且,如果監控到某一方的模型連續兩次效果都非常差的話,在後續訓練中也不會再選取來自這一方的模型參與迭代更新了。


常見問題

Q:聯邦學習訓練中,如果有一方的數據量特別大、模型也很優秀,那麼他參與聯邦學習後的提升是不是就不如別人明顯?那麼他還會願意參與聯邦學習嗎?

A:這樣的情況確實是會存在的。在訓練的時候每個參與方之間的數據分布並不一樣,模型效果也會不一樣。所以聯邦學習的方案中也會有一種激勵方案,自己的數據和模型帶來的貢獻比較多的一方會受到更多的激勵,讓他有動力持續參與。

Q:在聯邦學習的訓練中,數據的標籤也需要加密,這個加密是怎麼實現的?

A:標籤加密使用的是半同態加密演算法。

Q:在聯邦學習的訓練中既然要用到同態、半同態加密,那麼是不是效率會降低?對硬體是不是有更高的要求?

A:這個一定程度上取決於模型的大小。一般來說,同態加密或者半同態加密的性能相比明文會有一定下降。因此,如果這個模型並不是很複雜、參數比較少的話,同態加密是一個比較穩妥的方案,雖然有性能損失,但安全性最高。

如果模型比較大,我們可以結合其它的安全方案,比如差分隱私和安全多方。差分的隱私本質是在原始數據上增加拉普拉斯雜訊。它的效率沒有明顯區別,但也能提升數據的安全性,讓數據更難泄露。這時候會有個權衡,就是差分隱私不能完全保證數據不被泄漏,但是它能有效提高效率。在實際使用中,我們會根據模型大小,在效率、安全性、模型的準確度之間做一個平衡。

Q:假設把聯邦學習中分散在每個成員的數據全部集中到一起,像傳統方法那樣訓練一個模型,效果會有什麼差異嗎?

A:集中式訓練與聯邦訓練已經被證明,在獨立同分布(iid)的狀態下,他們的性能之差在一個很小的範圍內;而在非獨立同分布狀態下,他們的效果視數據間的差異情況,會產生不一樣的結果,具體可以參考《聯邦學習》書籍的詳細分析。


還想了解更多精彩內容?點擊直播鏈接,即可觀看《聯邦廣告與推薦:數字營銷的新方向》直播回放。未來將會有更多2020騰訊廣告演算法大賽專題直播周問答集錦放送,敬請期待!