0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解決長尾和冷啟動問題的基本方法

深度學習自然語言處理 ? 來源:圓圓的算法筆記 ? 作者:圓圓的算法筆記 ? 2022-09-05 14:25 ? 次閱讀

1什么是長尾問題

長尾問題一直是很多場景中最難優(yōu)化的問題,特別是在推薦系統(tǒng)領(lǐng)域,長尾問題十分常見,卻很難優(yōu)化。在推薦系統(tǒng)中,長尾問題指的是,某些實體在訓練數(shù)據(jù)中出現(xiàn)次數(shù)非常少,導致模型對這部分樣本打分效果很差。典型的場景包括,新用戶沒有幾條瀏覽行為,如何準確推薦用戶感興趣的內(nèi)容;一些商品非常小眾,用戶反饋很少,如何對這些商品進行推薦等等。長尾在一個成熟的系統(tǒng)中往往服從二八定律,即20%的頭部實體貢獻了80%的數(shù)據(jù),而剩余80%的實體只有20%的數(shù)據(jù),實際場景中甚至比二八還要長尾。

長尾問題的難點主要體現(xiàn)在以下2點。首先,長尾實體的樣本量太少,模型很難學習這部分樣本的規(guī)律,例如用戶的embedding、商品的embedding等,都是需要大量數(shù)據(jù)學習的。其次,頭部樣本在數(shù)量上占絕對優(yōu)勢,導致模型偏向擬合頭部樣本的規(guī)律,而尾部樣本的規(guī)律和頭部樣本可能有較大差異,導致模型在尾部樣本效果不好。

2如何解決長尾問題

那么,如何解決長尾問題呢?業(yè)內(nèi)工作主要包括兩種核心優(yōu)化方法。第一種方法是基于meta-learning解決長尾問題。剛才我們說到,長尾用戶或商品的數(shù)據(jù)量少,模型難學習,那么我們就讓模型具備在少量樣本上能學的比較好的能力就可以了。而meta-learning正是讓模型實現(xiàn)上述能力的方法。我在之前的文章Meta-learning核心思想及近年頂會3個優(yōu)化方向中對meta-learning的核心思路進行了詳細介紹,感興趣的同學可以進一步深入閱讀。第二種方法是基于圖學習解決長尾問題。長尾部分的由于數(shù)據(jù)少無法學到良好的embedding,在圖學習中,可以利用豐富的鄰居節(jié)點信息對長尾實體的信息進行補充,進而學到更好的embedding。

下面,我們分別來看看基于meta-learning的方法和基于圖學習的方法解決長尾問題的典型工作。

3基于meta-learning的方法

基于meta-learning的長尾問題解決方法又可以分為兩種思路,一種是利用meta-learning生成長尾用戶或商品的良好embedding,另一種是利用meta-learning讓模型獲得在小樣本上的快速學習能力。這里分別介紹兩個思路的兩篇經(jīng)典文章。

第一篇文章是Improving ctr predictions via learning to learn id embeddings(SIGIR 2019)。這篇文章主要場景是廣告的ctr預估,解決的問題是如何提升冷啟動廣告的預測效果。本文提出了基于meta-learning的冷啟動廣告embedding學習方法。首先將每個ad的ctr預測看成是meta-learning中一個獨立的任務。然后學習一個embedding生成器,生成器的輸入是廣告的特征,輸出embedding。整個過程利用meta-learning的思路進行學習,利用meta-learning中的support set和query set模擬一個冷啟動廣告生成embedding和使用embedding預測,進而優(yōu)化embedding生成器。

b9d71712-2cd9-11ed-ba43-dac502259ad0.png

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

b9ee5b16-2cd9-11ed-ba43-dac502259ad0.png

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

ba01e0aa-2cd9-11ed-ba43-dac502259ad0.png

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

ba18ba14-2cd9-11ed-ba43-dac502259ad0.png

4基于圖學習的方法

基于圖的學習方法通過圖建立不同實體之間的關(guān)系,進而可以用其他實體的信息豐富長尾實體的信息,緩解由于長尾導致的樣本不充分無法學習良好表示的問題。

