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

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

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

基于谷歌中長尾item或user預(yù)測效果的遷移學(xué)習(xí)框架

深度學(xué)習(xí)自然語言處理 ? 來源:圓圓的算法筆記 ? 作者:圓圓的算法筆記 ? 2022-09-19 11:18 ? 次閱讀

推薦系統(tǒng)經(jīng)常面臨長尾問題,例如商品的分布服從冪率分布導(dǎo)致非常多的長尾樣本只出現(xiàn)過很少的次數(shù),模型在這部分樣本上的效果比較差。對長尾樣本增加權(quán)重,或者通過采樣的方法增加長尾樣本,又會影響數(shù)據(jù)分布,進(jìn)而造成頭部樣本效果下降。針對這類問題,谷歌提出了一種可以實(shí)現(xiàn)頭部樣本知識遷移到尾部樣本的遷移學(xué)習(xí)框架,使推薦系統(tǒng)中長尾預(yù)測問題效果得到顯著提升,并且頭部的預(yù)測效果也沒有受到損失,實(shí)現(xiàn)了頭部尾部雙贏。

文中提出的遷移學(xué)習(xí)框架主要包括model-level transfer和item-level transfer。其中model-level transfer通過學(xué)習(xí)一個多樣本模型和一個少樣本模型,并學(xué)習(xí)一個二者參數(shù)的映射函數(shù),實(shí)現(xiàn)模型參數(shù)上的遷移;item-level transfer通過對模型訓(xùn)練流程的優(yōu)化,讓映射函數(shù)同時能夠?qū)W到頭部item和尾部item之間的特征聯(lián)系。

1

Model-level Transfer

Model-level Transfer的核心思路是學(xué)習(xí)many-shot model和few-shot model的參數(shù)映射關(guān)系,這個思路最早來源于2017年NIPS上的一篇文章Learning to Model the Tail(NIPS 2017)。比如下面的例子中,living room是頭部實(shí)體,可以利用living room結(jié)合不同的樣本量,學(xué)到模型參數(shù)是如何從one-shot(theta1)變換到two-shot(theta2)一直到many-shot(theta*)。那么對于一個tail實(shí)體library,模型只能通過few-shot學(xué)到一個模型參數(shù),但是可以利用在many-shot上學(xué)到的參數(shù)變化經(jīng)驗(yàn)推導(dǎo)出library上的參數(shù)變化。通過不斷增加數(shù)據(jù),模型參數(shù)發(fā)生變化,模型學(xué)習(xí)的是數(shù)據(jù)增強(qiáng)的過程如何影響了模型參數(shù)變化。

41a76436-373d-11ed-ba43-dac502259ad0.png

在推薦系統(tǒng)中也是同理,給定一個item和user的反饋信息,模型隱式的學(xué)習(xí)如何增加更多user的反饋信息幫助這個item的學(xué)習(xí),也就是從少數(shù)據(jù)到多數(shù)據(jù)的模型參數(shù)變化過程。

41bc8f0a-373d-11ed-ba43-dac502259ad0.png

基于上述思路,本文通過一個meta-learner學(xué)習(xí)這種參數(shù)隨著shot增加的映射關(guān)系。首先構(gòu)造兩種類型的數(shù)據(jù)集,第一種數(shù)據(jù)是利用頭部商品構(gòu)造的many-shot訓(xùn)練數(shù)據(jù),用來訓(xùn)練一個base-learner;第二種數(shù)據(jù)是在頭部數(shù)據(jù)中進(jìn)行下采樣,模擬得到的few-shot訓(xùn)練數(shù)據(jù)。Meta-learner是一個函數(shù),輸入few-shot模型的參數(shù),預(yù)測出many-shot模型的參數(shù),即學(xué)習(xí)這個映射關(guān)系,損失函數(shù)如下,第一項是預(yù)測many-shot參數(shù)的損失,第二項是在few-shot數(shù)據(jù)上模型的預(yù)測效果:

41dd63f6-373d-11ed-ba43-dac502259ad0.png

