成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    人工智能學術 正文
    發私信給知情人士
    發送

    0

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

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

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

    AI科技評論報道

    編輯 | 陳大鑫

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

    1

    100層深的序列推薦模型

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

    2

    StackRec算法動機

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

    3

    StackRec算法框架

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

    (1)持續學習場景

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

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

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

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

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

    4

    實驗

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

    5

    總結

    StackRec論文探究了深度序列推薦模型中網絡深度的影響,發現了模型隱含層之間具有很高的相似性,然后設計了相鄰塊堆疊和交叉塊堆疊兩種堆疊方式。
    并將算法實例化到NexItNet等多個序列推薦模型上,應用到持續學習、從頭開始訓練、遷移學習三個推薦場景中,在不損失推薦精準度的條件下,實現 2倍以上的訓練加速效果。
    值得注意的是,StackRec僅僅適用于training階段,對于線上推理階段深度序列推薦模型加速問題,可以參考同時期工作SkipRec [4]發表在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模型

    雷鋒網雷鋒網雷鋒網


    雷峰網特約稿件,未經授權禁止轉載。詳情見轉載須知

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

    分享:
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說