1什么是長尾問題
長尾問題一直是很多場景中最難優(yōu)化的問題,特別是在推薦系統(tǒng)領(lǐng)域,長尾問題十分常見,卻很難優(yōu)化。在推薦系統(tǒng)中,長尾問題指的是,某些實體在訓(xùn)練數(shù)據(jù)中出現(xiàn)次數(shù)非常少,導(dǎo)致模型對這部分樣本打分效果很差。典型的場景包括,新用戶沒有幾條瀏覽行為,如何準(zhǔn)確推薦用戶感興趣的內(nèi)容;一些商品非常小眾,用戶反饋很少,如何對這些商品進行推薦等等。長尾在一個成熟的系統(tǒng)中往往服從二八定律,即20%的頭部實體貢獻了80%的數(shù)據(jù),而剩余80%的實體只有20%的數(shù)據(jù),實際場景中甚至比二八還要長尾。
長尾問題的難點主要體現(xiàn)在以下2點。首先,長尾實體的樣本量太少,模型很難學(xué)習(xí)這部分樣本的規(guī)律,例如用戶的embedding、商品的embedding等,都是需要大量數(shù)據(jù)學(xué)習(xí)的。其次,頭部樣本在數(shù)量上占絕對優(yōu)勢,導(dǎo)致模型偏向擬合頭部樣本的規(guī)律,而尾部樣本的規(guī)律和頭部樣本可能有較大差異,導(dǎo)致模型在尾部樣本效果不好。
2如何解決長尾問題
那么,如何解決長尾問題呢?業(yè)內(nèi)工作主要包括兩種核心優(yōu)化方法。第一種方法是基于meta-learning解決長尾問題。剛才我們說到,長尾用戶或商品的數(shù)據(jù)量少,模型難學(xué)習(xí),那么我們就讓模型具備在少量樣本上能學(xué)的比較好的能力就可以了。而meta-learning正是讓模型實現(xiàn)上述能力的方法。我在之前的文章Meta-learning核心思想及近年頂會3個優(yōu)化方向中對meta-learning的核心思路進行了詳細介紹,感興趣的同學(xué)可以進一步深入閱讀。第二種方法是基于圖學(xué)習(xí)解決長尾問題。長尾部分的由于數(shù)據(jù)少無法學(xué)到良好的embedding,在圖學(xué)習(xí)中,可以利用豐富的鄰居節(jié)點信息對長尾實體的信息進行補充,進而學(xué)到更好的embedding。
下面,我們分別來看看基于meta-learning的方法和基于圖學(xué)習(xí)的方法解決長尾問題的典型工作。
3基于meta-learning的方法
基于meta-learning的長尾問題解決方法又可以分為兩種思路,一種是利用meta-learning生成長尾用戶或商品的良好embedding,另一種是利用meta-learning讓模型獲得在小樣本上的快速學(xué)習(xí)能力。這里分別介紹兩個思路的兩篇經(jīng)典文章。
第一篇文章是Improving ctr predictions via learning to learn id embeddings(SIGIR 2019)。這篇文章主要場景是廣告的ctr預(yù)估,解決的問題是如何提升冷啟動廣告的預(yù)測效果。本文提出了基于meta-learning的冷啟動廣告embedding學(xué)習(xí)方法。首先將每個ad的ctr預(yù)測看成是meta-learning中一個獨立的任務(wù)。然后學(xué)習(xí)一個embedding生成器,生成器的輸入是廣告的特征,輸出embedding。整個過程利用meta-learning的思路進行學(xué)習(xí),利用meta-learning中的support set和query set模擬一個冷啟動廣告生成embedding和使用embedding預(yù)測,進而優(yōu)化embedding生成器。

整個meta-learning的過程如下所示,在一個預(yù)訓(xùn)練好的模型基礎(chǔ)上進行。隨機選擇一些廣告,生成兩個batch的數(shù)據(jù)。使用embedding生成器生成embedding后使用第一個batch計算loss,再利用這個loss更新一步生成器(內(nèi)循環(huán));然后使用更新后的生成器計算另一個batch上的loss(外循環(huán)),并更新最終參數(shù)。

第二篇文章是MeLU: meta-learned user preference estimator for cold-start recommendation(KDD 2019)。這篇文章主要也是借助了meta-learning讓模型具有快速學(xué)習(xí)能力,讓模型能夠在冷啟動樣本上,只看到少數(shù)幾個item就能進行快速的更新參數(shù)。