其中,本文主要優(yōu)化的部分是base-learner在user和item網(wǎng)絡(luò)中的最后一層參數(shù),因?yàn)槿绻麑W(xué)習(xí)全局參數(shù)的映射關(guān)系,計算復(fù)雜度太高。

41ef03fe-373d-11ed-ba43-dac502259ad0.png

2

量Item-level Transfer

在model-level transfer中我們提到,需要構(gòu)造一個many-shot數(shù)據(jù)集和few-shot數(shù)據(jù)集。一種常用的方法是根據(jù)頭部數(shù)據(jù)(例如樣本數(shù)量大于一定閾值的)構(gòu)造many-shot數(shù)據(jù),同時利用頭部數(shù)據(jù)做下采樣構(gòu)造few-shot數(shù)據(jù)。但是在推薦系統(tǒng)中,尾部item的數(shù)量眾多,只根據(jù)頭部item這個參數(shù)的映射關(guān)系可能在尾部item上效果不好。因此本文提出了一種curriculum transfer的方法。

具體的,在數(shù)據(jù)集的構(gòu)造上,many-shot使用了包括頭部和尾部所有item的數(shù)據(jù)構(gòu)成(如上圖中的黃色區(qū)域),few-shot使用了頭部item下采樣加所有尾部item構(gòu)成(如上圖中的藍(lán)色區(qū)域)。這種方式保證了many-shot和few-shot模型在訓(xùn)練過程中都能充分見到長尾樣本,提升item表示的學(xué)習(xí)效果,同時也能在few-shot訓(xùn)練時,保證尾部數(shù)據(jù)的分布仍然是接近初始的長尾分布,緩解分布變化帶來的bias。同時在損失函數(shù)中,引入了logQ correction,根據(jù)樣本量平衡頭部樣本和尾部樣本對模型的影響,曾經(jīng)在Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations(2017)等論文中應(yīng)用過。

3

模型預(yù)測

在預(yù)測過程中,會融合base-learner得到的user表示,以及經(jīng)過meta-learner根據(jù)few-shot學(xué)到的參數(shù)融合到一起進(jìn)行預(yù)測,通過一個權(quán)重平衡兩個表示,公式如下:

420499a8-373d-11ed-ba43-dac502259ad0.png

對于長尾user,也可以利用相似的方法解決。此外,文中也提出可以采用多階段的meta-learner學(xué)習(xí)方法,例如從1-shot到2-shot再到many-shot,串行學(xué)習(xí)多個meta-learner,這與Learning to Model the Tail(NIPS 2017)提供的方法比較相似。

4215f4b4-373d-11ed-ba43-dac502259ad0.png

4

實(shí)驗(yàn)結(jié)果

作者在多個數(shù)據(jù)集上對比了一些解決長尾問題的方法效果,實(shí)驗(yàn)結(jié)果如下表??梢钥吹?,本文提出的MIRec方法效果要明顯好于其他方法。作者的實(shí)驗(yàn)基礎(chǔ)模型是一個user側(cè)和item側(cè)的雙塔模型,具體的長尾優(yōu)化對比模型包括re-sampling類型方法(如上采樣和下采樣)、損失函數(shù)方法(如logQ校準(zhǔn)、classbalance方法,二者思路都是在損失函數(shù)中引入不同樣本頻率加權(quán)樣本)、課程學(xué)習(xí)方法(Head2Tail,即先在全量樣本上預(yù)訓(xùn)練,再在尾部樣本上finetune,Tail2Head是反過來的操作)、基于Meta-learning的方法(MeLU)。

422c07e0-373d-11ed-ba43-dac502259ad0.png

423f6d6c-373d-11ed-ba43-dac502259ad0.png

從上面的實(shí)驗(yàn)結(jié)果可以看出幾個關(guān)鍵點(diǎn)。首先,sampling-based方法效果非常差,這主要是由于sampling改變了數(shù)據(jù)本身的分布,而推薦系統(tǒng)中,模型的效果對于數(shù)據(jù)分布是非常敏感的,使用真實(shí)分布的數(shù)據(jù)訓(xùn)練效果會更好。其次,基于loss加權(quán)的方法如ClassBalance和LogQ,對于長尾的效果提升非常明顯,但是對于頭部item有明顯的負(fù)向影響。最后,MIRec在頭部和長尾都實(shí)現(xiàn)了效果提升,這是其他模型很難做到的。

