999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于協同訓練的分布式深度協同過濾模型

2020-07-01 05:35:56高浩元許建強
應用技術學報 2020年2期
關鍵詞:模型

高浩元, 許建強

(1. 中國科學院大學 人工智能學院, 北京 100049; 2. 上海應用技術大學 理學院, 上海 201418)

如今的互聯網行業,個性化推薦已經成為一個越來越重要的技術,而如今的推薦系統主要是基于大數據和各類機器學習、協同過濾等人工智能算法和數學模型來實現的,無論是監督學習、關聯規則還是協同過濾的推薦思路都需要一定的訓練數據,而這些數據就必須包含著用戶與對應產品關聯的信息(如用戶曾經看過哪個產品等)。國內外目前常用的推薦系統包括傳統的基于物品(Item)或用戶(User)的協同過濾算法[1-2]、基于矩陣分解的算法[3-4]以及基于深度學習的算法[5-7]等。

半監督學習能將未標記的數據利用起來,在一定程度上改善最終的推薦效果。目前在推薦算法中常用的半監督學習方法包括基于圖和隨機游走的模型[8]、基于協同訓練和主動學習的模型[9-10]、基于半監督支持向量機的模型等[11]。

在一些分布式計算的場景中,數據被存儲在多個結點上的,分布式機器學習算法運行的過程中,各結點之間不會對任意一個特定的數據樣本進行交換,而只會交換一些計算所得的參數。根據文獻調研,基于consensus算法使用分布式梯度下降構建分布式神經網絡解決半監督推薦問題的研究尚未見報道,本文就嘗試使用該方法對該問題進行研究,并創造性地提出了使用Metropolis算法結合深度協同過濾(neural collaborative filtering,NCF)模型[7]構建分布式推薦系統的思路。

在本文中,首先對整個推薦系統的整體結構進行了概述。然后介紹了基于consensus算法的分布式神經網絡模型和目前常用的半監督學習方法及其在推薦系統中的應用,在此基礎上提出了一種基于協同訓練的分布式半監督學習模型。最后在MovieLens公開數據集[12]上對該推薦系統進行測試,并與獨立協同過濾、分布式隱語義(latent factor model, LFM)模型及分布式多層感知機(multilayer perceptron, MLP)模型等作了對比。

圖1 推薦系統結構總覽Fig.1 The structure of the recommendation system

1 推薦系統結構概覽

本文所要解決的問題是,當用戶對物品的行為數據分布在不同的服務器上時,如何在各服務器不交換特定數據樣本信息的情況下,使各服務器能協同構建推薦系統,充分利用整個系統中每個服務器的所有信息進行推薦,同時使用半監督學習中的協同訓練算法提升預測準確度。

本文中提出的推薦系統模型的具體架構如圖1所示。用戶對物品的行為數據被分別存儲在網絡中的各個結點上。在每個結點上構建一個NCF模型,其輸入部分由LFM模型和MLP模型兩部分組成,每一部分都分別將物品和用戶的獨熱編碼向量輸入進一個embedding層并將其轉化為一個稠密的、低維的隱語義向量,再在LFM模型和MLP模型中分別使用Element-wise Product和神經網絡層將隱語義向量進行融合,最終將兩個模型學習到的特征向量一同輸入到尾端的全連接神經網絡層中,并使用sigmoid函數作為輸出函數,將用戶對物品感興趣的概率值作為輸出,使用交叉熵損失函數對整個模型進行基于梯度下降法的訓練。

在每個結點使用梯度下降訓練神經網絡的過程中,結點之間通過metropolis算法進行參數交換,實現梯度向量的consensus,以實現分布式的NCF模型。根據以上流程,以不同的隱層數量和結點數量構建2個不同結構的NCF模型,并對2個模型進行協同訓練(Co-training),對未標記數據進行預測,篩選出其中置信度高的數據提供給對方模型作為訓練數據(負樣本),以使得最后的預測結果更加精準。對于Co-training與NCF模型結合的中心化模型,將其命名為Co-NCF模型,而整個分布式半監督推薦系統(distirbuted co-training neural collaborative filtering, DISCONNECT)模型。

2 NCF模型

基于前饋神經網絡的推薦算法有許多不同的類型。目前,一種常見的結構被稱為NCF模型。NCF模型使用一個針對二分類問題的神經網絡模型來對用戶是否會對物品感興趣進行預測。若完全使用MLP模型對用戶對于物品的興趣進行預測,則其輸入層輸入的特征向量是由用戶和物品通過某些embedding算法映射得到的向量,而輸出層的輸出值是一個介于0和1之間的標量,即當前被預測用戶對被預測物品可能感興趣的概率值。而在NCF模型中,構建一個前饋神經網絡,其中結合了MLP模型和LFM模型,物品和用戶的獨熱向量(若物品為3號物品,則其獨熱向量為[0,0,1,0,…,0,0])分別輸入2個模型中進行embedding和融合,最終使用一個神經網絡進行結合,如圖2所示。在上述2個模型中,都可使用真實標記與預測的概率值構建交叉熵損失函數, 之后使用梯度下降法進行訓練。

