一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

機(jī)器學(xué)習(xí)算法那家強(qiáng) 因子分解機(jī)(FM算法)工業(yè)落地能力最強(qiáng)

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來(lái)源:深度學(xué)習(xí)自然語(yǔ)言處理 ? 作者:深度學(xué)習(xí)自然語(yǔ)言 ? 2020-12-31 00:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

文 | 石塔西

源 | 夕小瑤的賣萌屋

盡管BERT為代表的預(yù)訓(xùn)練模型大肆流行,但是身處工業(yè)界才會(huì)知道它落地有多難,尤其是QPS動(dòng)輒幾百的在線推薦、搜索系統(tǒng),哪怕在大廠也很難在線上系統(tǒng)見(jiàn)到它們。

今天就想反其道而行之,談?wù)劰I(yè)界搜索、推薦、廣告這類核心場(chǎng)景中落地能力最強(qiáng)的算法(之一):因子分解機(jī)(FM)。我不敢說(shuō)它是最簡(jiǎn)單的(FM的確很簡(jiǎn)單),但是作為一個(gè)推薦算法調(diào)參工程師,掌握FM一定是性價(jià)比最高的。我推崇FM算法的原因,有以下三點(diǎn):

功能齊全

眾所周知,推薦算法有三個(gè)應(yīng)用領(lǐng)域:召回、粗排、精排。推薦算法千千萬(wàn),但是有的算法只能用于召回,有的算法只能用于排序。像FM這樣實(shí)現(xiàn)三個(gè)領(lǐng)域全覆蓋的多面手,目前為止,孤陋寡聞的我尚不知道有第二個(gè)。但是需要強(qiáng)調(diào)的是,我們不能只訓(xùn)練一個(gè)FM排序模型 ,然后直接拿這個(gè)排序模型用于召回。盡管都是基于FM算法,但是FM召回與排序,有以下不同:

使用的特征不同

FM召回,由于未來(lái)要依賴Faiss進(jìn)行線上檢索,所以不能使用user與doc的交叉特征。只有如此,我們才能獨(dú)立計(jì)算user embedding與doc embedding

FM排序,則沒(méi)有這方面的限制,可以使用user與doc的交叉特征。是的,你沒(méi)看錯(cuò)。因?yàn)镕M所實(shí)現(xiàn)自動(dòng)二階交叉,僅能代表“共現(xiàn)”。但是user與doc之間還有其他形式的交叉,比如user tag與doc tag之間的重合度,喂入這樣的交叉,對(duì)于排序性能提升,仍然有很大幫助。

使用的樣本不同

訓(xùn)練FM做排序時(shí),必須使用“曝光未點(diǎn)擊”這樣的“真負(fù)”樣本。

訓(xùn)練FM做召回時(shí),起碼不能只使用“曝光未點(diǎn)擊”做負(fù)樣本。大部分的負(fù)樣本必須通過(guò)隨機(jī)采樣得到。個(gè)中原因見(jiàn)我的文章《負(fù)樣本為王:評(píng)Facebook的向量化召回算法》。

使用的Loss不同

FM排序時(shí),由于負(fù)樣本是真實(shí)的,可以采用CTR預(yù)估那樣的point-wise loss

FM召回時(shí),由于負(fù)樣本是隨機(jī)采樣得到的,存在一定的噪聲,最好采用BPR, hinge這樣的pair-wise loss。

性能優(yōu)異

推薦系統(tǒng)的兩大永恒主題,“記憶”與“擴(kuò)展”,F(xiàn)M也能實(shí)現(xiàn)全覆蓋。

FM存在一階項(xiàng),實(shí)際就是LR,能夠“記憶”高頻、常見(jiàn)模式

FM存在feature embedding。如我在《無(wú)中生有:論推薦算法中的Embedding思想》據(jù)說(shuō),Embedding是提升推薦算法“擴(kuò)展性”的法寶。FM通過(guò)feature embedding,能夠自動(dòng)挖掘低頻、長(zhǎng)尾模式。在這一點(diǎn)上,基于embedding的二階交叉,并不比DNN的高階交叉,遜色多少。

便于上線

現(xiàn)在深度學(xué)習(xí)是推薦領(lǐng)域的寵兒,LR/FM/GBDT這樣的傳統(tǒng)機(jī)器學(xué)習(xí)算法,不招人待見(jiàn)。