Learning Graph Meta Embeddings for Cold-Start Ads in Click-Through Rate Prediction(SIGIR 2021)利用圖學習解決新ad的embedding生成問題。對于新ad,使用屬性特征和圖學習生成一個合理的embedding。根據(jù)屬性重合度構(gòu)造新ad的相似鄰居,并按照屬性的重合度排序,得到最相似的幾個ad。然后利用GAT進行new ad和其鄰居的信息融合,再用全連接生成新ad的向量表示,作為id embedding。這個過程相當于根據(jù)屬性找到與新ad最相似的舊ad,用舊ad的信息豐富新ad的embedding。在訓練方法上,先用舊ad訓練一個正常的ctr預估模型,然后固定ctr模型的參數(shù),單獨訓練新ad表示生成部分的參數(shù),利用meta-learning的方法更新模型參數(shù)。

ba3e8a78-2cd9-11ed-ba43-dac502259ad0.png

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

ba529e64-2cd9-11ed-ba43-dac502259ad0.png

5總結(jié)

本文為大家介紹了解決長尾和冷啟動問題的基本方法,主要包括meta-learning和圖學習兩個路線。Meta-learning更側(cè)重于讓模型具有在小樣本上快速學習的能力;而圖學習更側(cè)重于挖掘和長尾實體相關(guān)的鄰居,用鄰居信息補充長尾實體的信息。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6762

    瀏覽量

    88622
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3065

    瀏覽量

    48577
  • 生成器
    +關(guān)注

    關(guān)注

    7

    文章

    313

    瀏覽量

    20924

