购物篮推荐场景太复杂?没有商品相关性标签?看作者运用对比学习统统解决...
?PaperWeekly 原創(chuàng) · 作者 |?Yuqi Qin
學(xué)校 |?北京郵電大學(xué)
研究方向?|?推薦系統(tǒng)
本文關(guān)注的是對購物籃去噪。目的是:從歷史購物籃序列中挑選出真正可信賴的相關(guān)商品,來對每個購物籃實現(xiàn)商品級別的去噪,以提高購物籃推薦效果。
論文標(biāo)題:
The World is Binary: Contrastive Learning for Denoising Next Basket Recommendation
論文作者:
Yuqi Qin, Pengfei Wang, Chenliang Li
收錄情況:
SIGIR 2021 Full Paper
代碼鏈接:
https://github.com/QYQ-bot/CLEA
背景
首先介紹一下這篇論文的 task,也就是下一個購物籃推薦,也就是根據(jù)用戶的歷史購物籃序列,來推薦用戶在下一次可能購買的商品集合。
與傳統(tǒng)的下一個商品推薦不同的是,在購物籃推薦中,由于用戶行為的多樣性與隨機性,很多風(fēng)格迥異的商品可能同時出現(xiàn)在同一個購物籃中,并非所有的購物籃都對預(yù)測用戶下一次的行為有幫助,因此對購物籃進行去噪以及挑選出真正可信賴的相關(guān)商品就顯得很有必要。
同時,由于一個購物籃中往往包含了超過一個的商品,對于目標(biāo)購物籃中不同的目標(biāo)商品,他們的相關(guān)商品也是不一樣的,因此去噪過程應(yīng)該是上下文感知的,這樣歷史商品相關(guān)性應(yīng)該依賴于目標(biāo)商品。(如圖 1,目標(biāo)購物籃 B=3,對其中的 grape 來說,pear 和 orange 才是相關(guān)商品;而對于 footbal 來說,footbal shoe 和 football shirt 才是相關(guān)商品)
然而現(xiàn)有的一些方法主要關(guān)注于利用完整的歷史序列進行序列建模,并且缺少了針對不同目標(biāo)商品的上下文感知,這樣將會導(dǎo)致引入很多的噪聲,影響推薦性能。當(dāng)然,為了減少噪聲的影響,大家將注意力機制引入到序列建模中來,根據(jù)商品的相關(guān)性給不同商品分配不同的權(quán)重,但這種方式仍然不能顯式的挖掘出可信的序列模式。
挑戰(zhàn)
但是由于商品的相關(guān)性學(xué)習(xí)是沒有直接 label 的,因此很難去訓(xùn)練出一個有效的去噪模型。同時用戶行為的隨機性與多樣性加劇了學(xué)習(xí)的困難程度。
模型
基于上述分析的種種原因,作者提出了一個對比學(xué)習(xí)模型來自適應(yīng)的挑選出與目標(biāo)商品相關(guān)聯(lián)的部分商品用于下一個購物籃推薦。
模型主要分為了 2 個部分:子購物籃序列生成器也就是去噪模塊和上下文編碼器。
3.1 去噪模塊
第一個去噪模塊相當(dāng)于一個二分類器 ,決定了歷史序列中某商品 是否與目標(biāo)商品 相關(guān),主要用來顯式的從每個購物籃中挑選出與目標(biāo)商品相關(guān)的商品。
當(dāng) 時,;當(dāng) 時,;
但由于 hard-coding 方式是不可微的,因此作者通過使用 gumbel-softmax 方式來解決這個問題,其中 是從 gumbel 分布中采樣的隨機數(shù)。
當(dāng) 時, 趨向于 0 或 1;當(dāng) 時, 趨向于 0.5。
對于購物籃 中的商品 ,若 ,則將商品 歸為正子購物籃 中;反之,歸為負(fù)子購物籃 中。經(jīng)過此過程后,便可以將完整的購物籃序列拆分成兩個互不相交的子購物籃序列。
3.2 上下文編碼器
將第一階段得到的子購物籃序列輸入到第二階段的基于 gru 的上下文編碼器,將子購物籃序列編碼為一個固定長度的向量,用來表示用戶對目標(biāo)商品的相關(guān)偏好亦或者是用戶對目標(biāo)商品的無關(guān)偏好。最后用該向量計算出一個 0-1 之間得分,用來表示用戶下一次將會購買該目標(biāo)商品的概率。
首先通過 pooling 的方式得到購物籃的表達:
將購物籃表達輸入到 GRU 編碼器:
, 同理。
最后輸出的隱狀態(tài)作為用戶對目標(biāo)商品 的偏好。并計算得分:
, 同理。
3.3 基于錨指導(dǎo)的對比學(xué)習(xí)
為了更好的對商品相關(guān)性進行建模,作者還提出了用于相關(guān)性建模的對比學(xué)習(xí)過程——將正的子購物籃序列算出的分?jǐn)?shù)稱為 , 將負(fù)的子購物籃序列算出的分?jǐn)?shù)稱為 , 完整的購物籃序列算出的得分稱為 也就是錨點。
普通的交叉熵 Loss 為:
為了保證去噪模塊得到有效學(xué)習(xí),防止去噪模塊的劣等學(xué)習(xí)被通過更新上下文編碼器或偏好嵌入等其他參數(shù)來輕松修復(fù),設(shè)計了基于錨指導(dǎo)的 loss 函數(shù),讓:
, 讓,loss 函數(shù)為:
, ? 為 sigmoid。
并且為了減小模式的訓(xùn)練難度,作者還提出了一個兩階段的學(xué)習(xí)過程:第一個階段稱為預(yù)訓(xùn)練階段,直接將完整的購物籃序列輸入到上下文編碼器模塊,最后算出得分 ,用 也就是交叉熵目標(biāo)函數(shù)訓(xùn)練讓 越來越大,直至收斂,是為了獲得一個預(yù)訓(xùn)練好的上下文編碼器。在第二個階段,也就是交替訓(xùn)練階段。
我們首先使用上一階段訓(xùn)練好的上下文編碼器,通過上述提出的對比學(xué)習(xí) loss 函數(shù) 來只更新去噪生成器直至收斂;然后再固定去噪生成器,使用同樣的 loss 函數(shù)來只更新上下文編碼器直至收斂。并將此交替訓(xùn)練過程過程一直循環(huán)。
實驗效果
4.1 主實驗
4.2 分組實驗
4.3 loss函數(shù)對比
其中, 為普通的交叉熵 Loss,可以看出作者提出的基于錨指導(dǎo)的對比學(xué)習(xí) loss 學(xué)習(xí)起來效果更佳。
4.4 gumbel-softmax的模擬退火參數(shù)影響
,其中 為全局的迭代次數(shù),每迭代 500 次溫度系數(shù) 便按照上述公式衰減一次。
可以看出,需要一個較大的初始溫度系數(shù) 來保證在開始時有更大的搜索解空間,繼續(xù)提高初始溫度時,整體性能下降,其原因是較高的溫度加劇了模型收斂的困難。對于衰減系數(shù)也有出相似的發(fā)現(xiàn),較小的 會使 CLEA 難以匯聚,較高的 限制了在更廣闊的采樣空間中探索的能力。實驗結(jié)果表明,初始 , 時比較好。
4.5 模型的3個變體結(jié)果對比
其中, 為刪掉去噪模塊的 模型變體; 為只根據(jù) 作為 attention 系數(shù)來得到相關(guān)的子購物籃的表示; 為不采用作者提出的兩階段的訓(xùn)練方式進行訓(xùn)練,直接采用聯(lián)合訓(xùn)練。可以看出 效果最佳。
4.6 維度影響
可以看出,在小維情況下都達到了最佳性能,這也體現(xiàn)了去噪的作用。
4.7 case study
小結(jié)與展望
本文針對下一籃推薦場景中的去噪問題,提出了一種對比學(xué)習(xí)模型(CLEA)來自動提取與下一籃推薦目標(biāo)相關(guān)的商品。具體地說,我們首先設(shè)計一個去噪模塊來自適應(yīng)地識別歷史購物籃中的每個物品是否與目標(biāo)物品相關(guān)。
通過將初始籃子分解為兩個子籃子,再通過基于 gru 的上下文編碼器得到它們的表示,該編碼器表示與目標(biāo)項目相關(guān)的興趣或無關(guān)的噪聲。然后,一個新的錨指導(dǎo)的對比學(xué)習(xí)過程被設(shè)計,在不需要任何商品級的關(guān)聯(lián)監(jiān)督的同時來指導(dǎo)這個關(guān)聯(lián)學(xué)習(xí)過程。
這是為下一個籃子推薦以端到端方式對籃子執(zhí)行商品級去噪的第一個工作。作為未來的工作,作者計劃利用弱監(jiān)督信號更好地理解項目之間的相互作用,以進一步改進。
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識的人。
總有一些你不認(rèn)識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得或技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標(biāo)準(zhǔn):
? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?
? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?
? PaperWeekly 默認(rèn)每篇文章都是首發(fā),均會添加“原創(chuàng)”標(biāo)志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發(fā)送?
? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通
????
現(xiàn)在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的购物篮推荐场景太复杂?没有商品相关性标签?看作者运用对比学习统统解决...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘系统重装文件怎么恢复出厂设置吗 U盘
- 下一篇: 细节满满!理解对比学习和SimCSE,就