丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能學術 正文
發(fā)私信給知情人士
發(fā)送

0

100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型

本文作者: 知情人士 2021-06-29 16:43
導語:今天,AI 科技評論將為大家介紹一篇由中科院先進所、騰訊、華南理工近日合作發(fā)表在信息檢索領域頂會 SIGIR 2021上的一篇論文

100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型

AI科技評論報道

編輯 | 陳大鑫

大家都知道,現(xiàn)有的序列推薦算法大多采用淺層的神經(jīng)網(wǎng)絡結構。
而今天,AI 科技評論將為大家介紹一篇由中科院先進所、騰訊、華南理工近日合作發(fā)表在信息檢索領域頂會 SIGIR 2021上的一篇論文,這篇論文發(fā)現(xiàn)通過對殘差塊結構進行微小的修改,序列推薦模型能夠使用更深的網(wǎng)絡結構以進一步提升精準度,也就是,推薦模型也能夠像計算機視覺領域的模型那樣擁有100層以上的深度并獲得最優(yōu)性能。
在此基礎上,論文提出一個高效且通用的框架 StackRec 來加速深度序列推薦模型的訓練,并應用到多種實際的推薦場景中。
100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
論文地址:https://arxiv.org/pdf/2012.07598.pdf
代碼+數(shù)據(jù)地址:https://github.com/wangjiachun0426/StackRec

1

100層深的序列推薦模型

由于推薦系統(tǒng)中的數(shù)據(jù)稀疏性問題以及深度學習中的梯度消失、梯度爆炸問題,現(xiàn)有的序列推薦算法往往采用淺層的神經(jīng)網(wǎng)絡結構(一般不超過10層,例如GRU4Rec通常1層最優(yōu),SASRec通常2個殘差塊最優(yōu))。
而本文這篇StackRec論文發(fā)現(xiàn),通過對序列推薦模型的殘差塊進行微小的修改,在殘差塊的殘差映射上添加一個權重系數(shù),極深的網(wǎng)絡也能得到有效的穩(wěn)定的訓練,從而緩解過擬合問題。
具體來說,如圖1所示,我們可以對殘差塊中的殘差映射添加一個系數(shù),來衡量殘差映射的權重,信號傳播公式為:
100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
其中,被初始化為0,使得殘差塊在初始化階段表示為一個單位函數(shù),從而滿足動態(tài)等距理論 [1]。論文作者在NextItNet [2]上進行實驗,發(fā)現(xiàn)當訓練數(shù)據(jù)充足時,隨著網(wǎng)絡深度的增加,推薦模型的表現(xiàn)越來越好,最多可使用128層的深度并獲得最優(yōu)性能,如圖2(b)所示。
100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
圖1 改進后的殘差塊結構圖
100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
圖2 不同訓練數(shù)據(jù)量和網(wǎng)絡深度的影響

2

StackRec算法動機

加深序列推薦模型帶來了明顯的精準度提升,但訓練時間也會受到影響。
一方面,深度神經(jīng)網(wǎng)絡的訓練本身就需要大量的時間來進行計算和迭代優(yōu)化;
另一方面,在現(xiàn)實應用中,推薦系統(tǒng)承載的用戶數(shù)量和物品數(shù)量往往可達到成百上千萬,交互記錄數(shù)量可達到數(shù)百億,這樣大規(guī)模訓練數(shù)據(jù)的使用也在一定程度上增加了特別深模型的訓練時間。如何在不損失精準度的條件下提升深度序列推薦模型的訓練效率是一個極具學術研究意義和商業(yè)應用價值的問題,StackRec論文對此進行研究和探討。
論文對現(xiàn)有的深度序列推薦算法進行觀察,總結了一些特點和規(guī)律:
1、現(xiàn)有的深度序列推薦模型呈現(xiàn)為“三明治”結構,包含三個模塊,底層是用于表示交互序列的嵌入表示層,頂層是用于生成預測結果概率分布的Softmax層,中間是多個隱含層(通常為殘差網(wǎng)絡)。網(wǎng)絡的深度可以通過控制殘差塊的數(shù)量來改變。
2、最近的研究工作CpRec [3]展示了深度序列推薦模型的中間層參數(shù)可以通過多種方式跨層共享。例如,CpRec頂部的層/塊使用與底部完全相同的參數(shù),從而減少參數(shù)的存儲空間,實現(xiàn)模型壓縮。
3、如圖3所示,在深度序列推薦模型的中間層中,每兩個相鄰殘差塊輸出的特征圖非常相似,這潛在地表明這些塊在某種程度上具有相似的功能。
100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
圖3 殘差塊輸出的特征圖之間的余弦相似度
這些觀察表明,中間層學習到的知識可以通過某種方式進行共享,因為它們存在高度的相似性。
這啟發(fā)了論文作者思考,能否先訓練一個淺層推薦模型,然后復制其參數(shù)并堆疊出一個更深的模型。通過添加新的層,或許能夠擴展模型容量,提高推薦精準度。
通過為新加的層賦予較好的初始化參數(shù),或許能夠加快模型收斂,減少訓練時間,事實上這種現(xiàn)象在CV和NLP等模型上也存在。

