聯邦學習(Federated Learning)作為人工智慧的一個新分支,為機器學習的新時代打開了大門。JDD風控算法團隊將通過聯邦學習白話三部曲,為大家揭秘聯邦學習的前世今生。
本期為您解讀:
1. 聯邦學習為什麼這麼熱?
2. 聯邦學習能做什麼?
3. 三合一速成法則告訴你聯邦學習是什麼?
4. 「百萬富翁」帶你揭秘如何直觀理解隱私保護技術?
5. 聯邦學習會損害模型效果嗎?
如果投票問人工智慧和大數據應用領域有什麼好玩又好用的新技術,「聯邦學習」一定是排在前列的。這項技術由谷歌在2016年首次提出,從2018年8月開始在國內快速發展和普及,截至2020年2月,有公開資料可查的聯邦學習研究或應用單位已超過百家,阿里、微眾、京東、騰訊、華為、平安等各領域的頭部企業均在大力推進。身邊做技術和業務的朋友都在說:忽如一夜春風來,聯邦學習突然就在圈子裡傳播了,在聊天中不發表點聯邦學習的看法都不好意思。
第一個問題是,為什麼聯邦學習會突然冒出來、如此受歡迎呢?我們認為有以下幾個重要的觸發因素。
(1)在谷歌提出聯邦學習之前,歐盟就在探討移動網際網路的隱私數據保護問題,於2016年4月通過了《通用數據保護條例》,並於2018年5月強制實施,嚴格約束了個人隱私數據的收集、傳輸、保留和處理。才過半年,谷歌即被罰款5000萬歐元,因為其收集和使用用戶數據觸犯了該條例。在中國,數據保護的法規也在不斷完善。例如,全國信息安全標準委員會先後於2017年12月和2020年3月發布了兩版《信息安全技術個人信息安全規範》,對個人信息收集、儲存、使用作出了明確規定。大家應該還記得,在2019年10月份,幾乎每個APP都在更新用戶授權協議,令人不勝其煩,這就是因為相關法規趨嚴導致的。國內外隱私保護法規的不斷完善,使得移動網際網路的企業決策者不得不重新規劃未來的戰略方向。這是因為移動網際網路的生態價值在於其海量的用戶數據,如果數據不能用於生產,整個行業將受到巨大損失和挫折。
(2)中國特色的市場環境促進了基於移動網際網路的數字經濟爆發式的發展,通過改善人們生產生活體驗,數字經濟獲得快速增長並達到世界領先。例如,電商服務讓我們足不出戶買到生活物資,讓購物更便捷、更省時間,特別是解決了出門難人群的採購難題;網際網路金融實現了線上快速的風險評估和金融服務,解決了廣大民眾日常急用的借款需求;移動醫療使得遠程問診技術普惠大眾,讓患者可便捷地得到專家的指點,同時也極大地縮短了掛號、繳費等「排長隊」流程的時間;個性化資訊、短視頻、直播等新媒體內容極大地豐富了娛樂生活和社交,使得歡聲笑語越來越多了。2018年我國數字經濟總量達31萬億,GDP佔比達34.8%,數字經濟已成為帶動我國國民經濟發展的核心組成。數字經濟的關鍵在於數據和大數據分析技術。數據作為原料,大數據分析技術蒸餾出有價值的信息,進而幫助用戶更快地找到需要的商品和媒體服務、為優質用戶提供低息貸款、更準確的診斷疾病。在此次應對疫情的防控保衛戰中,大數據正發揮著越來越大的作用,在科技助力下,相關部門可以儘早發現疑似病患、密切接觸者,有助於及時隔離、切斷傳染源。然而,由於上述國內外數據隱私保護法規的推出,網際網路數據分散在不同企業或者終端形成「數據孤島」,不能直接共享或者交換,因此我們急需破解數據孤島的技術。
在數據隱私安全保護需求和破解數據孤島需求的背景下,聯邦學習應時而生。它能夠實現在不洩露隱私數據的情況下實現企業間的數據融合建模,成為解決上述問題的首選技術。如此實用的技術發展之迅速,普及之廣泛,不足為奇。
上面介紹了聯邦學習的現狀和用途,下面回答聯邦學習是什麼?與其他技術的區別在哪裡?
從技術角度看,聯邦學習是一種隱私保護的分布式機器學習技術,包括機器學習、分布式、隱私保護三個技術關鍵詞。對這三種技術的研究已有幾十年歷史,但直到近年來,它們在工業實踐中才做到真正結合併蓬勃發展。
第一個關鍵詞是機器學習,它是計算機從數據中尋找統計規律的過程,用於像人一樣解決不確定性問題,比如在不同光照條件下判斷出熟人及其名字(人臉識別)、依據對某人歷史行為的評估決定是否借錢給他(風控準入建模)以及借多少(授信額度建模)等等。人的學習過程是從書本、老師以及實踐探索中不斷積攢經驗,成為具有「智慧」的個體;機器學習與此略有不同,它的經驗來源於大量的數據,接受某個領域的數據便可成訓練成為該領域的「智能體」,例如,大量的人臉圖像可以訓練出人臉識別或身份認證系統。利用數據獲得經驗的過程稱之為建模;利用經驗對新數據做出估計或者預測的過程稱之為推理。
機器學習可解決數字經濟中的諸多問題,比如說克服因服務人員經歷不足或情緒不佳影響產生的偏見和歧視。這是因為在大數據時代,機器學習可獲得更加全面的數據和經驗,據此提升社會服務的公正性。機器學習無需人工幹預即可實現智能服務,因此還可以大幅提高生產效率。例如在618購物節中,京東智能客服7*24小時不間斷地為數億用戶解答疑問,這是傳統人工客服團隊不可能做到的。
第二關鍵詞是分布式,是指數據被分為若干份,各份數據的存儲和計算都分布在不同位置。其中,不同位置包括不同的用戶終端或者企業伺服器。像手機、平板電腦這樣的用戶終端已逐漸成為人們生活的必需品,被廣泛用於社交、獲取新聞資訊、記錄備忘、消遣消費等,其用戶日均使用時長達到5小時(2018年移動網際網路報告)。隨著使用時間的增加,用戶終端存儲了大量的隱私數據,包括朋友聊天記錄、瀏覽記錄、日程安排、照片視頻等。不誇張地說,這些數據從不同側面展示了一個「數位化的你」。
數位化的好處在於讓計算機更「懂你」,進而提供貼心的服務,例如推薦最想買的商品、找回遺忘的資料等。數位化的壞處在於隱私洩露,2019年央視3-15晚會就介紹了個人隱私信息通過手機App洩露的案例。因此,法規一般要求這些數據在非授權情況下只能存儲在用戶終端,或者授權情況下存儲在對應的企業伺服器,禁止洩露給第三方。在不傳輸隱私數據的前提下,分布式的機器學習可以使用存儲在不同終端或者企業的數據,例如谷歌的GBoard移動鍵盤團隊使用分布在150萬用戶終端的6億個句子提升了手機輸入法預測下一詞的準確性,這讓用戶可以快速輸入腦海中的字詞,也能聯想到新出現的流行詞、縮寫詞等。通過這種分布式的方法,我們可以讓用戶享受大數據帶來的良好體驗,同時又能避免隱私數據的傳輸。
第三個關鍵詞是隱私保護,它是防止惡意攻擊的盾牌。分布式的機器學習可以使用分布在不同終端或者企業的數據,雖然不會直接傳輸用戶隱私數據,但是黑客(惡意的聯邦成員)可以使用一些特殊的破解技術,利用建模階段所需的大量中間值,推算出對應的原始數據,進而竊取聯邦內的用戶隱私。
隱私保護技術的主要思想是對訓練過程的中間結果進⾏某種變換,以掩蓋原始數據或改變其數據特性,⽐如連續性、分布規律等,從⽽使得惡意聯邦成員的破解技術失效,同時還能保證誠實的聯邦成員依然可以從數據中學習到經驗。就相當於數據提供方將數據放入保險箱中進行傳輸,其他聯邦成員無法打開箱子看到真實數據,但卻可以在不解鎖的情況下,對保險箱中的數據完成訓練所需的操作;當訓練完成後,數據提供方再開箱取出計算結果即可。這種理想的功能需要我們使用特殊的技術進行實現,其中常⽤技術包括差分隱私、同態加密等。簡單來說,差分隱私對數據加上一定程度的隨機噪聲,例如將年齡從50改為46(-4)或者51(+1),這可使得某些破解技術失效;同態加密是將數據變換到另一個數域的技術,新數域的大小順序、分布都會發生變化,所以不可能被破解出原始數據。
因此,聯邦學習是機器學習、分布式、隱私保護三合一的交叉技術。與現有的分布式機器學習不同,聯邦學習主要受制於原始數據分布在不同位置的嚴格約束,不能有任何洩露原始數據的風險,隱私保護技術是防止洩露的關鍵。
這裡我們以「百萬富翁」設想為例,簡單直觀地說明隱私保護技術的需求和解決方案。這是個非常經典有名的案例,是由計算機界最有名的姚期智院士於1982年提出的數學難題。有意思的是,這個問題引發了更多的相關研究,並逐漸發展成為密碼學的一個重要分支。「百萬富翁問題」是這樣的:兩個爭強好勝的富翁A和B在街頭相遇,如何在不暴露各自財富的前提下比較出誰更富有?
這個問題的難點在於,兩個富翁都不想暴露自己的財富數量,既不想直接告訴對方也不願藉助第三方機構的幫助。如何直觀地解決這個問題?我們可以參考一種「變換」的方法。假設兩個富翁(A和B)的財富都在 10 B$(100億美元)以內,則我們可以簡單地用十個盒子比較出A和B誰的財富更多。
首先,由A進行如下操作:給盒子貼上編號,並按照財富值放入水果,放置規則如下:如果編號等於財富值的盒子放入橙子,編號小於財富值的盒子放入蘋果,編號大於財富值的盒子放入香蕉。假設A 的財富是3 B$,則放置結果如圖所示。
然後,A給所有盒子上相同的鎖(即要求開鎖的鑰匙是一樣的,依靠鑰匙不能辨別盒子的編號)。這裡將財富值「變換」為鎖在盒子裡的水果,本質是一個加密過程。
接下來A下場、B上場,B知道A的操作是編號、放水果、上鎖,但是不知道每個盒子裝了什麼水果。B要做的是選擇與自己財富對應的盒子去除編號,並銷毀其他盒子。這裡去除編號的目的在於讓A不知道B選擇了哪個盒子,從而避免洩露B的財富數量。
最後,A和B同時上場,由A開鎖打開剩下的無編號的盒子,這個盒子裡對應的水果就能推斷出誰更富有。這裡基於水果推測結果,本質是一種解密過程。假設B的資產是5 B$,則打開盒子獲得香蕉,表明B更富有;假設B的資產是2 B$,則獲得蘋果表明A更富有;假設B的資產是3 B$,則獲得橙子表明A和B的財富是差不多的。通過這幾個步驟,A和B都沒有向任何人洩露自己的財富數量,但成功實現比較,這就是一種隱私保護的比較計算技術。
也許有讀者會問,在這個解決方案中,B可以通過順次比較的方式,最多9次就能破解A的財富是多少了。確實如此,這主要是因為這裡只用到10個盒子,而我們可以通過增加盒子數量的方式增加破解的難度。在實際操作過程中,一般採用基於數論的密碼學技術,這種技術的破解難度非常大,即使用最先進的計算機可能也需要數百年才能破解。
在與其他團隊進行技術交流時,我們發現很多朋友對聯邦學習存在主觀偏見:聯邦學習的主要作用是合規地共享數據能力而不洩露用戶隱私,依據經驗和「沒有免費的午餐」定律,隱私保護會損害機器學習的模型效果(例如預測準確性或排序性)。事實正好相反,聯邦學習並不會損害模型效果,反而能夠從如下兩個方面提高業務模型的效果。
一方面,聯邦學習理論上是可以獲得最優解的,通過梯度下降迭代過程,可以實現聯邦間的特徵組合和交叉建模,從而解決如「異或」這樣的非線性問題,這等價於把數據拼到一起後進行機器學習的效果。異或問題如下表所示:
傳統的子模型法為了控制數據洩露的風險,往往只能帶少量樣本的標籤(Label)到其他企業建模,然後融合雙方子模型的輸出分獲得最終決策,這就如同盲人摸象每次只能看到一個側面,效果難以達到最佳。對於上述異或問題,子模型發現無論特徵(Feature)是「0」還是「1」,標籤分別是「Bad」和「Good」的比例都是差不多的,因此子模型的判斷準確率只有50%,這和扔硬幣方式的猜測差不多。相比之下,聯邦學習可以建立如下圖所示的決策樹模型,有效地解決異或問題的判斷,準確率從50% 提高到100%。
另一方面,聯邦學習由於能夠保護數據隱私安全,因此無需限制建模樣本的數量。也就是說,聯邦學習可以使用更多的數據建模,因而能夠基於大數據更有效地發現數據規律,提高模型效果。
上述兩個方面從理論上表明,聯邦建模效果優於傳統子模型法。在行業實踐的一個包含2家企業的聯邦POC驗證中,聯邦學習相比於單側模型的效果提升了13%,相比於傳統子模型法也有4%的提升。也許有人質疑4%的相對提升並不高,但是,移動網際網路市場環境表明,隨著拓新增量市場見頂,流量紅利耗盡,存量市場的競爭將變得異常激烈,對於存量市場的精細化運營成為企業賴以生存和發展的依靠,每一點提升都將具有重要意義。此外,這僅僅是2家企業聯邦的效果,隨著聯邦成員數量增加,聯邦模型具有更多、更互補的視角,效果將會獲得更大的提升。
參考文獻
[1] Andrew Hard et., al. Federated Learning for Mobile Keyboard Prediction, https://arxiv.org/abs/1811.03604
[2] Qiang Yang et., al. Federated Machine Learning: Concept and Applications. ACM TIST2019. https://arxiv.org/abs/1902.04885
[3] Federated Learning: Collaborative Machine Learning without Centralized Training. https://ai.googleblog.com/2017/04/federated-learning-collaborative.html
[4] Kewei Cheng, Qiang Yang et., al. SecureBoost: A Lossless Federated Learning Framework. https://arxiv.org/abs/1901.08755
[5] 劉洋, 範濤. 聯邦學習的研究與應用. https://img.fedai.org.cn/fedweb/1553845987342.pdf
[6] Tian Li et., al. Federated Learning: Challenges, Methods, and Future Directions. https://arxiv.org/abs/1908.07873
[7] 飛向未來的埃舍爾. 聯邦學習/聯盟學習的發展現狀及前景如何?https://www.zhihu.com/question/329518273/answer/717840293
在移動網際網路時代,基於大數據的智能技術讓我們的生活更便捷、娛樂更豐富、生產更高效,唯一不足在於潛在的隱私洩露。在隱私數據保護相關法規推動下,聯邦學習如雨後春筍般在各大企業快速成長,成為解決隱私數據保護和數據共享矛盾的關鍵技術。本篇從聯邦學習的基本組成、直觀認識和準確性詳細剖析了聯邦學習技術,後續我們將繼續與大家探討聯邦學習的應用前景、當前難點、技術原理和實施方案。
未完待續,敬請關注。