圖2 NCF模型結構概覽Fig.2 The structure of the NCF model

NCF模型相對于傳統的協同過濾算法來說,有著更高的預測準確率,這是由于經過embedding層轉化的稠密的向量包含的信息量更大,從其中學到的信息也就更多,并且該模型相當于使用stacking集成方法結合了LFM和MLP模型提取出的特征,所以其表現能夠超越這2個模型單獨的預測效果。同時,基于神經網絡的推薦算法相對于其他推薦算法(基于矩陣分解或圖模型),可以容易地使用分布式梯度下降(或分布式隨機梯度下降)算法實現分布式訓練。

3 基于consensus算法的分布式神經網絡模型

當數據被分布式存儲在各個結點上,且各結點只能與其鄰居結點進行通信(通常整個網絡的拓撲結構是一個聯通圖,即其中任一結點最少有一個鄰居結點),由于數據安全、通信效率等問題的考慮,要求結點之間的通信不能對特定的數據樣本進行交換。在以上情況下,要進行個性化推薦,就需要構建分布式的推薦系統。

本文引入consensus算法,通過各個結點與其鄰居結點的通信,在一定迭代次數以后,最終可以實現每個結點對同一個參數達到共識的目標。consensus算法分為maximum consensus、average consensus等類型[13-14],其中maximum consensus最后希望所有結點對該參數達到一致的值是各結點初始的該參數中的最大值,而average consensus希望得到初始參數值的平均值。例如,若有3個結點,每個結點所保存的參數向量分別為[1,1,4],若使用maximum consensus,則最終希望3個結點保存的參數向量均為[4,4,4],而在average consensus中最終3個結點保存的參數向量均為[2,2,2]。本文中,使用的是average consensus算法中的Metropolis算法[15]。Metropolis算法對參數的更新公式如下:

基于該算法可以將梯度下降法改造為分布式梯度下降法[16],其算法偽代碼如下:

Algorithm 1 Distributed Gradient DesecentRequire: Each agent initial the local parameter wi(0) fort=1:Tdo fori=1:Ndo Calculate the local gradient xi(t) vi(t)=Consensusj∈Ni(xj(t)) wi(t)=wi(t-1)-αvi(t) end for end for

分布式梯度下降法用來對分布式神經網絡進行訓練。具體來說就是針對一個由許多結點組成的通信網絡,這些結點組成的圖是一個聯通圖,結點之間的拓撲關系是非時變的,每個結點只能與它的鄰居結點進行通信。每個結點上存儲著一個神經網絡,而整個數據集被分散存儲在各個結點上。各個結點的目的是,基于自己所知的部分訓練數據集,對自己本地存儲的神經網絡進行訓練,在訓練過程中以某種方式與自己的鄰居結點交換某些參數值,使得最終各個結點訓練得到的神經網絡參數達到一致,并且訓練出的神經網絡效果足夠接近當數據被存儲在同一臺主機上時訓練神經網絡的效果。

根據算法1的偽代碼,分布式梯度下降的思路非常簡單。初始狀態下,每個結點對自己本地的神經網絡參數進行初始化,同時將訓練數據輸入神經網絡進行前向傳播,計算得到本地的梯度值之和。之后,各結點對梯度值進行交換通信,直至梯度值達到consensus,接著各結點按照consensus所得的梯度值進行梯度下降法,更新神經網絡的參數值。由于神經網絡更新前的參數值和更新所使用的梯度值都是一致的,故各結點更新后所得到的神經網絡參數值仍是一致的,且在某個精度水平上等價于中心化梯度下降法的訓練結果。重復以上過程,直至達到訓練停止條件(可設置為consensus后得到的梯度值小于某閾值時)。

4 基于半監督學習的分布式推薦系統

半監督學習是將有標注的數據與無標注的數據結合起來對模型進行訓練的方法。通常,在無標注的數據中也包含有許多的信息,半監督學習將這些信息與有標注數據結合起來使用,實現了對數據價值的最大化利用。半監督學習是近年來關注的熱點,這是由于有標注數據通常是少量的,而剩下的無標注數據數量更大。

半監督學習中有許多基于不同思想的方法,其中包括主動學習、混合聚類、協同訓練以及一些特定機器學習算法的半監督學習版本(如半監督學習支持向量機等)。這些方法中,在分布式系統中,較為適用的是協同訓練。在此對協同訓練的思想和算法流程進行闡述。

