0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习算法那家强 因子分解机(FM算法)工业落地能力最强

深度学习自然语言处理 来源:深度学习自然语言处理 作者:深度学习自然语言 2020-12-31 00:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

文 | 石塔西

源 | 夕小瑶的卖萌屋

尽管BERT为代表的预训练模型大肆流行,但是身处工业界才会知道它落地有多难,尤其是QPS动辄几百的在线推荐、搜索系统,哪怕在大厂也很难在线上系统见到它们。

今天就想反其道而行之,谈谈工业界搜索、推荐、广告这类核心场景中落地能力最强的算法(之一):因子分解机(FM)。我不敢说它是最简单的(FM的确很简单),但是作为一个推荐算法调参工程师,掌握FM一定是性价比最高的。我推崇FM算法的原因,有以下三点:

功能齐全

众所周知,推荐算法有三个应用领域:召回、粗排、精排。推荐算法千千万,但是有的算法只能用于召回,有的算法只能用于排序。像FM这样实现三个领域全覆盖的多面手,目前为止,孤陋寡闻的我尚不知道有第二个。但是需要强调的是,我们不能只训练一个FM排序模型 ,然后直接拿这个排序模型用于召回。尽管都是基于FM算法,但是FM召回与排序,有以下不同:

使用的特征不同

FM召回,由于未来要依赖Faiss进行线上检索,所以不能使用user与doc的交叉特征。只有如此,我们才能独立计算user embedding与doc embedding

FM排序,则没有这方面的限制,可以使用user与doc的交叉特征。是的,你没看错。因为FM所实现自动二阶交叉,仅能代表“共现”。但是user与doc之间还有其他形式的交叉,比如user tag与doc tag之间的重合度,喂入这样的交叉,对于排序性能提升,仍然有很大帮助。

使用的样本不同

训练FM做排序时,必须使用“曝光未点击”这样的“真负”样本。

训练FM做召回时,起码不能只使用“曝光未点击”做负样本。大部分的负样本必须通过随机采样得到。个中原因见我的文章《负样本为王:评Facebook的向量化召回算法》。

使用的Loss不同

FM排序时,由于负样本是真实的,可以采用CTR预估那样的point-wise loss

FM召回时,由于负样本是随机采样得到的,存在一定的噪声,最好采用BPR, hinge这样的pair-wise loss。

性能优异

推荐系统的两大永恒主题,“记忆”与“扩展”,FM也能实现全覆盖。

FM存在一阶项,实际就是LR,能够“记忆”高频、常见模式

FM存在feature embedding。如我在《无中生有:论推荐算法中的Embedding思想》据说,Embedding是提升推荐算法“扩展性”的法宝。FM通过feature embedding,能够自动挖掘低频、长尾模式。在这一点上,基于embedding的二阶交叉,并不比DNN的高阶交叉,逊色多少。

便于上线

现在深度学习是推荐领域的宠儿,LR/FM/GBDT这样的传统机器学习算法,不招人待见。

DNN虽然性能优异,但是它有一个致命缺点,就是上线困难。训练的时候,各位调参侠,把各种酷炫的结构,什么attention, transformer, capsule,能加上的都给它加上,看着离线指标一路上涨,心里和脸上都乐开了花,却全然无视旁边的后端工程师恨得咬紧了牙根。模型越复杂,离线和线上指标未必就更好,但是线上的时间开销肯定会增加,轻则影响算法与后端的同事关系(打工人何苦为难打工人),重则你那离线指标完美的模型压根没有上线的机会。虽说,目前已经有TF Serving这样的线上serving框架,但是它也不是开箱即用的,也需要一系列的性能调优,才能满足线上的实时性要求。

所以,如果你身处一个小团队,后端工程人员的技术能力不强,DNN的线上实时预测,就会成为一个难题,这个时候,FM这样的传统机器学习算法,就凸显出其优势。

FM排序,虽然理论上需要所有特征进行二阶交叉,但是通过公式化简,可以在 O(n)的时间复杂度下完成。n是样本中非零的特征数目,由于推荐系统中的特征非常稀疏,所以预测速度是非常快的。

召回,由于候选集巨大,对于实时性的要求更高。很多基于DNN的召回算法,由于无法满足线上实时生成user embedding的需求,只能退而离线生成user embedding ,对于用户实时兴趣的捕捉大打折扣。FM召回,这时就显现其巨大的优势。事先把doc embedding计算好,存入Faiss建立索引,user embedding只需要把一系列的feature embedding相加就可以得到,再去faiss中进行top-k近邻搜索。FM召回,可以实现基于用户最新的实时兴趣,从千万量级候选doc中完成实时召回。

总结与参考

由于以上优点,我心目中,将FM视为推荐、搜索领域的"瑞士军刀"。风头上虽然不及DNN那么抢眼,但是论在推荐系统中发挥的作用,丝毫不比DNN逊色,有时还能更胜一筹。FM有如此众多的优点,优秀的调参侠+打工人,还等什么,还不赶快学起来。想迅速掌握FM,我推荐如下参考文献:

掌握FM原理,推荐读美团的博客《深入FFM原理与实践》。FFM的部分可以忽略,在我看来,FFM更像是为了Kaggle专门训练的比赛型选手,损失了FM的很多优点。这就好比,奥运会上的射击冠军,未必能够胜任当狙击手一样。

FM用于召回,推荐读《推荐系统召回四模型之:全能的FM模型》。注意,如我所述,FM虽然万能,但是FM排序与FM召回,在特征、样本、Loss都存在不同,不可能训练一个FM排序就能直接拿来做召回。这一点,《全能FM》一文没有提到,需要读者特别注意。

