1
本文作者: AI研習(xí)社 | 2019-12-18 13:42 |
雷鋒網(wǎng)AI開發(fā)者按,2019年12月8日至12月14日,微眾銀行首席人工智能官楊強(qiáng)教授受邀參加于加拿大溫哥華舉辦的人工智能和機(jī)器學(xué)習(xí)領(lǐng)域的國(guó)際頂級(jí)會(huì)議:神經(jīng)信息處理系統(tǒng)大會(huì)(Conference and Workshop on Neural Information Processing Systems,簡(jiǎn)稱NeurIPS)。在微眾銀行聯(lián)合谷歌、卡內(nèi)基梅隆大學(xué)舉辦的聯(lián)邦學(xué)習(xí)國(guó)際研討會(huì)上,楊強(qiáng)教授以《Federated Recommendation》為主題,分享了微眾銀行首創(chuàng)的聯(lián)邦推薦技術(shù)的最新研究成果和落地應(yīng)用。
圖:微眾銀行首席人工智能官楊強(qiáng)教授發(fā)表演講
推薦系統(tǒng)應(yīng)用廣泛,已經(jīng)滲透到人們生活各個(gè)方面,例如新聞推薦、視頻推薦、商品推薦等。為了實(shí)現(xiàn)精準(zhǔn)的推薦效果,推薦系統(tǒng)會(huì)收集海量用戶和所推薦內(nèi)容的數(shù)據(jù),一般而言,收集的數(shù)據(jù)越多,對(duì)用戶和推薦內(nèi)容的了解就越全面和深入,推薦效果越精準(zhǔn)。
在現(xiàn)實(shí)場(chǎng)景中,隨著用戶數(shù)據(jù)安全和隱私保護(hù)相關(guān)政策相繼出臺(tái)和日益完善,這些數(shù)據(jù)通常為保護(hù)用戶數(shù)據(jù)隱私而以“數(shù)據(jù)孤島”的形式分散在不同的機(jī)構(gòu)。因此在“數(shù)據(jù)孤島”與“隱私保護(hù)”的現(xiàn)實(shí)問題中,在合理合法的前提下使用數(shù)據(jù)持續(xù)優(yōu)化效果提供優(yōu)質(zhì)服務(wù),是當(dāng)前推薦系統(tǒng)所面的巨大挑戰(zhàn)和首要任務(wù)。
FATE:首個(gè)支持聯(lián)邦學(xué)習(xí)架構(gòu)體系的工業(yè)級(jí)聯(lián)邦學(xué)習(xí)開源框架
微眾銀行在“數(shù)據(jù)孤島”和“隱私保護(hù)”問題上,是業(yè)界的引領(lǐng)者,它提出的聯(lián)邦學(xué)習(xí)解決方案能夠讓多個(gè)機(jī)構(gòu)同時(shí)協(xié)作,通過交換加密的模型參數(shù)進(jìn)行綜合訓(xùn)練持續(xù)優(yōu)化模型,以合理合法的方式跨越數(shù)據(jù)鴻溝,解決“數(shù)據(jù)孤島”的問題。微眾銀行開發(fā)的工業(yè)級(jí)的聯(lián)邦學(xué)習(xí)開源框架--FATE(Federated AI Technology Enabler,https://www.fedai.org),作為聯(lián)邦學(xué)習(xí)全球首個(gè)工業(yè)級(jí)開源框架,支持聯(lián)邦學(xué)習(xí)架構(gòu)體系,為機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、遷移學(xué)習(xí)提供了高性能聯(lián)邦學(xué)習(xí)機(jī)制,F(xiàn)ATE本身還支持多種多方安全計(jì)算協(xié)議,如同態(tài)加密、秘密共享、哈希散列等,具有友好的跨域交互信息管理方案。
聯(lián)邦推薦:微眾銀行首次將聯(lián)邦學(xué)習(xí)應(yīng)用于推薦場(chǎng)景
推薦系統(tǒng)中算法的目標(biāo)是挖掘用戶和內(nèi)容、商品之間的聯(lián)系,根據(jù)問題的特點(diǎn),微眾銀行將聯(lián)邦推薦算法總結(jié)成三類,如下圖所示,包括橫向聯(lián)邦推薦算法(也可稱為基于商品的聯(lián)邦推薦)、縱向聯(lián)邦推薦算法(也可稱為基于用戶的聯(lián)邦推薦)和遷移聯(lián)邦推薦。
圖:聯(lián)邦推薦算法分類
縱向聯(lián)邦推薦(即基于用戶的聯(lián)邦推薦)主要解決參與方(機(jī)構(gòu))擁有大量相同的用戶但是不同的商品或用戶特征時(shí)如何協(xié)作構(gòu)建推薦系統(tǒng)的問題,例如新聞推薦服務(wù)商和視頻推薦服務(wù)商的聯(lián)邦,或者推薦服務(wù)商和用戶數(shù)據(jù)提供商的聯(lián)邦。橫向聯(lián)邦推薦(即基于商品的聯(lián)邦推薦)主要解決在參與方擁有大量相同的商品但是不同用戶群體時(shí)如何協(xié)作構(gòu)建推薦系統(tǒng)的問題,例如不同地區(qū)相同推薦服務(wù)之間的聯(lián)邦。遷移聯(lián)邦推薦主要解決參與方在相同用戶和商品都不多的情況,如何協(xié)作分享經(jīng)驗(yàn)構(gòu)建推薦系統(tǒng)的問題。
針對(duì)不同的分類,基于當(dāng)前推薦系統(tǒng)最常用的矩陣分解(matrix factorization)和因子分解機(jī)(factorization machine)算法,微眾銀行提出聯(lián)邦矩陣分解、聯(lián)邦因子分解機(jī)等算法。這些聯(lián)邦推薦算法基于FATE框架開發(fā),使用統(tǒng)一的優(yōu)化流程。以縱向聯(lián)邦推薦的兩個(gè)場(chǎng)景為例子,楊強(qiáng)教授給大家介紹了縱向聯(lián)邦矩陣分解和縱向聯(lián)邦因子分解機(jī)的思路和優(yōu)化方法。
聯(lián)邦推薦場(chǎng)景一:參與機(jī)構(gòu)為大量相同用戶分別提供書籍和電影推薦服務(wù)
具有相同觀影興趣的用戶很可能有相同的閱讀興趣。因此雙方的聯(lián)邦是非常有必要的,結(jié)合雙方數(shù)據(jù)構(gòu)建的推薦系統(tǒng)在性能上會(huì)優(yōu)于僅僅使用一方數(shù)據(jù)構(gòu)建的系統(tǒng)。
圖:縱向聯(lián)邦推薦場(chǎng)景一,多個(gè)參與機(jī)構(gòu)為大量相同用戶提供不同推薦服務(wù)
在這個(gè)場(chǎng)景下,以常用的矩陣分解為例子,給出縱向聯(lián)邦推薦的一個(gè)解決方案,我們讓兩個(gè)參與方在機(jī)構(gòu)內(nèi)部分別進(jìn)行矩陣分解,將用戶在商品上的評(píng)分矩陣分解成user profile和item profit的乘積,如下圖中的公式所示:
圖:縱向聯(lián)邦矩陣分解示意圖
其中user profile由雙方共享,為此我們引入一個(gè)可信的第三方server來維護(hù)共享的user profile,并幫助各方推薦算法的構(gòu)建 (在這里需要說明的是,在最新的FATE技術(shù)中,可信的第三方可以去除,基于加密技術(shù)以及多次通訊,雙方在安全可靠的方式下進(jìn)行參數(shù)共享)。算法的優(yōu)化流程如下圖所示:
圖:縱向聯(lián)邦矩陣分解優(yōu)化流程
首先由server初始化user profile并加密,參與方分別初始化自己的item profiles
Server將加密的user profile發(fā)送給參與方
參與方解密user profile并更新自己的item profile;同時(shí)計(jì)算user profile的梯度,加密后發(fā)送給server
Server匯總接收到user profile梯度,在密文狀態(tài)下更新user profile。
重復(fù)步驟2-4,直到收斂
從更新過程,我們可以看出,參與方的數(shù)據(jù)完全保持在本地,雙方僅交換user profile參數(shù),同時(shí)server也是在密文環(huán)境下操作雙方計(jì)算出來的user profile梯度,對(duì)內(nèi)容不知情,不存在隱私泄漏風(fēng)險(xiǎn)。最后,雙方都有了自己的模型,而且模型是結(jié)合雙方的數(shù)據(jù)優(yōu)勢(shì)后共同構(gòu)建。
聯(lián)邦推薦場(chǎng)景二:參與機(jī)構(gòu)為推薦服務(wù)提供方和用戶數(shù)據(jù)提供方
以書籍推薦服務(wù)商和用戶興趣數(shù)據(jù)提供商的聯(lián)邦為例,書籍推薦服務(wù)商對(duì)用戶了解越深入推薦越精準(zhǔn)。數(shù)據(jù)服務(wù)提供商在合理合法的前提下,進(jìn)一步擴(kuò)大數(shù)據(jù)的應(yīng)用價(jià)值。
圖:縱向聯(lián)邦場(chǎng)景二示意圖
在有用戶特征的場(chǎng)景下,交叉特征對(duì)推薦系統(tǒng)效果的提升幫助非常大,例如交叉地區(qū)特征和運(yùn)動(dòng)興趣特征,可以給不同地區(qū)有不同運(yùn)動(dòng)興趣的用戶推薦合適的明星傳記。因子分解機(jī)(factorization machine)是推薦領(lǐng)域處理特征交叉的較常用算法。在聯(lián)邦推薦場(chǎng)景下,我們提出聯(lián)邦因子分解機(jī),如下圖所示,在數(shù)據(jù)不出本地的情況下,同時(shí)完成參與方內(nèi)部的特征交叉和參與方相互之間的特征交叉。
圖:縱向聯(lián)邦因子分解機(jī)示意圖
聯(lián)邦因子分解機(jī)的優(yōu)化過程如下圖所示,
首先參與方初始化自己的模型
參與方分別計(jì)算部分預(yù)估結(jié)果,部分損失值,部分特征的梯度等中間結(jié)果,加密后傳送給對(duì)方
雙方將加密并加入掩碼的梯度發(fā)送給server
Server解密帶掩碼的梯度匯總后發(fā)送給參與方
參與方去除掩碼并更新模型
重復(fù)步驟2-5,直到模型收斂
圖:縱向聯(lián)邦因子分解機(jī)優(yōu)化流程
經(jīng)過聯(lián)合建模,參與方分別得到部分訓(xùn)練好的聯(lián)邦FM模型,當(dāng)對(duì)新樣本進(jìn)行預(yù)測(cè)時(shí),需要兩方一起完成預(yù)測(cè)任務(wù)
第一步,A、B雙方各自完成本身中間結(jié)果的計(jì)算,加密并傳到服務(wù)器
第二步,服務(wù)器聚合雙方中間結(jié)果,解密得到預(yù)測(cè)值
第三步,服務(wù)器將預(yù)測(cè)值發(fā)回給A方進(jìn)行推薦
推薦系統(tǒng)是數(shù)據(jù)驅(qū)動(dòng)的,數(shù)據(jù)對(duì)效果的提升有很大幫助。在使用數(shù)據(jù)的過程中,如何有效的保護(hù)隱私和安全是急需解決的問題。微眾銀行在該方向上做了初步的探索和應(yīng)用,同時(shí),也在積極推進(jìn)關(guān)于聯(lián)邦學(xué)習(xí)國(guó)家和國(guó)際標(biāo)準(zhǔn)的建立。楊強(qiáng)教授表示,會(huì)繼續(xù)開源工具,與業(yè)界共鑄聯(lián)邦學(xué)習(xí)開放生態(tài)。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。