3

StackRec算法框架

StackRec算法的非常簡單,就是采用對一個淺層序列推薦模型進行多次層堆疊(Layer Stacking),從而得到一個深層序列推薦模型。
具體來說,訓練過程包含以下步驟:
1)預訓練一個淺層序列推薦模型;
2)對該模型進行層堆疊,得到一個兩倍深度的模型;
3)微調(diào)這個深層模型;
4)將深層模型作為一個新的淺層模型,重復1)至3)直到滿足業(yè)務需求。
100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
圖4 兩種按塊進行的堆疊方式示意圖
對于步驟2),論文提出兩種按塊進行的堆疊方式:相鄰塊堆疊(Adjacent-block Stacking)和交叉塊堆疊(Cross-block Stacking)。假設我們有一個訓練好的擁有塊的模型(也就是淺層模型),那么我們可以通過復制這個淺層模型的參數(shù)來構造一個擁有塊的深層模型。我們按照以下方式進行相鄰塊堆疊:對于,深層模型的第個塊和第個塊與淺層模型的第個塊擁有相同的參數(shù)。同理,我們按照以下方式進行交叉塊堆疊:對于,深層模型的個塊和第個塊與淺層模型的第個塊擁有相同的參數(shù)。圖4展示了相鄰塊堆疊和交叉塊堆疊這兩種堆疊方式,假設為2。這兩種堆疊方式是可以互相替代的。它們剛好對應了CpRec中兩種按塊進行的參數(shù)共享機制。
通過這兩種堆疊方式,步驟1)中訓練好的淺層模型參數(shù)可以遷移到深層模型中,這對于深層模型來說是一種很好的熱啟動方式。通過步驟3)的微調(diào),深層模型能夠快速收斂,達到其最優(yōu)性能。這種方式比起標準的從頭開始訓練方式,能夠獲得一定程度的訓練加速效果。而且StackRec算法可以循環(huán)執(zhí)行上述堆疊過程,快速獲得一個很深的模型。
StackRec算法是一個通用的框架,可以使用NextItNet、GRec、SASRec、SSEPT等深度序列推薦模型作為基準模型,提升它們的訓練效率。論文作者使用NextItNet作為案例來闡述StackRec算法的使用,但在實驗中也報告了StackRec算法在其它模型上的性能表現(xiàn),以證明StackRec算法的通用性。
StackRec算法在三種場景中的應用
論文作者將StackRec算法應用到持續(xù)學習、從頭開始訓練、遷移學習這三種常見的推薦場景中。

(1)持續(xù)學習場景

100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
圖5 持續(xù)學習場景中StackRec算法架構圖
在真實的生產(chǎn)環(huán)境中,推薦系統(tǒng)會經(jīng)歷兩個階段:數(shù)據(jù)匱乏階段和數(shù)據(jù)充沛階段。
在數(shù)據(jù)匱乏階段,推薦系統(tǒng)處于使用初期,缺乏訓練數(shù)據(jù),無論是用戶和物品數(shù)量還是交互行為數(shù)量都很有限。在這個冷啟動階段,由于訓練數(shù)據(jù)過于稀疏,使用淺層的推薦模型就足以獲得較好的性能。若使用深層的推薦模型,可能會遇到過擬合問題,而且還會導致無意義的計算成本。
推薦系統(tǒng)部署上線后,隨著新數(shù)據(jù)的產(chǎn)生,訓練數(shù)據(jù)逐漸累積,推薦系統(tǒng)進入數(shù)據(jù)充沛階段,原有的淺層模型表達能力不足,我們需要重新構建并訓練一個更深的網(wǎng)絡以獲得容量更大的模型,從而實現(xiàn)更好的推薦精準度。
在這樣的場景中,StackRec算法就能起到很大的作用,因為它能夠從淺層模型中遷移有用的知識到目標深層模型中,加速深層模型的訓練,這使得我們不需要從頭開始訓練一個模型。
更具前瞻性的是,真實的推薦系統(tǒng)會持續(xù)產(chǎn)生新的訓練樣本,最終能夠變成終身學習(Lifelong Learning)系統(tǒng)。StackRec算法能夠輕松地訓練一個層數(shù)更多、容量更大的推薦模型,即時應用到終身學習系統(tǒng)中。
我們將這種推薦場景命名為持續(xù)學習(Continual Learning,CL)場景。
算法 1 持續(xù)學習場景中的逐步堆疊