這篇文章重點解決的是user側(cè)的冷啟動問題,對于一個user的數(shù)據(jù)分成support set和query set,在support set內(nèi)循環(huán)后在queryset評估效果并進行全局更新。embedding層不使用meta-learning,只在全連接層進行meta-learning。

4基于圖學(xué)習(xí)的方法
基于圖的學(xué)習(xí)方法通過圖建立不同實體之間的關(guān)系,進而可以用其他實體的信息豐富長尾實體的信息,緩解由于長尾導(dǎo)致的樣本不充分無法學(xué)習(xí)良好表示的問題。
Learning Graph Meta Embeddings for Cold-Start Ads in Click-Through Rate Prediction(SIGIR 2021)利用圖學(xué)習(xí)解決新ad的embedding生成問題。對于新ad,使用屬性特征和圖學(xué)習(xí)生成一個合理的embedding。根據(jù)屬性重合度構(gòu)造新ad的相似鄰居,并按照屬性的重合度排序,得到最相似的幾個ad。然后利用GAT進行new ad和其鄰居的信息融合,再用全連接生成新ad的向量表示,作為id embedding。這個過程相當(dāng)于根據(jù)屬性找到與新ad最相似的舊ad,用舊ad的信息豐富新ad的embedding。在訓(xùn)練方法上,先用舊ad訓(xùn)練一個正常的ctr預(yù)估模型,然后固定ctr模型的參數(shù),單獨訓(xùn)練新ad表示生成部分的參數(shù),利用meta-learning的方法更新模型參數(shù)。

Graph Intention Network for Click-through Rate Prediction in Sponsored Search(SIGIR 2019)也是一篇比較有代表性的工作。CTR預(yù)估中經(jīng)常需要對歷史行為建模提升效果(比如用戶歷史點擊過的商品),但是長尾用戶的歷史行為比較稀疏。因此這篇文章提出,利用點擊行為構(gòu)造商品和商品之間的圖,利用這個圖補充歷史行為信息。通過商品-商品圖,可以挖掘出和當(dāng)前商品高度相關(guān)的其他商品,這些商品雖然沒有直接的點擊行為,但由于和點擊過的商品高度相關(guān),因此用戶點擊這些商品的概率可能也很高。通過這種基于圖擴展信息的方法,解決長尾用戶歷史行為稀疏的問題。

5總結(jié)
本文為大家介紹了解決長尾和冷啟動問題的基本方法,主要包括meta-learning和圖學(xué)習(xí)兩個路線。Meta-learning更側(cè)重于讓模型具有在小樣本上快速學(xué)習(xí)的能力;而圖學(xué)習(xí)更側(cè)重于挖掘和長尾實體相關(guān)的鄰居,用鄰居信息補充長尾實體的信息。
審核編輯 :李倩
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7335瀏覽量
94769 -
模型
+關(guān)注
關(guān)注
1文章
3752瀏覽量
52109 -
生成器
+關(guān)注
關(guān)注
7文章
322瀏覽量
22714
原文標(biāo)題:長尾預(yù)測效果不好怎么辦?試試這兩種思路
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
淘寶搜索API:長尾詞挖掘,SEO提升的利器!
利用PKC6100A交直流電流探頭測試開關(guān)電源冷啟動峰值電流
高低溫環(huán)境下DC-DC芯片啟動行為對比研究
HarmonyOSAI編程智慧調(diào)優(yōu)
HarmonyOS AI輔助編程工具(CodeGenie)智慧調(diào)優(yōu)
無位置傳感器無刷直流電機啟動的新方法研究
無位置傳感器無刷直流電機閉環(huán)三段式啟動策略
【HarmonyOS 5】鴻蒙中的UIAbility詳解(三)
解析無感方波算法與平滑啟動算法在小風(fēng)扇驅(qū)動方案中的應(yīng)用與優(yōu)勢--【其利天下】
鴻蒙5開發(fā)寶藏案例分享---冷啟動優(yōu)化案例分享
電機常見的噪音、振動問題及解決方法
多個i.MXRT共享一顆Flash啟動的方法與實踐(下)
電機重啟動的控制策略
拯救你的樹莓派!無法啟動不用慌!
解決長尾和冷啟動問題的基本方法
評論