DNN雖然性能優(yōu)異,但是它有一個(gè)致命缺點(diǎn),就是上線困難。訓(xùn)練的時(shí)候,各位調(diào)參俠,把各種酷炫的結(jié)構(gòu),什么attention, transformer, capsule,能加上的都給它加上,看著離線指標(biāo)一路上漲,心里和臉上都樂(lè)開(kāi)了花,卻全然無(wú)視旁邊的后端工程師恨得咬緊了牙根。模型越復(fù)雜,離線和線上指標(biāo)未必就更好,但是線上的時(shí)間開(kāi)銷肯定會(huì)增加,輕則影響算法與后端的同事關(guān)系(打工人何苦為難打工人),重則你那離線指標(biāo)完美的模型壓根沒(méi)有上線的機(jī)會(huì)。雖說(shuō),目前已經(jīng)有TF Serving這樣的線上serving框架,但是它也不是開(kāi)箱即用的,也需要一系列的性能調(diào)優(yōu),才能滿足線上的實(shí)時(shí)性要求。

所以,如果你身處一個(gè)小團(tuán)隊(duì),后端工程人員的技術(shù)能力不強(qiáng),DNN的線上實(shí)時(shí)預(yù)測(cè),就會(huì)成為一個(gè)難題,這個(gè)時(shí)候,F(xiàn)M這樣的傳統(tǒng)機(jī)器學(xué)習(xí)算法,就凸顯出其優(yōu)勢(shì)。

FM排序,雖然理論上需要所有特征進(jìn)行二階交叉,但是通過(guò)公式化簡(jiǎn),可以在 O(n)的時(shí)間復(fù)雜度下完成。n是樣本中非零的特征數(shù)目,由于推薦系統(tǒng)中的特征非常稀疏,所以預(yù)測(cè)速度是非??斓?。

召回,由于候選集巨大,對(duì)于實(shí)時(shí)性的要求更高。很多基于DNN的召回算法,由于無(wú)法滿足線上實(shí)時(shí)生成user embedding的需求,只能退而離線生成user embedding ,對(duì)于用戶實(shí)時(shí)興趣的捕捉大打折扣。FM召回,這時(shí)就顯現(xiàn)其巨大的優(yōu)勢(shì)。事先把doc embedding計(jì)算好,存入Faiss建立索引,user embedding只需要把一系列的feature embedding相加就可以得到,再去faiss中進(jìn)行top-k近鄰搜索。FM召回,可以實(shí)現(xiàn)基于用戶最新的實(shí)時(shí)興趣,從千萬(wàn)量級(jí)候選doc中完成實(shí)時(shí)召回。

總結(jié)與參考

由于以上優(yōu)點(diǎn),我心目中,將FM視為推薦、搜索領(lǐng)域的"瑞士軍刀"。風(fēng)頭上雖然不及DNN那么搶眼,但是論在推薦系統(tǒng)中發(fā)揮的作用,絲毫不比DNN遜色,有時(shí)還能更勝一籌。FM有如此眾多的優(yōu)點(diǎn),優(yōu)秀的調(diào)參俠+打工人,還等什么,還不趕快學(xué)起來(lái)。想迅速掌握FM,我推薦如下參考文獻(xiàn):

掌握FM原理,推薦讀美團(tuán)的博客《深入FFM原理與實(shí)踐》。FFM的部分可以忽略,在我看來(lái),F(xiàn)FM更像是為了Kaggle專門訓(xùn)練的比賽型選手,損失了FM的很多優(yōu)點(diǎn)。這就好比,奧運(yùn)會(huì)上的射擊冠軍,未必能夠勝任當(dāng)狙擊手一樣。

FM用于召回,推薦讀《推薦系統(tǒng)召回四模型之:全能的FM模型》。注意,如我所述,F(xiàn)M雖然萬(wàn)能,但是FM排序與FM召回,在特征、樣本、Loss都存在不同,不可能訓(xùn)練一個(gè)FM排序就能直接拿來(lái)做召回。這一點(diǎn),《全能FM》一文沒(méi)有提到,需要讀者特別注意。

如果想親手實(shí)踐,可以嘗試alphaFM。該項(xiàng)目只不過(guò)是作者八小時(shí)之外的課外作品,卻被很多公司拿來(lái)投入線上實(shí)際生產(chǎn)環(huán)境,足見(jiàn)該項(xiàng)目性能之優(yōu)異和作者功力之深厚,令人佩服。強(qiáng)烈建議不滿足只當(dāng)“調(diào)參俠”的同學(xué),通讀一遍alphaFM的源代碼,一定收獲滿滿。