協同訓練中,首先將數據集按照某種視圖進行分割。如,某數據集中每個樣本的特征值有6個,則可以取其中前3個特征值,放入一個模型中訓練,再取其中后3個特征值,放入另一個模型中訓練,然后在這兩個訓練出來的模型上分別對無標注數據進行預測。根據預測的置信度,篩選出2個模型各自預測中置信度最高的那些樣本,作為訓練數據提供給另一個模型。視圖的劃分是為了使2個參與協同訓練的模型具有足夠高的多樣性,若不對視圖進行劃分,也可使用相異的模型,如樸素貝葉斯與邏輯回歸,或2個結構不同的神經網絡模型。最終通過該方法能分別訓練出2個預測模型,之后對于所有的未標記數據,選取對其預測置信度較高的模型的預測結果作為其最終標記。協同訓練的流程如圖3所示。

圖3 協同訓練結構概覽Fig.3 The structure of collaborative training

在本文的模型中,數據被分別存儲在各個結點上。對于單個結點來說,模型首先根據給出的網絡結構構建2個不同結構的NCF模型,之后,對于每一個用戶,將訓練數據中其已有行為的記錄標記為正例,即其標簽為1。對于每一個用戶,根據文獻[7]中的方法,采樣4倍于其正例數量的負例,即標簽為0的樣本。不同于文獻[7]的是,在采樣負例時,使用傳統的協同過濾算法,基于該結點有限的本地數據,來對該用戶和已有的所有物品計算相關概率,并根據概率值從小到大進行排序。從排序數據中,選取前K條作為負樣本,K為需要采樣的負例數量。

使用初始化的訓練集分別對2個NCF模型進行訓練,在訓練過程中通過Metropolis算法與其他結點交換信息,使用分布式梯度下降法訓練。

初始化2個模型后,分別使用2個模型基于結點本地數據,對每個用戶對于所有物品的興趣概率進行計算并排序,選出概率最小的K個樣本作為負例提供給對方模型作為下一輪的訓練負例。

之后使用新生成的訓練集對2個模型進行訓練,訓練過程中同樣使用Metropolis算法進行通信,以構建分布式梯度下降算法。訓練后再次進行預測并更新雙方的訓練集。重復以上過程直到達到最大迭代次數。最后在測試集上測試模型時,分別使用2個模型進行預測,并在輸出結果中選擇置信度較高的(偏離0.5更大的)結果作為預測概率。

5 在MovieLens數據集上測試

MovieLens是一個由美國 Minnesota 大學計算機科學與工程學院創辦的電影推薦系統,主要用于研究實驗而非商業用途。MovieLens數據集分為幾個版本,本文中使用的是MovieLens 1MB數據集,其中包含來自 6 040 名用戶對 3 706 部電影的 1 000 209 條評分信息,其中每名用戶至少進行過20次評分。另外,MovieLens 1MB還提供了電影的一些基本信息,包括電影名稱、上映時間(年月)、電影類型等。

選取的基準模型是獨立協同過濾算法(即各結點分別使用其本地存儲的部分數據進行協同過濾預測)、分布式LFM模型、分布式MLP模型和分布式NCF模型。在測試中,分別選取item-based和 user-based的協同過濾算法,而相似度度量使用余弦相似度公式。

在測試中,對于各模型的超參數,參考文獻[7]中表現較好的網絡結構。對于LFM模型,設置embedding的維度為16;對于MLP模型,embedding維度為32,設置其網絡結構為[64,32,16];對于NCF模型,設置MLP部分embedding維度為32,網絡結構為[64,32,16];設置LFM部分embedding維度為16,設置最后融合部分的網絡結構為[32,16,8]。

對于Co-NCF模型的2個模型中,模型1使用上述提到的NCF模型結構,模型2使用的結構如下:設置MLP部分embedding層維度為32,網絡結構為[32,32,32,16,16,16,8],設置LFM部分embedding層維度為16,并通過一個MLP隱藏層映射為維度8的向量,最后NCF融合部分的結構為[16,16,8,8,4,4]。這2種網絡結構分別代表了深度較高、寬度較小的網絡和深度較低、寬度較大的網絡,這2種網絡結構的優勢不同,故能夠為模型帶來多樣性,使得協同訓練方法的優勢得到充分地發揮。所有梯度下降的batch-size設為 1 024,學習步長為 0.000 1。

在測試過程中,使用leave-one-out評判指標,即,對于任意一個用戶,保留其時間上最晚的一條行為記錄作為測試集,而使用剩余所有的樣本行為記錄作為訓練集[17]。對于每個用戶,隨機采樣100個用戶沒有過行為的物品,將其與那一條測試數據混合。在對模型進行測試時,讓模型對這101條數據按照相關性自大到小進行排序,并檢測前10條數據中是否包含測試數據。對于所有用戶,都執行以上操作,最終計算出命中的比率,稱其為命中率指標(hit ratio, HR)[18]。