原文標題:長尾預測效果不好怎么辦?試試這兩種思路

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于DPU的容器冷啟動加速解決方案

    (Serverless)計算方式,極大地簡化了開發(fā)人員的工作,使他們能夠?qū)W⒂趹玫臉?gòu)建與運行,而不再需要承擔服務器管理的負擔。 然而,F(xiàn)aaS模式也并非沒有缺陷,其中最為人詬病的便是“冷啟動”問題。所謂冷啟動,是指當請求被調(diào)度到某個函數(shù)實例時,如果該實例在上次執(zhí)行完代碼
    的頭像 發(fā)表于 09-13 11:50 ?286次閱讀
    基于DPU的容器<b class='flag-5'>冷啟動</b>加速解決方案

    如何選擇合適的電動機降壓啟動方法

    在選擇合適的電動機降壓啟動方法時,細致的考慮和分析至關(guān)重要。不同的啟動方法對電動機的性能、成本及系統(tǒng)的穩(wěn)定性都有直接的影響。以下是如何根據(jù)特定的應用需求和條件,合理選擇降壓
    的頭像 發(fā)表于 08-19 11:32 ?323次閱讀

    bq05504冷啟動電壓600mV,在微弱光線下小型太陽能板達不到這么大怎么辦?

    bq05504管理芯片數(shù)據(jù)手冊顯示冷啟動電壓600mV,在微弱光線下小型太陽能板達不到這么大怎么辦,那就是啟動不了,那還怎么收集uW級~mW的電能?
    發(fā)表于 08-13 07:28

    大功率電機啟動方法

    在工業(yè)自動化和電力系統(tǒng)中,大功率電機作為核心驅(qū)動設備,其啟動方法的選擇對設備的運行穩(wěn)定性、電網(wǎng)的安全性和經(jīng)濟效益具有重要影響。本文旨在深入探討大功率電機的啟動方法,分析各種
    的頭像 發(fā)表于 06-28 18:08 ?1525次閱讀

    TC3x CAN20在冷啟動復位時出現(xiàn)MTU故障怎么解決?

    我們觀察到,由于 CAN20 在冷啟動復位時出現(xiàn)無法糾正的錯誤,MTU 出現(xiàn)故障。 出現(xiàn)此問題的原因是冷開機復位后 RAM 初始化不正常。 有什么具體方法可以初始化 RAM 嗎?
    發(fā)表于 05-29 08:30

    PMP31114.1-適合 3V 冷啟動的同步 SEPIC PCB layout 設計

    電子發(fā)燒友網(wǎng)站提供《PMP31114.1-適合 3V 冷啟動的同步 SEPIC PCB layout 設計.pdf》資料免費下載
    發(fā)表于 05-22 11:28 ?0次下載
    PMP31114.1-適合 3V <b class='flag-5'>冷啟動</b>的同步 SEPIC  PCB layout 設計

    PMP22063.1-具有熱/冷啟動功能的汽車儀表組和顯示電源 PCB layout 設計

    電子發(fā)燒友網(wǎng)站提供《PMP22063.1-具有熱/冷啟動功能的汽車儀表組和顯示電源 PCB layout 設計.pdf》資料免費下載
    發(fā)表于 05-14 14:53 ?0次下載
    PMP22063.1-具有熱/<b class='flag-5'>冷啟動</b>功能的汽車儀表組和顯示電源 PCB layout 設計

    設置應用冷啟動優(yōu)化案例

    整個轉(zhuǎn)場過程不突兀。 應用啟動概念 對于應用啟動,首先,引入應用啟動概念: 冷啟動:首次打開app或者app徹底銷毀后再次打開app。 熱啟動
    發(fā)表于 04-22 16:31

    STM32Cubeide的啟動報錯是哪里的問題?

    STMCubeide的啟動問題,java環(huán)境32位64位都測試過,還是這個問題
    發(fā)表于 04-03 06:00

    在MCAL中禁用了ALM8 [10] 和 ALM8 [17],為什么SMU AG8在冷啟動時仍會報告錯誤?

    如圖所示,我在 MCAL 中禁用了 ALM8 [10] 和 ALM8 [17],但是 SMU AG8 在冷啟動時仍會報告這兩個錯誤,而 WDG 工作正常。 但是,如果我使用調(diào)試器重置程序,則不會報告這些警報。 我能有一些建議嗎? 謝謝。
    發(fā)表于 01-18 10:32

    通過JTAG啟動Linux的方法和腳本

    存儲器(QSPI Flash,eMMC 等)上的鏡像,直接啟動到 Linux。但當板子調(diào)試時,經(jīng)常需要通過 JTAG 把 SoC 器件啟動到 Linux。這篇文章將分享通過 JTAG 啟動 Linux 的
    的頭像 發(fā)表于 12-22 10:27 ?1297次閱讀
    通過JTAG<b class='flag-5'>啟動</b>Linux的<b class='flag-5'>方法</b>和腳本

    三相異步電動機的降壓啟動方法有哪些?

    三相異步電動機的降壓啟動方法有哪些? 三相異步電動機是工業(yè)生產(chǎn)中常用的電動機之一,其具有結(jié)構(gòu)簡單、體積小、重量輕、使用可靠等優(yōu)點。在啟動這類電動機時,為了減小起動時的電流沖擊,降低啟動
    的頭像 發(fā)表于 12-19 10:24 ?4561次閱讀

    解決永磁同步電機啟動震蕩問題的方法

    永磁同步電機啟動震蕩問題的解決方法 永磁同步電機由于其高效率、高功率密度和快速響應等優(yōu)點,在工業(yè)應用領(lǐng)域得到廣泛應用。然而,永磁同步電機在啟動過程中可能會出現(xiàn)震蕩問題,這不僅會影響電機的正常工作
    的頭像 發(fā)表于 12-19 10:15 ?1101次閱讀

    冷啟動(Cold boot)流程及階段劃分

    restart--冷啟動 reset--熱啟動 ATF冷啟動實現(xiàn)分為5個步驟: ? BL1 - AP Trusted ROM,一般為BootRom。 ? BL2 - Trusted Boot
    的頭像 發(fā)表于 11-07 15:17 ?1816次閱讀
    <b class='flag-5'>冷啟動</b>(Cold boot)流程及階段劃分

    求助! 關(guān)于使用自制底板插入創(chuàng)龍IMX8MM 核心板無法啟動問

    求助! 關(guān)于使用自制底板插入創(chuàng)龍IMX8MM 核心板無法啟動問題,使用自制底板燒入程序卡在切換到EMMC設備階段,使用創(chuàng)龍底板考入系統(tǒng)后,從emmc啟動,核心板量3個燈后沒反應(估計也是卡在EMMC打開階段)
    發(fā)表于 10-25 15:51