胡開(kāi)喜 李 琳 吳小華,2 解 慶 袁景凌
隨著互聯(lián)網(wǎng)、5G 等信息技術(shù)的快速發(fā)展,信息系統(tǒng)記錄了大量的用戶行為,例如購(gòu)物[1-2]、點(diǎn)擊瀏覽[3-5]、移動(dòng)位置[6-7]等.人們將用戶行為按發(fā)生的時(shí)間先后順序排列,可構(gòu)成隱含用戶興趣的行為序列[8-10].序列推薦(Sequential recommendation,SR)旨在建模行為序列中動(dòng)態(tài)興趣的演變關(guān)系,從候選集中預(yù)測(cè)下一個(gè)行為,已廣泛用于各類Web 應(yīng)用,幫助人們解決信息過(guò)載的問(wèn)題.作為一項(xiàng)基礎(chǔ)技術(shù),序列推薦備受學(xué)術(shù)界和工業(yè)界關(guān)注,并逐漸推廣到更多應(yīng)用場(chǎng)景.
近年來(lái),深度學(xué)習(xí)通過(guò)層次化地建模序列數(shù)據(jù)中行為演變的特征表示,在捕獲用戶興趣方面表現(xiàn)出了優(yōu)越性[1,3,5,10-11].然而,現(xiàn)實(shí)世界中用戶與行為的交互是在該用戶當(dāng)時(shí)興趣的影響下產(chǎn)生的,具有動(dòng)態(tài)不確定的特點(diǎn)[12-15].以圖1 中的電影推薦為例,假設(shè)用戶按時(shí)間順序觀看了不同類型的電影(喜劇片m1,恐怖片m2,愛(ài)情片m3),則歷史的行為序列反映出了多種用戶興趣,導(dǎo)致下一個(gè)行為的產(chǎn)生存在多種可能性(恐怖片m4 或喜劇片m5).在學(xué)習(xí)興趣演變關(guān)系的過(guò)程中,采用固定向量表示的單模型通常不足以建模行為背后隱含的動(dòng)態(tài)興趣,使模型的精度提升有限.此外,用戶觀影行為較少時(shí),通過(guò)行為序列分析的用戶興趣也會(huì)更加不確定.在行為序列提供信息有限的情況下,如何通過(guò)建模用戶動(dòng)態(tài)興趣緩解模型不確定性[16],是一個(gè)具有挑戰(zhàn)性的問(wèn)題.
圖1 用戶動(dòng)態(tài)興趣在潛在空間中的表示與推斷Fig.1 The representation and inference of dynamic interests in latent representation spaces
目前,大多數(shù)序列推薦方法[1,9,17]通過(guò)建模行為序列在特征空間中的固定向量表示,并引入額外的用戶信息來(lái)幫助預(yù)測(cè)模型學(xué)習(xí)用戶興趣.在不引入額外信息的情況下,最近的研究工作[13-15]利用分布函數(shù)表示用戶興趣,使學(xué)習(xí)到的興趣表示可以覆蓋更大的行為序列空間.如圖1(a)所示,每個(gè)觀影行為隱含的動(dòng)態(tài)興趣都可以用一個(gè)分布函數(shù)來(lái)表示,最后通過(guò)積分計(jì)算推斷的興趣分布表示與觀影行為向量表示(三角形)之間的距離預(yù)測(cè)下一個(gè)行為.但是在模型參數(shù)中引入分布函數(shù),主要存在以下不足:1) 通常需要預(yù)設(shè)一種先驗(yàn)的分布形式,但只有少數(shù)幾種分布可以求出積分的閉式解,對(duì)更復(fù)雜的分布需要近似求解[15];2) 分布函數(shù)傾向于在有限的函數(shù)空間(興趣表示空間的實(shí)線上)探索用戶興趣,對(duì)模型精度的提升有限[18-19].
針對(duì)上述分布函數(shù)的不足,計(jì)算機(jī)視覺(jué)領(lǐng)域的工作[20-22]通常采用多模型集成的方式建模圖像中的不確定性,并驗(yàn)證了隨機(jī)初始化和擾亂數(shù)據(jù)樣本的順序就足以獲得較好的性能[20].如圖1(b)所示,采用多模型集成建模動(dòng)態(tài)興趣時(shí),模型可以在不同的訓(xùn)練迭代中探索分布函數(shù)(虛線)以外的點(diǎn),并通過(guò)融合不同的模型推斷更優(yōu)的固定向量來(lái)表示用戶興趣.同時(shí),為了提升模型在測(cè)試階段的效率,計(jì)算機(jī)視覺(jué)[22]、自然語(yǔ)言處理[23-24]和推薦[25-26]等領(lǐng)域的工作都表明知識(shí)蒸餾(Knowledge distillation,KD)[27]是一種有效的融合方式,可以通過(guò)拉近兩個(gè)模型興趣表示的距離,將多個(gè)教師模型的知識(shí)遷移到學(xué)生模型.但是,傳統(tǒng)的知識(shí)蒸餾將教師模型預(yù)測(cè)的概率分布作為學(xué)生模型學(xué)習(xí)的軟標(biāo)簽[28],導(dǎo)致學(xué)生模型更傾向于從教師模型輸出的高置信度樣本中獲取知識(shí)[29-30].由于用戶的行為序列具有動(dòng)態(tài)不確定的特點(diǎn)[16],在訓(xùn)練過(guò)程中如果教師模型學(xué)習(xí)的用戶興趣表示距離真實(shí)發(fā)生的下一個(gè)行為(Ground-truth)較遠(yuǎn)就會(huì)使模型產(chǎn)生低置信度,而低置信度的樣本中通常也包含可被加強(qiáng)訓(xùn)練的樣本(潛在樣本),可以提供更加豐富的信息,幫助模型學(xué)習(xí)分類決策邊界即類間信息[31].傳統(tǒng)的知識(shí)蒸餾未能有效地從這些潛在樣本中學(xué)習(xí)動(dòng)態(tài)興趣,影響了推薦的精度.
為了緩解上述問(wèn)題,本文提出一種同伴知識(shí)互增強(qiáng)下的序列推薦方法(Sequential recommendation enhanced by peer knowledge,PeerRec).該方法首先設(shè)計(jì)了多個(gè)結(jié)構(gòu)相同但隨機(jī)初始化參數(shù)不同的同伴網(wǎng)絡(luò),使每個(gè)同伴網(wǎng)絡(luò)學(xué)習(xí)差異化的興趣固定向量表示.其次,按照課程學(xué)習(xí)[32]由易到難的認(rèn)知過(guò)程,本文通過(guò)第1 階段的知識(shí)蒸餾[27]關(guān)注同伴輸出的高置信度樣本,以模仿訓(xùn)練的方式拉近興趣表示的距離.然后,在此基礎(chǔ)上提出了第2 階段基于刻意訓(xùn)練[33]的互相學(xué)習(xí),通過(guò)動(dòng)態(tài)最小組策略將多個(gè)同伴組成學(xué)習(xí)共同體,從低置信度樣本中挖掘過(guò)濾噪音后的潛在樣本,推動(dòng)模型在解空間中探索更優(yōu)的興趣表示.相比于最好的基線方法,本文提出的方法在推薦性能和在線推斷效率上均具有優(yōu)勢(shì).總體而言,本文的主要貢獻(xiàn)如下:
1) 分析并總結(jié)了序列推薦中用戶動(dòng)態(tài)興趣導(dǎo)致行為序列具有不確定的特點(diǎn),提出了一種同伴知識(shí)互增強(qiáng)下的序列推薦方法,利用多個(gè)同伴建模差異化的用戶興趣固定向量表示,并按照人類由易到難的認(rèn)知過(guò)程互相學(xué)習(xí),共同提升序列推薦的精度;
2) 提出了一種基于刻意訓(xùn)練[33]的互相學(xué)習(xí)方法,在知識(shí)蒸餾的基礎(chǔ)上進(jìn)一步通過(guò)動(dòng)態(tài)最小組策略增強(qiáng)模型對(duì)潛在樣本中動(dòng)態(tài)興趣的學(xué)習(xí);
3) 公開(kāi)的ML-1m、LastFM和Toys 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,提出的PeerRec 方法相對(duì)于最新的序列推薦方法在NDCG@5 指標(biāo)上分別提升了9.02%、5.03%和1.31%,且具有良好的推薦效率.
本文內(nèi)容安排如下: 第1 節(jié)為現(xiàn)有序列推薦方法及以知識(shí)蒸餾為代表的知識(shí)遷移方法的概述;第2 節(jié)介紹問(wèn)題定義、總體框架及PeerRec 模型的網(wǎng)絡(luò)結(jié)構(gòu);第3 節(jié)重點(diǎn)闡述同伴知識(shí)互增強(qiáng)的訓(xùn)練,并進(jìn)一步討論模型在互相學(xué)習(xí)過(guò)程中的梯度變化;第4 節(jié)介紹數(shù)據(jù)集、實(shí)驗(yàn)設(shè)置、評(píng)價(jià)指標(biāo)及分析結(jié)果;第5 節(jié)總結(jié)全文工作并展望未來(lái)的研究方向.
本節(jié)首先介紹目前序列推薦中建模用戶動(dòng)態(tài)興趣的方法,然后闡述以知識(shí)蒸餾為代表的知識(shí)遷移方法以及該類方法與提出的基于刻意訓(xùn)練[33]的互相學(xué)習(xí)方式的異同.
在現(xiàn)有工作中,動(dòng)態(tài)興趣的建模主要分為基于固定向量表示的方法和基于分布函數(shù)的方法.
基于固定向量表示的方法主要通過(guò)引入外部的信息來(lái)增強(qiáng)單模型學(xué)習(xí)興趣的固定向量表示.例如,Song 等[34]對(duì)點(diǎn)擊率預(yù)估中用戶行為和額外的畫(huà)像特征進(jìn)行不同階次的組合.Wang 等[9]利用超圖卷積建模不同時(shí)間段內(nèi)用戶與物品的動(dòng)態(tài)關(guān)聯(lián),并利用多頭自注意力融合不同時(shí)刻的用戶興趣.STKG(Spatial-temporal knowledge graph)模型[6]通過(guò)構(gòu)建一個(gè)帶權(quán)重的興趣點(diǎn)連接圖和輔助的空間信息來(lái)優(yōu)化節(jié)點(diǎn)的表示.BERT4Rec[17]雖然沒(méi)有引入額外信息,但增強(qiáng)了對(duì)雙向序列信息的建模.此外,模型去噪的方法[11,35]通過(guò)過(guò)濾動(dòng)態(tài)性較高的噪音用戶,使模型捕獲更加普遍的用戶興趣,但也會(huì)丟失一部分有效的信息.例如Wang 等[11]利用模型自身的響應(yīng)來(lái)剔除損失較大的噪聲樣本.Qin 等[35]通過(guò)對(duì)比用戶偏好的估計(jì),設(shè)計(jì)了一種去噪生成器.
近年來(lái),基于分布函數(shù)的方法[12-15]在不引入額外信息的情況下建模動(dòng)態(tài)興趣,引起了研究人員的廣泛關(guān)注.Jiang 等[15]在模型輸入的嵌入矩陣中引入高斯分布 N(μ,Σ),擴(kuò)大了物品和用戶的表示空間.Neupane 等[12]結(jié)合元證據(jù)學(xué)習(xí)建模輸出分布的參數(shù).最近,Fan 等[13-14]在嵌入矩陣引入高斯分布的基礎(chǔ)上,進(jìn)一步采用Wasserstein 距離1一種基于最優(yōu)傳輸理論衡量?jī)蓚€(gè)分布間距離的度量方式,目前只在一維分布、高斯分布等少數(shù)幾種分布上存在閉式解.計(jì)算自注意力層和預(yù)測(cè)層中分布的距離.
上述基于單模型固定向量表示的方法假設(shè)動(dòng)態(tài)興趣是確定的,并通過(guò)信息引入、去噪等方式優(yōu)化向量表示.基于分布函數(shù)的方法利用先驗(yàn)分布建模了動(dòng)態(tài)興趣,但實(shí)踐中對(duì)預(yù)設(shè)分布的近似求解復(fù)雜,性能提升效果并不如模型集成的方法顯著[18-19].受分布函數(shù)和知識(shí)蒸餾的啟發(fā),本文采用多個(gè)同伴網(wǎng)絡(luò)以互相學(xué)習(xí)的方式共同探索更佳的興趣固定向量表示,提升序列推薦的精度.
知識(shí)蒸餾起源于模型壓縮[27,36-37]任務(wù),主要基于學(xué)生向教師模仿的策略,在訓(xùn)練階段將從多個(gè)模型提煉的知識(shí)遷移到單模型,提升測(cè)試階段的效率.假設(shè)pt和ps為教師模型和學(xué)生模型在一個(gè)樣本上預(yù)測(cè)的概率分布,則教師-學(xué)生單向模仿的梯度為
其中,C為類別的數(shù)量,pt,*和ps,*分別代表教師和學(xué)生對(duì)正例輸出的概率,即置信度,pt,i和ps,i分別代表教師和學(xué)生對(duì)第i個(gè)負(fù)例輸出的概率,y*是正例樣本的標(biāo)簽,*和i分別為概率分布中正例和負(fù)例的索引.
現(xiàn)有工作表明,式(1)的第1 項(xiàng)和第2 項(xiàng)在模型訓(xùn)練中具有不同的作用[29,38].從第1 項(xiàng)中可以看出,教師模型對(duì)正例輸出的置信度pt,*與學(xué)生模型對(duì)樣本學(xué)習(xí)的重要性權(quán)重有較大的關(guān)聯(lián),反映了樣本學(xué)習(xí)的難度.如果教師模型輸出的置信度較大(pt,*≈1),則學(xué)生模型相當(dāng)于從硬標(biāo)簽y*中學(xué)習(xí),樣本的梯度貢獻(xiàn)較大.反之,教師模型輸出的置信度較小,則會(huì)在當(dāng)前訓(xùn)練批次的全局訓(xùn)練信號(hào)上減少該樣本的貢獻(xiàn).第2 項(xiàng)則更多地反映了樣本內(nèi)部負(fù)例與正例的相似性信息.因此,在模仿過(guò)程中,學(xué)生模型會(huì)更傾向于從教師模型輸出的高置信度樣本中獲取知識(shí)[29-30].
后續(xù)的工作通過(guò)融合多個(gè)模型緩解建模中的不確定性,并從學(xué)習(xí)方式和教師選擇上優(yōu)化了融合效果.文獻(xiàn)[39-40]優(yōu)化了離線學(xué)習(xí)方式,通過(guò)兩個(gè)結(jié)構(gòu)相同但參數(shù)不同的深度網(wǎng)絡(luò)互相學(xué)習(xí)擴(kuò)大參數(shù)的搜索空間,減少模型因初始化導(dǎo)致的不確定性.同一網(wǎng)絡(luò)在不同的訓(xùn)練階段上自蒸餾[29]也是一種特殊的互相學(xué)習(xí)方式.此外,通過(guò)增加教師模型的數(shù)量來(lái)提升學(xué)生模型是一種直觀的方式.其中,平均多個(gè)不同來(lái)源模型的輸出,是一種最直觀的融合方式[39],但會(huì)損失一部分多樣性.隨后,Chen 等[41]引入了輔助和領(lǐng)導(dǎo)的概念來(lái)引導(dǎo)互相學(xué)習(xí).Zhu 等[25]引入了門(mén)控機(jī)制動(dòng)態(tài)賦予教師不同的權(quán)重.Kang等[26]認(rèn)為注意力加權(quán)的方式會(huì)引入弱關(guān)聯(lián)信息,因此,每次只從多個(gè)教師中選擇一個(gè)專家傳遞知識(shí).
但知識(shí)蒸餾傾向于從教師模型輸出的高置信度樣本中獲取知識(shí),未能有效發(fā)掘可進(jìn)一步學(xué)習(xí)的低置信度樣本.不同于模仿策略,刻意訓(xùn)練[33]從另一個(gè)角度闡述了教師-學(xué)生傳遞知識(shí)的方式,認(rèn)為教師針對(duì)性地給學(xué)生訓(xùn)練有待提高(低置信度)的樣本,可以進(jìn)一步提升學(xué)生模型.因此,按照人類課程學(xué)習(xí)[32]由易到難的認(rèn)知過(guò)程,本文在知識(shí)蒸餾的基礎(chǔ)上進(jìn)一步提出了第2 階段基于刻意訓(xùn)練的互相學(xué)習(xí),加強(qiáng)模型從低置信度的潛在樣本中學(xué)習(xí)動(dòng)態(tài)興趣.
本文的核心思想是集成多個(gè)具有差異的同伴網(wǎng)絡(luò)建模動(dòng)態(tài)興趣的固定向量表示,同時(shí)通過(guò)加強(qiáng)同伴在訓(xùn)練階段的知識(shí)傳遞,優(yōu)化自身對(duì)行為序列的建模,共同提升推薦精度.因此,本文提出了一種同伴知識(shí)互增強(qiáng)下的序列推薦方法(PeerRec).該方法主要以目前主流的多頭自注意力網(wǎng)絡(luò)為主體,設(shè)計(jì)了包含多同伴網(wǎng)絡(luò)的模型結(jié)構(gòu)和同伴知識(shí)互增強(qiáng)的兩階段訓(xùn)練.
如圖2 所示,PeerRec 模型主要由行為序列嵌入層、用戶興趣表示層和行為預(yù)測(cè)層組成.用戶興趣表示層需要學(xué)習(xí)輸入序列中被掩蓋行為的用戶興趣固定向量表示,并通過(guò)行為預(yù)測(cè)層輸出其與候選集中行為匹配的概率分布.在訓(xùn)練階段,用戶興趣表示層中的多個(gè)同伴網(wǎng)絡(luò)分別建模用戶興趣,并按照人類由易到難的認(rèn)知過(guò)程開(kāi)展基于知識(shí)蒸餾和刻意訓(xùn)練的兩階段的互相學(xué)習(xí)(如圖中虛線箭頭所指向的p(1)和p(2)).由于多個(gè)同伴網(wǎng)絡(luò)知識(shí)互相傳遞,在后續(xù)測(cè)試及工業(yè)部署階段,可以僅保留一個(gè)同伴網(wǎng)絡(luò),提升推薦系統(tǒng)的在線推斷效率.
圖2 PeerRec 模型的網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 The architecture of our proposed PeerRec
值得注意的是,互相學(xué)習(xí)通常需要雙方有一定的共識(shí)和足夠的差異性.現(xiàn)有工作表明[20,39],隨機(jī)初始化就足以使模型獲得多樣性,學(xué)習(xí)具有差異的用戶興趣固定向量表示.因此,本文在設(shè)計(jì)多個(gè)同伴網(wǎng)絡(luò)時(shí),采用了共享的嵌入矩陣和相同的序列學(xué)習(xí)結(jié)構(gòu)促使同伴網(wǎng)絡(luò)對(duì)序列關(guān)系的捕獲方式形成共識(shí),并通過(guò)不同的隨機(jī)初始化方式確保同伴網(wǎng)絡(luò)具備捕獲差異化用戶興趣的能力.
2.4.1 用戶興趣表示學(xué)習(xí)
由于多頭自注意力機(jī)制[42]可以捕獲不同子空間的信息,提升模型的表達(dá)能力.本文在現(xiàn)有工作[17]的基礎(chǔ)上,設(shè)計(jì)T個(gè)結(jié)構(gòu)相同但隨機(jī)初始化參數(shù)不同的自注意力同伴網(wǎng)絡(luò),學(xué)習(xí)用戶的興趣表示.如圖2 所示,任意一個(gè)同伴網(wǎng)絡(luò)都由L層編碼器組成.編碼器包含一個(gè)多頭自注意力子層和前饋網(wǎng)絡(luò)子層,其中第l層編碼器的輸入為Hl-1,輸出為Hl.
多頭自注意力子層將輸入的編碼矩陣Hl-1同時(shí)映射到M個(gè)子空間,得到M個(gè)注意力頭的表示矩陣{hd1,···,hdm,···,hdM},然后將這些矩陣拼接在一起,輸出該過(guò)程的定義為
為了引入更多的非線性因素,多頭自注意力子層后面連接了兩層前饋網(wǎng)絡(luò),具體為
2.4.2 興趣表示與同伴知識(shí)互增強(qiáng)的關(guān)系
由于不同的同伴網(wǎng)絡(luò)可以學(xué)習(xí)到具有差異的用戶興趣表示,通過(guò)行為預(yù)測(cè)層計(jì)算的概率分布p(j)也會(huì)反映出差異化的知識(shí).因此,本文設(shè)計(jì)了一種同伴知識(shí)互增強(qiáng)訓(xùn)練方式,通過(guò)同伴間互相交換概率分布p()j,優(yōu)化興趣表示的學(xué)習(xí).
如圖2 右側(cè)所示,經(jīng)過(guò)L層同伴網(wǎng)絡(luò)迭代的序列特征學(xué)習(xí)后,被掩蓋的下一個(gè)行為的用戶興趣表示向量輸入到行為預(yù)測(cè)層.該層包含一個(gè)在同伴網(wǎng)絡(luò)間共享的前饋網(wǎng)絡(luò)O和與行為序列嵌入層共享的行為嵌入矩陣U.在第j個(gè)同伴網(wǎng)絡(luò)中,被掩蓋行為的概率分布p()j的計(jì)算過(guò)程為
為了融合多個(gè)同伴網(wǎng)絡(luò)對(duì)用戶興趣的建模,提升測(cè)試階段單模型的推薦性能,本文結(jié)合課程學(xué)習(xí)[32]與知識(shí)遷移技術(shù),設(shè)計(jì)了由易到難的兩階段同伴知識(shí)互增強(qiáng)訓(xùn)練.
1) 第1 階段的知識(shí)蒸餾利用教師模型輸出的概率分布作為軟標(biāo)簽,通過(guò)相對(duì)熵關(guān)注高置信度樣本,拉近同伴之間興趣表示的距離.借鑒文獻(xiàn)[39-40]中的定義,對(duì)于第i個(gè)被掩蓋的待預(yù)測(cè)行為,第j個(gè)同伴網(wǎng)絡(luò)在第1 階段的損失函數(shù)定義為
2) 第2 階段基于刻意訓(xùn)練的互相學(xué)習(xí)以第1階段知識(shí)蒸餾學(xué)習(xí)的模型參數(shù)作為新的初始化參數(shù),繼續(xù)從低置信度樣本中挖掘出可被加強(qiáng)訓(xùn)練的潛在樣本,增強(qiáng)模型對(duì)用戶動(dòng)態(tài)興趣的建模.刻意訓(xùn)練理論[33]認(rèn)為教師應(yīng)該找到一系列學(xué)生有待加強(qiáng)的知識(shí),并進(jìn)行強(qiáng)化訓(xùn)練.基于此,本文設(shè)計(jì)了動(dòng)態(tài)最小組策略(第3.1 節(jié))和同伴間刻意訓(xùn)練的損失函數(shù)(第3.2 節(jié)).
本文認(rèn)為低置信度的樣本中通常包含有待加強(qiáng)的潛在樣本,而挖掘?qū)κ苡?xùn)學(xué)生模型有幫助的潛在樣本的難點(diǎn)在于: 深度學(xué)習(xí)模型具有強(qiáng)大的數(shù)據(jù)擬合能力,可以在沒(méi)有捕獲有效序列特征的情況下暴力擬合樣本,在后續(xù)訓(xùn)練過(guò)程中也會(huì)發(fā)生災(zāi)難性遺忘[43],僅憑受訓(xùn)學(xué)生模型本身輸出的概率分布很難充分挖掘出需要關(guān)注的潛在樣本.因此,本文首先設(shè)計(jì)了動(dòng)態(tài)最小組策略 Ω(·),利用多個(gè)同伴共同挖掘低置信度的潛在樣本.
如圖3 所示,動(dòng)態(tài)最小組策略 Ω(·) 主要分為兩步.
圖3 基于刻意訓(xùn)練的互相學(xué)習(xí)Fig.3 An illustration of deliberate practice based mutual learning
步驟 1.為了盡可能多地挖掘出低置信度的樣本,本文收集T-1 個(gè)同伴網(wǎng)絡(luò)對(duì)正例預(yù)測(cè)概率最小的概率分布并重構(gòu)為一個(gè)偽同伴.對(duì)于第i個(gè)被掩蓋的待預(yù)測(cè)行為,第j個(gè)同伴網(wǎng)絡(luò)的偽同伴定義為
步驟 2.由于低置信度樣本通常也包括噪音樣本,對(duì)這些樣本的過(guò)度擬合會(huì)影響模型的泛化性能[11].本文進(jìn)一步假設(shè)如果一個(gè)序列不能被所有同伴網(wǎng)絡(luò)預(yù)測(cè)正確,那么它很可能是噪音且損失相對(duì)較大[11].因此,本文在第2 階段的刻意訓(xùn)練中減少這些樣本對(duì)模型學(xué)習(xí)的貢獻(xiàn),進(jìn)一步將偽同伴在樣本i上的概率分布重新定義為
其中,|I|是訓(xùn)練批次中樣本的總數(shù)量.代表任意一個(gè)同伴網(wǎng)絡(luò)在樣本i上輸出正例的概率,rank(·)是訓(xùn)練批次中樣本i的交叉熵?fù)p失經(jīng)降序排列后的名次.考慮到過(guò)度地過(guò)濾不能被所有同伴網(wǎng)絡(luò)預(yù)測(cè)正確的樣本反而會(huì)丟失重要信息,不利于建模動(dòng)態(tài)興趣,本文還設(shè)置了一個(gè)超參數(shù)β來(lái)控制過(guò)濾噪音樣本的比例.
如圖3 中的三角形所示,為了使受訓(xùn)學(xué)生模型注意到動(dòng)態(tài)最小組策略篩選出的潛在樣本,本文利用偽同伴的概率分布計(jì)算受訓(xùn)學(xué)生模型訓(xùn)練的樣本權(quán)重,即刻意訓(xùn)練的強(qiáng)度.對(duì)于第j個(gè)同伴網(wǎng)絡(luò),其同伴間刻意訓(xùn)練的損失函數(shù)在正例上的定義為
式(8)中的刻意訓(xùn)練損失函數(shù)主要由偽同伴和模型自身輸出的概率兩部分構(gòu)成,可將多個(gè)同伴網(wǎng)絡(luò)組成一個(gè)學(xué)習(xí)共同體,從同一批次樣本的全局訓(xùn)練信號(hào)上感知潛在的樣本.其包含如下性質(zhì):
性質(zhì) 2.模型自身和偽同伴響應(yīng)不一致,則損失函數(shù)的大小介于性質(zhì)1 的兩種情況之間.相對(duì)于同一個(gè)訓(xùn)練批次內(nèi)的其他樣本,正確響應(yīng)的模型為避免暴力擬合或?yàn)?zāi)難性遺忘[43]會(huì)增加刻意訓(xùn)練強(qiáng)度;錯(cuò)誤響應(yīng)的模型為關(guān)注損失更高的其他樣本,會(huì)降低刻意訓(xùn)練強(qiáng)度.因此,模型對(duì)樣本的學(xué)習(xí)會(huì)同時(shí)考慮自身和同伴的學(xué)習(xí)狀態(tài),從全局角度優(yōu)化訓(xùn)練強(qiáng)度,使模型更好地學(xué)習(xí)用戶興趣表示.
相似地,為避免候選集中高度相似的行為對(duì)預(yù)測(cè)產(chǎn)生干擾,本文對(duì)所有負(fù)例的損失函數(shù)定義為
最后,本文結(jié)合傳統(tǒng)交叉熵?fù)p失(圖3 中的圓形)和同伴間刻意訓(xùn)練的損失函數(shù),計(jì)算最終的損失函數(shù)為
其中,α為平衡傳統(tǒng)交叉熵?fù)p失和同伴間刻意訓(xùn)練損失的超參數(shù).
為了更加直觀地解釋同伴網(wǎng)絡(luò)是如何結(jié)合偽同伴和模型自身輸出的概率建模動(dòng)態(tài)的用戶興趣,本節(jié)進(jìn)一步探討同伴間刻意訓(xùn)練的損失函數(shù)對(duì)第j個(gè)同伴網(wǎng)絡(luò)梯度變化的影響.對(duì)于同伴網(wǎng)絡(luò)j中的正例損失函數(shù),式(8)中關(guān)于模型最后一層輸出的梯度推導(dǎo)如下:
因此,本文提出的同伴間刻意訓(xùn)練的損失函數(shù)可以在學(xué)習(xí)過(guò)程中動(dòng)態(tài)地縮放梯度.在訓(xùn)練階段,同伴網(wǎng)絡(luò)會(huì)同時(shí)考慮其他網(wǎng)絡(luò)在上一輪學(xué)習(xí)中輸出的概率分布,結(jié)合不同的用戶興趣表示來(lái)調(diào)整自身下一輪學(xué)習(xí)的方向,直到彼此都預(yù)測(cè)正確.
為了評(píng)估提出的序列推薦模型PeerRec 的有效性,本文設(shè)置了以下4 個(gè)研究問(wèn)題(Research question,RQ):
RQ 1.PeerRec 模型與目前最新的序列推薦模型相比,推薦精度如何?
RQ 2.本文提出的基于同伴知識(shí)互增強(qiáng)的訓(xùn)練方式,對(duì)模型準(zhǔn)確率的影響有多大?
RQ 3.增加同伴網(wǎng)絡(luò)的數(shù)量是否能進(jìn)一步提升PeerRec 模型的推薦精度?
RQ 4.本文提出的PeerRec 模型是否具有良好的在線推薦效率?
針對(duì)RQ 1,本文將對(duì)比目前最新的序列推薦模型;針對(duì)RQ 2,本文將通過(guò)拋棄實(shí)驗(yàn)設(shè)計(jì)不同的變體,并觀察模型的性能變化;針對(duì)RQ 3,本文通過(guò)引入更多的同伴網(wǎng)絡(luò),研究模型的性能變化;針對(duì)RQ 4,本文在不同數(shù)據(jù)集上與最新的序列推薦模型對(duì)比,觀察模型的運(yùn)行速率.此外,本文還對(duì)PeerRec 模型的參數(shù)敏感性和不同初始化下的穩(wěn)定性進(jìn)行了討論和分析.
通常,用戶的動(dòng)態(tài)興趣與序列中交互行為的數(shù)量存在較大的相關(guān)性.一方面,單個(gè)用戶的交互行為較多,更容易包含多樣化的用戶興趣;另一方面,單個(gè)用戶的交互行為較少,可反映出有效信息不足導(dǎo)致的不確定性.因此,本文以平均序列長(zhǎng)度為準(zhǔn)則,選取現(xiàn)有工作[1,14,17]中廣泛使用的3 個(gè)公開(kāi)推薦數(shù)據(jù)集(ML-1m 電影評(píng)分[17]、LastFM 音樂(lè)藝術(shù)家推薦[1]和Toys 亞馬遜評(píng)論子類別[1])進(jìn)行了相關(guān)實(shí)驗(yàn).數(shù)據(jù)集的具體情況如表1 所示.
表1 實(shí)驗(yàn)集數(shù)據(jù)統(tǒng)計(jì)表Table 1 Statistics of dataset
借鑒文獻(xiàn)[1,17]中的數(shù)據(jù)預(yù)處理方式,本文將用戶行為按發(fā)生的時(shí)間先后順序排列,并剔除了序列長(zhǎng)度小于5 的不活躍用戶,將每個(gè)序列中的最末一個(gè)行為作為測(cè)試集,倒數(shù)第二個(gè)行為作為驗(yàn)證集,其余部分構(gòu)成訓(xùn)練集.最大序列長(zhǎng)度N設(shè)置為200.為了保證序列的長(zhǎng)度在最大范圍內(nèi),本文將較長(zhǎng)的序列從右到左分割成多個(gè)子序列.
本文使用Adam和線性衰減學(xué)習(xí)率(初始值為1 × 10-4) 訓(xùn)練模型,訓(xùn)練的樣本批量大小設(shè)置為256.在同伴網(wǎng)絡(luò)中,本文設(shè)置多頭自注意力層數(shù)L為2,頭數(shù)R為2,嵌入向量表示的維度d為64,中間隱藏層維度為256.本文采用目前主流的網(wǎng)格搜索方式[9,14],通過(guò)驗(yàn)證集在{0,0.1,0.2,0.3,···,0.9,1.0},{0,0.01,0.02,0.03}和{0,0.5,1.0,1.5,2.0}范圍內(nèi)尋找同伴知識(shí)互增強(qiáng)訓(xùn)練超參數(shù)α、β和γ的最佳組合,并報(bào)告其在測(cè)試集上的性能.最后,本文在ML-1m、LastFM和Toys 數(shù)據(jù)集上得出的最佳參數(shù)組合 (α,β,γ) 分別為 (0.5,0,2.0),(0.5,0.01,1.0)和(0.5,0.02,1.0).
本文的實(shí)驗(yàn)環(huán)境配置如下: Intel(R) Xeon(R)CPU E5-2650 v4 @ 2.20 GHz,NVIDIA TITAN Xp GPU (顯存12 GB),11.0 版本的CUDA.實(shí)驗(yàn)代碼采用2.7 版本的Python和1.14.0 版本的Tensorflow 實(shí)現(xiàn)PeerRec 模型.
根據(jù)常用的評(píng)估方法[1,17],序列推薦模型的性能可以通過(guò) Top-k命中率(Hit ratio,HR@k)、Top-k歸一化折扣累計(jì)收益(Normalized discounted cumulative gain,NDCG@k)和平均倒數(shù)排名(Mean reciprocal rank,MRR)評(píng)估,這3 個(gè)指標(biāo)的取值越高,模型的性能就越好.在本文的工作中,指標(biāo)的k值設(shè)為 {1,5,10}.當(dāng)k取1 時(shí),HR@1 等于NDCG@1.為了在大量的候選行為中實(shí)現(xiàn)高效計(jì)算,本文隨機(jī)選取99 個(gè)負(fù)例行為與預(yù)測(cè)目標(biāo)的行為進(jìn)行排序.
為了驗(yàn)證本文提出的PeerRec 模型的有效性,實(shí)驗(yàn)按照第1.1 節(jié)中現(xiàn)有序列推薦方法對(duì)用戶動(dòng)態(tài)興趣建模方式的分類,設(shè)置了6 個(gè)主流的序列推薦模型,具體如下:
1) POP (Popularity).最簡(jiǎn)單的基線模型,僅通過(guò)用戶與行為交互的頻次(流行度)預(yù)測(cè)用戶的下一個(gè)行為.
2) BERT4Rec (Sequential recommendation with bidirectional encoder representations from transformer)[17].一種基于BERT 語(yǔ)言模型,利用雙向序列信息建模動(dòng)態(tài)興趣的推薦方法.
3) S3-Rec (Self-supervised learning for sequential recommendation)[1].一種利用互信息最大化建模序列和用戶數(shù)據(jù)內(nèi)部關(guān)聯(lián)的序列推薦方法.為了公平對(duì)比,本文去除了對(duì)額外用戶信息建模的模塊,僅利用文中的MIP (Masked item prediction)和SP (Segment prediction)最大化行為序列的內(nèi)部關(guān)聯(lián).
4) HyperRec (Next-item recommendation with sequential hypergraphs)[9].一種利用超圖卷積建模不同時(shí)刻用戶動(dòng)態(tài)興趣的推薦方法.
5) R-CE (Reweighted cross-entropy)[11].一種自適應(yīng)的去噪策略,本文使用該策略重新訓(xùn)練原始的BERT4Rec 模型.
6) STOSA (Stochastic self-attention)[14].目前最新的建模序列動(dòng)態(tài)興趣和行為關(guān)系傳遞性的方法.
本文所使用的推薦模型BERT4Rec、S3-Rec、HyperRec、STOSA 的源代碼均由作者發(fā)布.所有模型都采用了原論文中推薦的參數(shù)設(shè)置.
表2 列出了采用2 個(gè)同伴網(wǎng)絡(luò)時(shí),本文提出的PeerRec 方法與基線方法的對(duì)比結(jié)果.為了便于比較,表2 中加粗的數(shù)值表示最優(yōu)的結(jié)果,下劃線標(biāo)記的數(shù)值表示次優(yōu)的結(jié)果.本文可得出如下結(jié)論:
表2與基線模型在精度指標(biāo)上的對(duì)比Table 2 The comparison with baselines in terms of accuracy based metrics
1) 基于固定向量表示的方法在ML-1m 電影數(shù)據(jù)集上表現(xiàn)較好,但不同指標(biāo)上的優(yōu)勢(shì)不穩(wěn)定.從表2 中可以看出,S3-Rec 在沒(méi)有引入額外用戶信息時(shí)表現(xiàn)不佳.HyperRec 雖然從行為序列的子圖中提取了不同時(shí)刻的用戶興趣,但序列子圖所能提供的信息有限,限制了模型的性能.BERT4Rec 的性能整體優(yōu)于 S3-Rec和HyperRec,說(shuō)明BERT4Rec可以有效利用序列中的雙向語(yǔ)義信息豐富興趣表示的學(xué)習(xí).基于去噪的R-CE 方法在序列信息較豐富的ML-1m 數(shù)據(jù)集上表現(xiàn)較好,而在序列行為較少的LastFM和Toys 數(shù)據(jù)集上表現(xiàn)較差,說(shuō)明用戶交互行為較少時(shí),去噪方法更容易導(dǎo)致有效信息丟失,使推薦性能欠佳.
2) 基于分布函數(shù)的STOSA 方法在短序列上表現(xiàn)較好,尤其在Toys 數(shù)據(jù)集上取得了優(yōu)越的性能,原因在于概率分布增加了模型擬合的行為序列空間,能夠有效捕獲用戶行為之間的演變關(guān)系.在Toys 數(shù)據(jù)集的HR@1 指標(biāo)上,PeerRec 性能稍弱于STOSA,原因在于PeerRec 采用多同伴網(wǎng)絡(luò)集成的方式,可探索更大的解空間[18-19],在候選行為類別數(shù)量較大的Toys 數(shù)據(jù)集上,會(huì)更傾向于從整體優(yōu)化推薦精度.
3) PeerRec 方法中的兩個(gè)同伴網(wǎng)絡(luò)在絕大多數(shù)指標(biāo)上差異較小且優(yōu)于基線方法.在ML-1m、LastFM和Toys 數(shù)據(jù)集上,PeerRec 相比于最好的基線方法,在NDCG@5 指標(biāo)上分別提升了9.02%、5.03%和1.31%.原因在于PeerRec 方法利用多個(gè)同伴網(wǎng)絡(luò)建模行為序列中的動(dòng)態(tài)興趣,可比基于分布函數(shù)的方法探索更大的表示空間,且采用的兩階段同伴知識(shí)互增強(qiáng)訓(xùn)練方式優(yōu)化了同伴網(wǎng)絡(luò)對(duì)潛在樣本中動(dòng)態(tài)興趣的建模能力.由于兩個(gè)同伴性能差異較小并且得到共同提升,在后續(xù)測(cè)試及部署階段,可以只保留一個(gè)同伴網(wǎng)絡(luò),提升在線推薦效率.
如表3 所示,本文首先完全拋棄第2 階段的刻意訓(xùn)練,分析其對(duì)模型性能的影響.然后,如圖4 所示,本文保留第1 階段的知識(shí)蒸餾并拋棄第2 階段刻意訓(xùn)練中的不同成分,設(shè)置如下刻意訓(xùn)練的變體:
表3 知識(shí)蒸餾與刻意訓(xùn)練對(duì)比Table 3 The comparison between knowledge distillation and deliberate practice
圖4 PeerRec 變體在HR@1 指標(biāo)上的對(duì)比Fig.4 The comparison between the variants of PeerRec in terms of HR@1
1)變體 I.拋棄式(10)中刻意訓(xùn)練對(duì)動(dòng)態(tài)興趣的建模(即α設(shè)置為1),僅保留第1 階段的知識(shí)蒸餾和第2 階段中的基于硬標(biāo)簽的交叉熵訓(xùn)練;
2)變體II.拋棄式(7)中利用動(dòng)態(tài)最小組策略過(guò)濾低置信度樣本中的噪音.
通過(guò)對(duì)比知識(shí)蒸餾和2 個(gè)變體在最嚴(yán)格的HR@1 指標(biāo)上輸出的平均值,可得到如下結(jié)論.
1) 第2 階段的刻意訓(xùn)練可以在第1 階段知識(shí)蒸餾的基礎(chǔ)上進(jìn)一步提升性能.本文提出的Peer-Rec 模型是基線模型BERT4Rec 的擴(kuò)展,即僅采用1 個(gè)同伴網(wǎng)絡(luò)時(shí),PeerRec 模型可退化為BERT4-Rec 模型.結(jié)合表3和圖4 可以看出,實(shí)驗(yàn)結(jié)果與本文在第1.2 節(jié)中的分析一致,知識(shí)蒸餾的性能優(yōu)于傳統(tǒng)單模型的BERT4Rec,而PeerRec 模型可以在知識(shí)蒸餾的基礎(chǔ)上進(jìn)一步增強(qiáng)對(duì)潛在樣本中用戶動(dòng)態(tài)興趣的學(xué)習(xí),表明了本文提出的兩階段同伴知識(shí)互增強(qiáng)訓(xùn)練的有效性.
2) 采用2 個(gè)同伴網(wǎng)絡(luò)進(jìn)行兩階段的學(xué)習(xí),但在第2 階段只進(jìn)行硬標(biāo)簽學(xué)習(xí),變體I 的性能會(huì)出現(xiàn)不同程度下降.如圖4 所示,變體I 與完整的Peer-Rec 模型相比,在ML-1m、LastFM和Toys 數(shù)據(jù)集上的平均性能分別下降了1.65%、7.43%和11.54%.這表明通過(guò)刻意訓(xùn)練的互相學(xué)習(xí)可以有效地利用多個(gè)同伴建模序列中的動(dòng)態(tài)興趣,提升模型的性能.
3) 拋棄動(dòng)態(tài)最小組策略的噪音過(guò)濾后,模型性能出現(xiàn)下降.通過(guò)對(duì)比完整的PeerRec 模型和變體II 可以發(fā)現(xiàn),在LastFM和Toys 數(shù)據(jù)集上,本文以比例γ動(dòng)態(tài)地過(guò)濾在所有同伴網(wǎng)絡(luò)中交叉熵?fù)p失都較高的樣本,減少它們對(duì)模型刻意訓(xùn)練的損失貢獻(xiàn),有助于序列推薦精度的提升.相比于純粹去噪的RCE 方法,完整的PeerRec 模型在ML-1m 數(shù)據(jù)集上沒(méi)有過(guò)濾噪音(γ設(shè)置為0),取得了更佳的性能.這主要是因?yàn)樵摂?shù)據(jù)集用戶序列較長(zhǎng)且候選集較小,可以通過(guò)動(dòng)態(tài)興趣建模利用信息,避免純粹去噪方法對(duì)信息的丟失.
為了研究PeerRec 模型中同伴網(wǎng)絡(luò)數(shù)量和動(dòng)態(tài)最小組策略的影響,本文在相同的硬件條件下,通過(guò)采用行為類別數(shù)量較少的ML-1m 數(shù)據(jù)集并減小樣本批量的大小(批量大小為128),使有限的內(nèi)存可以容納更多的同伴網(wǎng)絡(luò).通過(guò)逐步增加同伴網(wǎng)絡(luò)的數(shù)量,對(duì)比分析動(dòng)態(tài)最小組策略和損失平均[39]融合方式在HR@1 指標(biāo)上的均值(圖5 中的陰影部分為動(dòng)態(tài)最小組策略中同伴波動(dòng)的范圍),可得出如下結(jié)論: 三個(gè)同伴網(wǎng)絡(luò)可以進(jìn)一步提升性能.從圖5中可以看出,相對(duì)于2 個(gè)同伴網(wǎng)絡(luò),3 個(gè)同伴網(wǎng)絡(luò)在ML-1m 數(shù)據(jù)集上的性能提升了1.36%.實(shí)驗(yàn)結(jié)果表明,刻意訓(xùn)練可以充分利用多個(gè)同伴網(wǎng)絡(luò)之間的知識(shí)差異,互相提升性能.
圖5 不同同伴網(wǎng)絡(luò)數(shù)量的性能對(duì)比Fig.5 The evaluation on different number of peers
多個(gè)同伴網(wǎng)絡(luò)(3 個(gè)及以上)提升效果有限.從圖5 中可以看出,在相同的參數(shù)設(shè)置下,隨著同伴網(wǎng)絡(luò)數(shù)量增多,模型性能逐漸上升,而后平穩(wěn)變化.這說(shuō)明采用2 個(gè)或3 個(gè)同伴網(wǎng)絡(luò)時(shí),模型性能提升的效果就足以飽和,并不是同伴網(wǎng)絡(luò)的數(shù)量越多,模型的性能越好.
相比于損失平均的同伴融合方式,第2 階段的刻意訓(xùn)練采用動(dòng)態(tài)最小組策略,可以取得更佳的性能.這主要是因?yàn)橥ㄟ^(guò)同伴選擇策略可以有效避免均值計(jì)算帶來(lái)的同伴多樣性丟失問(wèn)題.
不同于現(xiàn)有基線模型采用的單模型結(jié)構(gòu),Peer-Rec 模型利用多同伴網(wǎng)絡(luò)互相學(xué)習(xí)的方式建模動(dòng)態(tài)興趣,且在第4.7 節(jié)中驗(yàn)證了2 個(gè)或3 個(gè)同伴網(wǎng)絡(luò)就足以獲得較好的性能.因此,本節(jié)進(jìn)一步評(píng)估采用2 個(gè)同伴網(wǎng)絡(luò)的PeerRec 模型和基線模型的運(yùn)行效率.如圖6 所示,本文列出了樣本批量為256時(shí)模型的迭代速率(iter/s),并標(biāo)出了PeerRec 模型在訓(xùn)練和測(cè)試階段的速率差異.可以發(fā)現(xiàn),Peer-Rec 模型在ML-1m和LastFM 數(shù)據(jù)集上超過(guò)目前最新的STOSA 模型,并在Toys 數(shù)據(jù)集上保持相當(dāng)?shù)乃俾?這主要是因?yàn)镻eerRec 模型在測(cè)試階段只保留1 個(gè)同伴網(wǎng)絡(luò),模型的參數(shù)數(shù)量減少到與BERT4Rec 模型一致,可以顯著提升在線推薦速率,而STOSA 模型概率分布的參數(shù)(如均值和方差)進(jìn)一步增加了模型的參數(shù)量.
圖6 Batch 大小設(shè)置為256 時(shí),模型的迭代速率Fig.6 The running speed of different models with batch size 256
在訓(xùn)練階段,由于PeerRec 模型采用了多個(gè)同伴網(wǎng)絡(luò),迭代速率低于基于固定向量表示的基線模型,但與基于分布函數(shù)的STOSA 模型相當(dāng).從圖6可以看出,STOSA 模型迭代速率在Toys 數(shù)據(jù)集上增大,原因在于STOSA 模型采用的貝葉斯個(gè)性化排序(Bayesian personalized ranking,BPR)損失在候選集較大時(shí)的計(jì)算代價(jià)更小.值得注意的是,在工業(yè)部署和實(shí)際應(yīng)用中,訓(xùn)練過(guò)程以較高的計(jì)算代價(jià)換取精度的提升通常是可以接受的,而測(cè)試階段的在線推薦通常對(duì)模型的效率有較高的要求.因此,本文提出的PeerRec 模型的優(yōu)勢(shì)在于,通過(guò)多個(gè)同伴間的互相學(xué)習(xí)不僅使模型精度獲得提升,而且可以保持良好的在線推薦效率.
本文在第4.2 節(jié)給出了通過(guò)網(wǎng)格搜索[9,14]獲得的最佳參數(shù)組合.為了單獨(dú)研究不同參數(shù)對(duì)第2 階段刻意訓(xùn)練的影響,本節(jié)分別調(diào)節(jié)最佳參數(shù)組合下超參數(shù)α,β,γ的大小,同時(shí)保持其他參數(shù)值不變,并觀察模型在測(cè)試集上的性能變化,可以觀察到如下現(xiàn)象: 1) 關(guān)于損失平衡因子α的影響.以圖7(a)中陰影區(qū)域?yàn)榻?可以看出隨著損失平衡因子α由小變大,模型會(huì)分別進(jìn)入3 種不同的學(xué)習(xí)狀態(tài),即基于刻意訓(xùn)練的主導(dǎo)狀態(tài)、刻意訓(xùn)練與交叉熵學(xué)習(xí)的平衡狀態(tài)、基于交叉熵學(xué)習(xí)的主導(dǎo)狀態(tài).在前兩個(gè)狀態(tài)中(基于刻意訓(xùn)練的主導(dǎo)狀態(tài)和平衡狀態(tài)),可以觀察到兩個(gè)同伴網(wǎng)絡(luò)的性能差異較小,而基于交叉熵學(xué)習(xí)的主導(dǎo)狀態(tài)中兩個(gè)模型的性能差異逐漸拉大,表明本文提出的基于刻意訓(xùn)練的互相學(xué)習(xí),可以拉近兩個(gè)同伴的距離.此外,相對(duì)于知識(shí)蒸餾,交叉熵中對(duì)硬標(biāo)簽的訓(xùn)練,同樣可以關(guān)注到一部分潛在樣本,只是增強(qiáng)的效果有限.從圖7(a)中可以看出,對(duì)于不同的學(xué)習(xí)狀態(tài),曲線都會(huì)出現(xiàn)下降或先上升再下降的趨勢(shì),這是因?yàn)樵趯W(xué)習(xí)狀態(tài)的切換過(guò)程中,非主導(dǎo)作用的學(xué)習(xí)起到正則項(xiàng)的作用,可以給模型提供關(guān)于參數(shù)學(xué)習(xí)的額外信息,避免模型陷入欠擬合或過(guò)擬合.2) 關(guān)于過(guò)濾噪音比例β的影響.從圖7(b)中可以看出,在ML-1m 數(shù)據(jù)集上,隨著過(guò)濾比例β增大,模型性能下降.這表明簡(jiǎn)單地將包含動(dòng)態(tài)興趣的序列當(dāng)作噪音處理,會(huì)損失一部分有用的信息.3) 關(guān)于調(diào)節(jié)刻意訓(xùn)練強(qiáng)度的超參數(shù)γ的影響.從圖7(c)中可以看出,隨著γ增大,模型性能整體呈現(xiàn)上升趨勢(shì),說(shuō)明較大的γ值會(huì)使模型對(duì)同伴傳遞的知識(shí)更加敏感,一定程度上有利于模型對(duì)序列中的動(dòng)態(tài)興趣建模.
圖7 超參數(shù)敏感性分析Fig.7 Sensitivity analysis of hyper-parameters
本文主要采用截?cái)嗾龖B(tài)分布(Truncated normal distribution,TND)隨機(jī)初始化同伴網(wǎng)絡(luò),使模型獲得多樣性[20,39].為了分析不同初始化方式對(duì)模型穩(wěn)定性的影響,本文在兩個(gè)同伴網(wǎng)絡(luò)的基礎(chǔ)上,進(jìn)一步對(duì)比另外兩種主流的初始化方式,即Xavier[44]和Kaiming[45],并觀察模型在各個(gè)指標(biāo)上均值的差異.
從表4 中可以看出,本文提出的PeerRec 模型受初始化方式的影響較小,在3 個(gè)數(shù)據(jù)集上都表現(xiàn)出良好的性能.該實(shí)驗(yàn)結(jié)果與本文在第3.2 節(jié)中的分析一致.這主要是因?yàn)槎鄠€(gè)同伴網(wǎng)絡(luò)從不同的初始點(diǎn)開(kāi)始互相學(xué)習(xí),弱化了初始化對(duì)同伴網(wǎng)絡(luò)的影響,并且多個(gè)網(wǎng)絡(luò)組成一個(gè)學(xué)習(xí)共同體,可以從全局的角度探索更大的解空間,尋找到比單個(gè)模型更佳的局部最優(yōu)解,獲得較好的泛化性能.
表4 PeerRec 模型采用不同初始化的性能對(duì)比Table 4 The performance comparison between different initializations of our PeerRec
本文針對(duì)序列推薦任務(wù)中,由用戶動(dòng)態(tài)興趣導(dǎo)致的行為序列建模不確定性問(wèn)題進(jìn)行研究,提出了一種同伴知識(shí)互增強(qiáng)下的序列推薦方法(PeerRec).該方法結(jié)合多個(gè)同伴網(wǎng)絡(luò)和同伴知識(shí)互增強(qiáng)的訓(xùn)練,允許多個(gè)同伴在同一框架下互相學(xué)習(xí),通過(guò)交換不同用戶興趣表示預(yù)測(cè)的概率分布,優(yōu)化自身對(duì)用戶動(dòng)態(tài)興趣的建模.通過(guò)同伴知識(shí)互增強(qiáng)的訓(xùn)練,所有同伴網(wǎng)絡(luò)的推薦性能可以得到共同提升,且在測(cè)試階段僅保留任意一個(gè)同伴網(wǎng)絡(luò),可以獲得良好的在線推薦效率.3 個(gè)公開(kāi)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明了本文提出的PeerRec 方法的優(yōu)越性.
本文的后續(xù)工作將從兩方面展開(kāi).一方面,Peer-Rec 模型主要關(guān)注序列的下一個(gè)行為.然而,實(shí)際場(chǎng)景需要考慮更多的狀況,如多個(gè)用戶之間的關(guān)聯(lián)、連續(xù)行為的預(yù)測(cè).如何擴(kuò)展PeerRec 模型到多模態(tài)序列推薦、序列到序列(Seq2Seq)推薦等復(fù)雜的序列任務(wù)依然存在挑戰(zhàn).另一方面,第2 階段刻意訓(xùn)練雖然可以有效彌補(bǔ)第1 階段知識(shí)蒸餾的不足,但這種分開(kāi)訓(xùn)練的方式粒度較粗,為進(jìn)一步研究知識(shí)蒸餾內(nèi)部機(jī)制留下了空間.