5

總結(jié)

本文介紹了谷歌提出的解決推薦系統(tǒng)中長尾item或user預(yù)測效果的遷移學(xué)習(xí)框架,通過many-shot到few-shot的參數(shù)規(guī)律變化學(xué)習(xí),結(jié)合對數(shù)據(jù)分布的刻畫,實(shí)現(xiàn)了頭部、尾部雙贏的推薦模型。

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

    關(guān)注

    27

    文章

    6168

    瀏覽量

    105397
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7035

    瀏覽量

    89047
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4331

    瀏覽量

    62633

原文標(biāo)題:谷歌MIRec:頭部尾部雙贏的遷移學(xué)習(xí)框架

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

收藏 人收藏

    評論

    相關(guān)推薦

    遷移學(xué)習(xí)

    的基本原理和編程思想。理解在一個新的場景數(shù)據(jù)集下,何時以及如何進(jìn)行遷移學(xué)習(xí)。利用PyTorch加載數(shù)據(jù)、搭建模型、訓(xùn)練網(wǎng)絡(luò)以及進(jìn)行網(wǎng)絡(luò)微調(diào)操作。給定遷移場景,利用daib庫和生成對抗
    發(fā)表于 04-21 15:15

    卷積神經(jīng)網(wǎng)絡(luò)長尾數(shù)據(jù)集識別的技巧包介紹

    1、卷積神經(jīng)網(wǎng)絡(luò)長尾數(shù)據(jù)集識別的技巧包  最近,長尾識別持續(xù)引起關(guān)注,產(chǎn)生了很多不同的方法,這些方法屬于不同的范式,度量學(xué)習(xí),元學(xué)習(xí)和知識遷移
    發(fā)表于 11-30 15:26

    中長期負(fù)荷預(yù)測協(xié)調(diào)思路_胡強(qiáng)

    中長期負(fù)荷預(yù)測協(xié)調(diào)思路_胡強(qiáng)
    發(fā)表于 03-19 11:41 ?0次下載

    谷歌FHIR標(biāo)準(zhǔn)協(xié)議利用深度學(xué)習(xí)預(yù)測醫(yī)療事件發(fā)生

    使用電子健康記錄(EHR)數(shù)據(jù)的預(yù)測建模預(yù)計將推動個人化醫(yī)療并提高醫(yī)療質(zhì)量。谷歌發(fā)布消息稱已經(jīng)開源該協(xié)議緩沖區(qū)工具。谷歌FHIR標(biāo)準(zhǔn)協(xié)議利用深度學(xué)習(xí)
    發(fā)表于 03-07 17:14 ?8035次閱讀
    <b class='flag-5'>谷歌</b>FHIR標(biāo)準(zhǔn)協(xié)議利用深度<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>預(yù)測</b>醫(yī)療事件發(fā)生

    谷歌發(fā)布機(jī)器學(xué)習(xí)框架:一個名叫NSL的神經(jīng)結(jié)構(gòu)學(xué)習(xí)框架

    神經(jīng)結(jié)構(gòu)學(xué)習(xí)框架(NSL)的作用很大,它可以制作計算機(jī)視覺模型、執(zhí)行自然語言處理(NLP)、從醫(yī)療記錄知識圖等圖形數(shù)據(jù)集中運(yùn)行預(yù)測,還可以與 TensorFlow 機(jī)器
    的頭像 發(fā)表于 09-20 14:30 ?3441次閱讀

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

    長尾問題的難點(diǎn)主要體現(xiàn)在以下2點(diǎn)。首先,長尾實(shí)體的樣本量太少,模型很難學(xué)習(xí)這部分樣本的規(guī)律,例如用戶的embedding、商品的embedding等,都是需要大量數(shù)據(jù)學(xué)習(xí)的。
    的頭像 發(fā)表于 09-05 14:25 ?3130次閱讀

    一個基于參數(shù)更新的遷移學(xué)習(xí)的統(tǒng)一框架

    它提出一個基于參數(shù)更新的遷移學(xué)習(xí)的統(tǒng)一框架,建立多種參數(shù)優(yōu)化方法之間的聯(lián)系,從而方便理解不同方法背后的關(guān)鍵設(shè)計,進(jìn)而設(shè)計出只更新更少參數(shù)同時取得更好效果的參數(shù)優(yōu)化方法。
    的頭像 發(fā)表于 09-26 10:29 ?1311次閱讀

    深度學(xué)習(xí)框架:人工智能時代的操作系統(tǒng)

    Tensorflow: 谷歌開源的向更加易用發(fā)展的主流學(xué)習(xí)框架
    發(fā)表于 03-15 10:17 ?541次閱讀

    一個通用的時空預(yù)測學(xué)習(xí)框架

    。這篇論文介紹了一種用于高效時空預(yù)測的時間注意力單元(Temporal Attention Unit,TAU)。該方法改進(jìn)了現(xiàn)有框架,對時間和空間上的依賴關(guān)系分別學(xué)習(xí),提出了時間維度上的可并行化時序注意力單元
    的頭像 發(fā)表于 06-19 10:27 ?1478次閱讀
    一個通用的時空<b class='flag-5'>預(yù)測學(xué)習(xí)</b><b class='flag-5'>框架</b>

    谷歌使用機(jī)器學(xué)習(xí)模型來預(yù)測哪條路線最省油最節(jié)能

    了約120萬公噸的地球升溫二氧化碳排放 —— 這幾乎相當(dāng)于一年內(nèi)減少25萬輛耗油汽車。 該工具在美國推出,但現(xiàn)在在加拿大、埃及和歐洲近40多個國家也有售。谷歌使用機(jī)器學(xué)習(xí)模型來預(yù)測哪條路線最省油
    的頭像 發(fā)表于 07-25 16:37 ?664次閱讀

    深度學(xué)習(xí)框架連接技術(shù)

    ,深度學(xué)習(xí)框架能夠很好的為應(yīng)用程序提供預(yù)測、檢測等功能。因此本文旨在介紹深度學(xué)習(xí)框架連接技術(shù)的基本原理及其應(yīng)用。 基本原理 深度
    的頭像 發(fā)表于 08-17 16:11 ?783次閱讀

    視覺深度學(xué)習(xí)遷移學(xué)習(xí)訓(xùn)練框架Torchvision介紹

    Torchvision是基于Pytorch的視覺深度學(xué)習(xí)遷移學(xué)習(xí)訓(xùn)練框架,當(dāng)前支持的圖像分類、對象檢測、實(shí)例分割、語義分割、姿態(tài)評估模型的遷移
    的頭像 發(fā)表于 09-22 09:49 ?913次閱讀
    視覺深度<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>遷移</b><b class='flag-5'>學(xué)習(xí)</b>訓(xùn)練<b class='flag-5'>框架</b>Torchvision介紹

    python里item的用法

    item是Python中一個非常重要的概念,它可以用于多種數(shù)據(jù)結(jié)構(gòu)和算法的實(shí)現(xiàn)。在Python中,item通常用于表示一個集合序列中的一個元素。本文將詳細(xì)介紹item的用法,并探討它
    的頭像 發(fā)表于 11-21 15:09 ?3706次閱讀

    谷歌模型框架是什么?有哪些功能和應(yīng)用?

    谷歌模型框架(Google Model Framework)并不是一個特定的框架,而是指谷歌開發(fā)的一系列軟件框架,用于支持機(jī)器
    的頭像 發(fā)表于 02-29 18:11 ?1495次閱讀

    谷歌模型框架是什么軟件?谷歌模型框架怎么用?

    谷歌模型框架通常指的是谷歌開發(fā)的用于機(jī)器學(xué)習(xí)和人工智能的軟件框架,其中最著名的是TensorFlow。TensorFlow是一個開源的機(jī)器
    的頭像 發(fā)表于 03-01 16:25 ?884次閱讀