100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型

StackRec算法在CL場景中的使用如圖5所示。假設是訓練樣本,是在系統(tǒng)上收集訓練樣本的時間刻度。在初始時刻,我們用樣本訓練一個隨機初始化的有個塊的淺層NextItNet,并將得到的模型部署上線。推薦系統(tǒng)處于冷啟動狀態(tài),模型開始提供服務。當系統(tǒng)積累了更多的訓練數(shù)據(jù)(包含),模型由于網(wǎng)絡較淺,無法實現(xiàn)最優(yōu)的性能。此時我們希望使用一個層數(shù)更多、表達能力更強的模型,于是,我們執(zhí)行StackRec的堆疊操作,將NextItNet的層數(shù)翻倍為個塊。
由于網(wǎng)絡的連接突然發(fā)生變化,深層網(wǎng)絡需要在樣本上進行微調(diào)直到收斂,即可得到模型。真實的推薦系統(tǒng)每天都會產(chǎn)生大量新的數(shù)據(jù),上述堆疊和微調(diào)操作可以重復執(zhí)行下去。算法1展示了這樣的逐步堆疊過程。事實上,按照這樣的方式,StackRec可以被視作終身學習模型,輕松快捷地獲得一個深度模型并投入使用。
(2)從頭開始訓練場景
在具體實踐中,不同于持續(xù)學習場景,有時候我們需要從頭開始訓練一個新的深度序列推薦模型,而不利用舊模型的知識。在這種從頭開始訓練(Training from Scratch,TS)場景中,StackRec算法同樣能夠起到一定程度的訓練加速作用。當我們需要一個深層模型時,我們可以先訓練一個淺層模型若干步,接著使用StackRec算法將它復制并堆疊成深層模型,然后進一步訓練它直到收斂。
與CL場景相比,StackRec算法在TS場景中的使用有兩個不同點:
1、淺層模型使用全部數(shù)據(jù)進行訓練,而非部分數(shù)據(jù);
2、淺層模型不能訓練直到收斂。
如果我們知道訓練一個模型直到收斂的總步數(shù),那么我們只需要訓練淺層模型大約其步即可。在TS場景中,StackRec算法能夠幫助我們減少模型訓練時間,是因為訓練淺層模型所需時間更少,速度更快,并且堆疊方式中的知識遷移也帶來一定的訓練加速作用。
值得注意的是,淺層模型和深層模型使用相同的數(shù)據(jù)進行訓練,如果將淺層模型訓練直到收斂,那么深層模型會快速過擬合,無法找到更優(yōu)的參數(shù)空間。算法 2闡述了StackRec算法在從頭開始訓練場景中的使用。
算法 2 從頭開始訓練場景中的逐步堆疊

100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型

(3)遷移學習場景
序列推薦模型可以通過無監(jiān)督/自監(jiān)督方式來訓練,因此模型的輸出可以被視作個性化的用戶表示,并遷移到下游任務中,解決下游任務的用戶冷啟動問題。PeterRec是第一個展示序列推薦模型具有遷移學習能力的工作。
受此啟發(fā),StackRec論文試圖探索StackRec算法能否作為通用的預訓練模型,有效地應用到下游任務中。
因此,在遷移學習(Transfer Learning,TF)場景中,我們可以使用StackRec算法訓練一個深度序列推薦模型作為預訓練模型,然后應用到下游任務中。根據(jù)實際業(yè)務需要,我們可以自由地選擇使用CL場景中的StackRec算法過程,或是TS場景中的StackRec算法過程。論文作者按照CL場景的算法過程來展示StackRec算法在TF場景中的表現(xiàn)。
事實證明,在TF場景中,StackRec算法同樣能夠用于加速預訓練模型的訓練,并且成功遷移到下游任務中,不損失預訓練模型和目標模型的精準度。

4

實驗