如果想亲手实践,可以尝试alphaFM。该项目只不过是作者八小时之外的课外作品,却被很多公司拿来投入线上实际生产环境,足见该项目性能之优异和作者功力之深厚,令人佩服。强烈建议不满足只当“调参侠”的同学,通读一遍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

原文标题:谈谈工业界落地能力最强的机器学习算法

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4817

    浏览量

    98936
  • FM
    FM
    +关注

    关注

    1

    文章

    196

    浏览量

    61693
  • 机器学习
    +关注

    关注

    67

    文章

    8571

    浏览量

    137512
  • dnn
    dnn
    +关注

    关注

    0

    文章

    61

    浏览量

    9570

原文标题:谈谈工业界落地能力最强的机器学习算法

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2026年中国十大机器视觉公司的决胜逻辑:全栈能力与场景深耕

    视觉平台AIDI、云端AI平台及嵌入式AI系列产品,处于机器视觉产业链上游,扮演着工业AI视觉算法与解决方案细分技术领跑者角色,专注于解决复杂的工业质检难题,其产品广泛
    发表于 05-15 09:16

    算法工程师需要具备哪些技能?

    算法工程师需要掌握一系列跨学科的技能,涵盖数学基础、编程能力算法理论、工程实践以及业务理解等多个方面。 以下是具体技能及学习建议: 线性代数核心内容:矩阵运算、特征值
    发表于 02-27 10:53

    深演智能入选2025大鲸榜GenAI最强落地公司

    近日,由虎嗅智库发起的 “2025 大鲸榜・GenAI 最强落地公司” 评选结果正式揭晓。凭借在智能营销领域的技术创新实力、规模化商业落地成果及显著的价值创造能力,深演智能成功入选企业
    的头像 发表于 12-28 15:45 1288次阅读

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课(11大系列课程,共5000+分钟)

    ,形成\"传统视觉算法→深度学习建模→工业级部署\"的完整技术链,帮助学员掌握从0到1搭建缺陷检测系统的能力,响应制造业\"提质降本增效\"的核心需求。 团购课程
    发表于 12-04 09:28

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课程(11大系列课程,共5000+分钟)

    ,形成\"传统视觉算法→深度学习建模→工业级部署\"的完整技术链,帮助学员掌握从0到1搭建缺陷检测系统的能力,响应制造业\"提质降本增效\"的核心需求。 团购课程
    发表于 12-03 13:50

    单片算法

    平滑滤波算法 设置一个数据缓存区,每新采集一个数据便存入暂存区中,同时去掉一个最老数据,保存这N个数据始终是最新更新的数据。采用环型队列结构可以方便地实现这种数据存放方式。 #define
    发表于 11-28 08:19

    SM4算法实现分享(一)算法原理

    SM4分组加密算法采用的是非线性迭代结构,以字为单位进行加密、解密运算,每次迭代称为一轮变换,每轮变换包括S盒变换、非线性变换、线性变换、合成变换。加解密算法与密钥扩展都是采用32轮非线性迭代结构
    发表于 10-30 08:10

    e203除法器算法改进(二)

    }表示i次的选商结果) 传统的SRT-4算法选商的基本原理便是利用PD图实现选商的过程。(针对SRT-4算法的冗余数字集设置为最小冗余度{-2,-1,0,1,2},冗余度因子$rho=2/3$)。 PD
    发表于 10-22 06:11

    旷视借助大模型与智能体推动算法落地

    当下,AI技术繁荣无比,但无数企业却陷入“叫好不叫座”的困境:算法模型很先进,但一到真实的行业场景中就“水土不服”。问题究竟出在哪?大模型和智能体的兴起,又为我们提供了怎样的新解题思路?本文将深入探讨算法落地的核心痛点,并阐述我
    的头像 发表于 10-11 14:04 865次阅读

    25年11月上海FPGA算法实现与应用技术高级研修分享

    进行了详细的分解和论述,同时对数字中频处理涉及的许多概念和应用场景进行阐述,不仅帮助大家结合工程设计去深入了解算法,也为后续的课程学习建立良好的基础。   第二章: 离散傅里叶变换补充说明:结合现实中
    发表于 10-11 11:55

    思必驰声音转换算法通过国家备案

    近日,国家互联网信息办公室公告第十三批深度合成服务算法备案信息,思必驰声音转换算法通过备案,这也是思必驰第7项通过备案的算法,标志着思必驰在人工智能算法合规化与场景
    的头像 发表于 09-18 14:05 1219次阅读

    AI 驱动三维逆向:点云降噪算法工具与机器学习建模能力的前沿应用

    在三维逆向工程领域,传统方法在处理复杂数据和构建高精度模型时面临诸多挑战。随着人工智能(AI)技术的发展,点云降噪算法工具与机器学习建模能力的应用,为三维逆向工程带来了创新性解决方案,
    的头像 发表于 08-20 10:00 954次阅读
    AI 驱动三维逆向:点云降噪<b class='flag-5'>算法</b>工具与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>建模<b class='flag-5'>能力</b>的前沿应用

    PPEC电源DIY套件:图形化算法编程,解锁电力电子底层算法实践

    电源。这种方式不仅降低了开发门槛,还保留了对底层算法的控制能力,具有很强的实践性和教育意义。 升级版开关电源DIY 套件核心组件含: PPEC 最小系统板(PPEC32F334RBT7 芯片
    发表于 08-14 11:30

    PID控制算法学习笔记资料

    用于新手学习PID控制算法
    发表于 08-12 16:22 7次下载

    单片常用算法源码下载!

    单片常用算法源码下载!
    发表于 06-10 20:44