表1為在MovieLens 1MB上基于4種結點拓撲結構對模型預測效果測試的HR結果。由表1可見,對于使用分布式梯度下降來訓練的模型,即LFM、MLP、NCF和Co-NCF來說,分布式的算法基本上能達到與中心化算法相同的預測精度,且其預測水平不會隨著數據分布的分散程度(即結點的數量)越高而越差,而是基本保持穩定的。這點上顯著強于傳統的協同過濾算法,從表中可以看出,無論是Item CF還是User CF,當結點數越來越多時,預測精度下降十分顯著。分析認為,這是由于在傳統的協同過濾算法中,當數據被分布存儲在各結點時,結點之間的訓練過程是獨立的,無法共享信息,相當于每個結點只能使用自己本地有限的數據。要改進該算法,就必然要允許結點之間對特定的樣本進行交換,而這不符合在論文開頭提出的安全性原則。相反地,基于consensus算法的分布式梯度下降可以讓每個結點存儲的模型,在實際上都使用了所有結點的數據來進行訓練,所以其表現能和中心化的算法有同樣的精度。

表1 各拓撲結構、結點數量下各模型的HR結果Tab.1 The results of HR with different topology and number of nodes

橫向對比各個算法的預測精度可以發現,無論是在何種拓撲結構下,多少個結點數情況下,模型NCF都要優于LFM和MLP模型。據分析,這是由于NCF模型的構建過程實際上是將LFM和MLP模型的預測結果使用機器學習中的Stacking方法進行集成的結果。而Co-NCF模型在任一情況下皆優于NCF模型,可見使用協同訓練方法后,確實提升了NCF模型的預測能力。

6 結 語

本文提出了使用Co-training與NCF模型結合的Co-NCF模型,并且探討了使用基于consensus算法的分布式梯度下降法來構建分布式推薦系統的可能性,進而提出了DISCONNECT模型,即使用Consensus-based分布式梯度下降與Co-NCF模型結合而構建的分布式推薦系統。在MovieLens數據集上使用HR 10作為評判指標的測試表明, DISCONNECT模型無論是在中心化情況還是分布式情況下都優于現有的NCF模型和協同過濾算法。同時也表明,Co-NCF算法在不同結點數和拓撲結構下,其預測精度基本不變,在分布式和中心化上能達到同樣好的表現水平。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产视频大全| 国产无码精品在线播放| 亚洲成人播放| 亚洲丝袜第一页| 欧美日韩va| 欧美色综合网站| 亚洲男人的天堂久久香蕉网| 不卡视频国产| 欧美丝袜高跟鞋一区二区| 亚洲欧美日本国产专区一区| 亚洲成网777777国产精品| 狠狠色狠狠色综合久久第一次| 2024av在线无码中文最新| h视频在线观看网站| 四虎永久免费网站| 日韩毛片在线播放| 亚洲天堂777| 国内精品久久九九国产精品| 久久天天躁夜夜躁狠狠| 中国丰满人妻无码束缚啪啪| 成色7777精品在线| 久久综合九九亚洲一区| 午夜精品久久久久久久无码软件 | 久久毛片网| 国产成人一区二区| 少妇露出福利视频| 2021国产乱人伦在线播放| 亚洲男人在线天堂| 无码高潮喷水专区久久| 欧洲日本亚洲中文字幕| 亚洲第一成网站| 亚洲欧美成人影院| 国产精品爽爽va在线无码观看| 欧美色视频日本| 色综合激情网| 久久中文电影| 青青久视频| 亚洲国产精品无码AV| 国产欧美日韩18| 美女国产在线| 欧美区在线播放| V一区无码内射国产| 激情乱人伦| 亚洲人成人伊人成综合网无码| 国产男女XX00免费观看| 99热这里只有精品国产99| 99精品视频在线观看免费播放| 狠狠色狠狠色综合久久第一次| 9966国产精品视频| 国产视频你懂得| 热九九精品| 99精品免费欧美成人小视频| 爱色欧美亚洲综合图区| 欧美精品啪啪| 国产黄网永久免费| 亚洲成人网在线观看| 成人免费一级片| 综合社区亚洲熟妇p| 久久中文字幕2021精品| 午夜国产大片免费观看| 久久6免费视频| 国产人在线成免费视频| 国产精品偷伦在线观看| 国产免费黄| 久久99国产乱子伦精品免| 色屁屁一区二区三区视频国产| 区国产精品搜索视频| 五月天天天色| 精品五夜婷香蕉国产线看观看| 国产jizz| 国产精品亚洲欧美日韩久久| 亚洲无码高清一区| 久综合日韩| 亚洲,国产,日韩,综合一区| 五月婷婷亚洲综合| 国产欧美高清| 午夜无码一区二区三区| 欧美福利在线观看| 九九热精品免费视频| 欧美伦理一区| 91福利国产成人精品导航| 国产亚洲精|