論文作者在ML20、Kuaibao和ColdRec這三個真實世界的數(shù)據(jù)集上進行大量實驗,使用MRR@N、HR@N和NDCG@N這三個評估指標來評估模型的推薦精準度,并報告了相對于基準模型的訓練加速比Speedup以分析訓練效率。
其中StackA-Next-k:代表使用相鄰塊堆疊方式的StackRec;StackC-Next-k:代表使用交叉塊堆疊方式的StackRec,后綴-k表示所含塊數(shù)。
(1)StackRec算法在持續(xù)學習場景中的表現(xiàn)
這個實驗模擬了持續(xù)學習場景中數(shù)據(jù)不斷增加的過程。由表1可見,首先,在ML20和Kuaibao這兩個數(shù)據(jù)集上,NextItNet-8 () 比NextItNet-4 () 表現(xiàn)得更好,這表明當序列推薦模型擁有更多訓練數(shù)據(jù)時,使用一個更深的網(wǎng)絡結構能獲得更高的精準度。其它設置(和)下的實驗結果也展示了相同的情況。
然而,從頭開始訓練一個更深的模型需要花費更多的計算成本和訓練時間。而StackRec模型,包括StackC-Next-8和StackA-Next-8,實現(xiàn)了與NextItNet-8 () 同等甚至更好的推薦精準度,同時獲得2.5倍的訓練加速效果。
這表明,使用好的參數(shù)初始化方式來熱啟動深度序列推薦模型,能使模型在微調(diào)過程中快速收斂,并保持同等的精準度。圖6展示了相應的收斂過程,很明顯,在相同的層數(shù)下,StackRec比NextItNet收斂更快,推薦精準度也略高。
表1 持續(xù)學習場景中的實驗結果
100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
圖6 持續(xù)學習場景中的收斂過程
(2)StackRec算法在從頭開始訓練場景中的表現(xiàn)
為了獲得一個32塊的StackRec,首先可以訓練一個8塊的NextItNet(訓練時間用黃色線表示),然后使用相鄰塊堆疊將它加深為16塊,并執(zhí)行微調(diào)(訓練時間用橙色線表示);而后,進一步將它加深為32塊,并訓練直到收斂(訓練時間用紅色線表示)。
由圖7可見,在ML20數(shù)據(jù)集上,StackRec總的訓練時間縮短了40%(280分鐘相對于490分鐘),在Kuaibao數(shù)據(jù)集上則縮短了35%(480分鐘相對于740分鐘)。
StackRec能夠獲得訓練加速的原因在于:
1、訓練一個淺層模型需要的時間更少;
2、從淺層模型遷移參數(shù)來熱啟動深層模型有助于訓練收斂。
100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
圖7 從頭開始訓練場景中的訓練曲線
(3)StackRec算法在遷移學習場景中的表現(xiàn)
為了檢驗StackRec算法的遷移學習能力,我們在ColdRec的源域數(shù)據(jù)集上使用StackRec算法預訓練一個模型,然后簡單地在最后一個隱含層后面增加一個新的Softmax層。原有的層使用預訓練的參數(shù),新的層使用隨機初始化參數(shù),隨后,在目標域數(shù)據(jù)集上微調(diào)所有參數(shù)。
從表2可以看出,StackRec相比于NextItNet-16獲得3倍的訓練加速,并且它的精準度在預訓練和微調(diào)后沒有任何損失。在實際應用中,預訓練模型通常需要使用一個大規(guī)模數(shù)據(jù)集進行長時間的訓練,對高性能硬件資源和時間成本的需求阻礙了它的應用落地,預訓練模型的訓練效率成為遷移學習的關鍵問題。StackRec算法能在這樣的遷移學習場景中起到很大作用。
表2 遷移學習場景中的實驗結果
100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型
(4)另外,StackRec論文還進行了大量消融分析和通用性證明實驗,包括不同堆疊方式的比較、不同堆疊塊數(shù)的比較、不同基準模型的實例化等實驗,以探究StackRec算法的合理性、有效性、靈活性和通用性。
具體實驗結果可查閱論文原文。

5

總結

StackRec論文探究了深度序列推薦模型中網(wǎng)絡深度的影響,發(fā)現(xiàn)了模型隱含層之間具有很高的相似性,然后設計了相鄰塊堆疊和交叉塊堆疊兩種堆疊方式。
并將算法實例化到NexItNet等多個序列推薦模型上,應用到持續(xù)學習、從頭開始訓練、遷移學習三個推薦場景中,在不損失推薦精準度的條件下,實現(xiàn) 2倍以上的訓練加速效果。
值得注意的是,StackRec僅僅適用于training階段,對于線上推理階段深度序列推薦模型加速問題,可以參考同時期工作SkipRec [4]發(fā)表在AAAI2021。
參考文獻:
[1] Dynamical isometry and a mean field theory of cnns: How to Train 10,000- Layer Vanilla Convolutional Neural Networks. Xiao et al, ICML2018
[2] A Simple Convolutional Generative Network for Next Item Recommendation. Yuan et al. WSDM2019
[3] A Generic Network Compression Framework for Sequential Recommender Systems. Sun et al. SIGIR2020
[4] SkipRec: A User-Adaptive Layer Selection Framework for Very Deep Sequential Recommender Models. Chen et al. AAAI2021

100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型

雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)


雷峰網(wǎng)特約稿件,未經(jīng)授權禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

100層序列推薦模型也能被加速訓練!這篇頂會論文帶你探索Very Deep RS模型

分享:
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說