[1] https://zhuanlan.zhihu.com/p/165064102

[2] https://zhuanlan.zhihu.com/p/320196402

[3] https://link.zhihu.com/?target=https%3A//tech.meituan.com/2016/03/03/deep-understanding-of-ffm-principles-and-practices.html

[4] https://zhuanlan.zhihu.com/p/58160982

[5] https://link.zhihu.com/?target=https%3A//github.com/CastellanZhang/alphaFM

原文標(biāo)題:談?wù)劰I(yè)界落地能力最強(qiáng)的機(jī)器學(xué)習(xí)算法

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

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

    關(guān)注

    23

    文章

    4709

    瀏覽量

    95362
  • FM
    FM
    +關(guān)注

    關(guān)注

    1

    文章

    192

    瀏覽量

    60103
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8502

    瀏覽量

    134592
  • dnn
    dnn
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    9277

原文標(biāo)題:談?wù)劰I(yè)界落地能力最強(qiáng)的機(jī)器學(xué)習(xí)算法

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(jī)常用算法源碼下載!

    單片機(jī)常用算法源碼下載!
    發(fā)表于 06-10 20:44

    【「# ROS 2智能機(jī)器人開(kāi)發(fā)實(shí)踐」閱讀體驗(yàn)】視覺(jué)實(shí)現(xiàn)的基礎(chǔ)算法的應(yīng)用

    。 學(xué)習(xí)建議 對(duì)于初學(xué)者,建議先通過(guò)仿真(如Gazebo)驗(yàn)證算法,再遷移到真實(shí)機(jī)器人,以降低硬件調(diào)試成本。 多參與開(kāi)源社區(qū)(如ROS2的GitHub項(xiàng)目),學(xué)習(xí)前沿技術(shù)并貢獻(xiàn)代碼
    發(fā)表于 05-03 19:41

    復(fù)合機(jī)器人為什么要使用單點(diǎn)糾偏算法?

    復(fù)合機(jī)器人單點(diǎn)糾偏算法
    的頭像 發(fā)表于 04-20 14:59 ?230次閱讀
    復(fù)合<b class='flag-5'>機(jī)器</b>人為什么要使用單點(diǎn)糾偏<b class='flag-5'>算法</b>?

    具身智能工業(yè)機(jī)器人路徑規(guī)劃算法成為破局關(guān)鍵

    工業(yè)4.0與智能制造深度融合的今天,傳統(tǒng)路徑規(guī)劃算法已難以滿足動(dòng)態(tài)生產(chǎn)環(huán)境的需求。面對(duì)復(fù)雜場(chǎng)景下的高精度避障、實(shí)時(shí)決策與多任務(wù)協(xié)同挑戰(zhàn),具身智能工業(yè)機(jī)器人路徑規(guī)劃
    的頭像 發(fā)表于 03-28 15:01 ?353次閱讀

    請(qǐng)問(wèn)STM32部署機(jī)器學(xué)習(xí)算法硬件至少要使用哪個(gè)系列的芯片?

    STM32部署機(jī)器學(xué)習(xí)算法硬件至少要使用哪個(gè)系列的芯片?
    發(fā)表于 03-13 07:34

    中偉視界:AI防爆型攝像機(jī)有哪些常用算法算法解析與并行運(yùn)行能力介紹

    AI防爆型攝像機(jī)通過(guò)多種智能算法,如目標(biāo)檢測(cè)、人體識(shí)別、行為識(shí)別等,具備了對(duì)監(jiān)控場(chǎng)景的深度解析與高效管理能力。它能實(shí)時(shí)監(jiān)測(cè)潛在危險(xiǎn)并預(yù)警,在無(wú)網(wǎng)無(wú)電環(huán)境中可獨(dú)立運(yùn)行,充分展示了其強(qiáng)大的并行算法
    的頭像 發(fā)表于 02-27 10:41 ?558次閱讀
    中偉視界:AI防爆型攝像<b class='flag-5'>機(jī)</b>有哪些常用<b class='flag-5'>算法</b>之<b class='flag-5'>算法</b>解析與并行運(yùn)行<b class='flag-5'>能力</b>介紹

    PID控制算法的C語(yǔ)言實(shí)現(xiàn):PID算法原理

    工業(yè)應(yīng)用中 PID 及其衍生算法是應(yīng)用最廣泛的算法之一,是當(dāng)之無(wú)愧的萬(wàn)能算法,如果能夠熟練掌握 PID 算法的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,對(duì)于一般的研
    發(fā)表于 02-26 15:24

    機(jī)器學(xué)習(xí)模型市場(chǎng)前景如何

    當(dāng)今,隨著算法的不斷優(yōu)化、數(shù)據(jù)量的爆炸式增長(zhǎng)以及計(jì)算能力的飛速提升,機(jī)器學(xué)習(xí)模型的市場(chǎng)前景愈發(fā)廣闊。下面,AI部落小編將探討機(jī)器
    的頭像 發(fā)表于 02-13 09:39 ?359次閱讀

    華為云 Flexus X 實(shí)例部署安裝 Jupyter Notebook,學(xué)習(xí) AI,機(jī)器學(xué)習(xí)算法

    前言 由于本人最近在學(xué)習(xí)一些機(jī)器算法,AI 算法的知識(shí),需要搭建一個(gè)學(xué)習(xí)環(huán)境,所以就在最近購(gòu)買的華為云 Flexus X 實(shí)例上安裝了
    的頭像 發(fā)表于 01-02 13:43 ?533次閱讀
    華為云 Flexus X 實(shí)例部署安裝 Jupyter Notebook,<b class='flag-5'>學(xué)習(xí)</b> AI,<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>算法</b>

    傳統(tǒng)機(jī)器學(xué)習(xí)方法和應(yīng)用指導(dǎo)

    在上一篇文章中,我們介紹了機(jī)器學(xué)習(xí)的關(guān)鍵概念術(shù)語(yǔ)。在本文中,我們會(huì)介紹傳統(tǒng)機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)和多種算法特征,供各位老師選擇。 01 傳統(tǒng)
    的頭像 發(fā)表于 12-30 09:16 ?1184次閱讀
    傳統(tǒng)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>方法和應(yīng)用指導(dǎo)

    NPU與機(jī)器學(xué)習(xí)算法的關(guān)系

    在人工智能領(lǐng)域,機(jī)器學(xué)習(xí)算法是實(shí)現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復(fù)雜度的提升,對(duì)計(jì)算資源的需求也在不斷增長(zhǎng)。NPU作為一種專門為深度學(xué)習(xí)
    的頭像 發(fā)表于 11-15 09:19 ?1214次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)與其他機(jī)器學(xué)習(xí)算法的比較

    隨著人工智能技術(shù)的飛速發(fā)展,機(jī)器學(xué)習(xí)算法在各個(gè)領(lǐng)域中扮演著越來(lái)越重要的角色。長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),因其在處理序列數(shù)據(jù)方面的優(yōu)勢(shì)而受到廣泛關(guān)注。 LSTM
    的頭像 發(fā)表于 11-13 10:17 ?2139次閱讀

    AIGC算法解析及其發(fā)展趨勢(shì)

    、AIGC算法解析 核心基礎(chǔ) 人工智能算法 :AIGC技術(shù)的基礎(chǔ)和靈魂,如深度學(xué)習(xí)、機(jī)器學(xué)習(xí)算法
    的頭像 發(fā)表于 10-25 15:35 ?1552次閱讀

    LIBS結(jié)合機(jī)器學(xué)習(xí)算法的江西名優(yōu)春茶采收期鑒別

    以廬山云霧茶和狗牯腦茶的明前茶、雨前茶為對(duì)象,研究激光誘導(dǎo)擊穿光譜結(jié)合機(jī)器學(xué)習(xí)的茶葉鑒別方法。將茶葉茶,水?dāng)?shù)據(jù)融合可有效鑒別春茶采收期,且數(shù)據(jù)融合后表現(xiàn)出更好的穩(wěn)定性和魯棒性,LIBS結(jié)合機(jī)器
    的頭像 發(fā)表于 10-22 18:05 ?644次閱讀
    LIBS結(jié)合<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>算法</b>的江西名優(yōu)春茶采收期鑒別

    量子計(jì)算場(chǎng)景實(shí)用秘籍:開(kāi)物SDK之subQUBO算法分解

    subQUBO算法是一種將大規(guī)模組合優(yōu)化問(wèn)題分解為若干個(gè)小規(guī)模問(wèn)題以便能在當(dāng)前中小規(guī)模量子計(jì)算機(jī)上實(shí)現(xiàn)求解的方法。
    的頭像 發(fā)表于 08-13 11:05 ?1682次閱讀
    量子計(jì)算場(chǎng)景實(shí)用秘籍:開(kāi)物SDK之subQUBO<b class='flag-5'>算法</b><b class='flag-5'>分解</b>