上岸算法 I 推荐系统模型面试应该怎么答

作者 l 小春老师

简介 I 上岸Machine Learning和Deep Learning导师,美国常春藤CS毕业。拥有多家FLAG任职经验,现任Machine Learning Scientist,在Deep Learning、Machine Learning、 NLP等领域发表多篇paper,拥有丰富的业界经验。担任面试官多年,曾帮助多位应届生设计辅导项目,修改简历,模拟面试直至斩获大厂Offer。

推荐系统是各科技公司算法兵家必争之地,从Netflix和Amazon最初推出大规模推荐系统并且收割了绝大部分市场开始,到谷歌(YouTube)和FB推出,广泛应用了Two-Tower的Deep Learning推荐系统,再到今天Pinterest的Graph Convolutional Network, AlphaFold逐渐可以捕捉到更多更加精细的User-Item interaction的推荐系统,我们面试者如果在面试中只答学校里教的Collaborative filtering和Matrix factorization就远远不够啦。

今天小春老师带大家熟悉一下State of art的推荐系统的模型系统,这部分也是我们课程会详细反复讲解的内容,面试Machine Learning的case和system design如果这样答,绝对会impress到你的面试官。

话不多说,先介绍一下业内还在大量使用的Two-Tower模型。

Two-Tower模型
在这里插入图片描述
Two-Tower模型的关键在于不仅可以捕捉大量的user 本身feature,item本身的feature,还可以捕捉到非常多的user-item interaction的feature,并且通过user feature encoder,item feature encoder生成embedding,最后用dot product来衡量similarity或者是说user和item的关联性,而这种关联性就是推荐系统所需要的,最后产生推荐的时候只需要对特定的user产生出来关联性最大的几个item即可,这里往往还有一个reranking的环节,共同组成了Two-Tower模型。

User encoder和item encoder分别可以由Tree based model或者Deep Neural Network来代替,这一个部分的模型可以做的比较complex作为feature的extractor。而其后产生关联性的最后一个layer则往往用logistic regression来做,为的是最终上线模型的反复训练时候的速度考量。而reranking模型则一般可以更加复杂。

Two-Tower模型除了在推荐系统中广泛应用,在Search,QA等等系统中也得到了非常广泛的使用,这部分内容我们课程里会针对不同的系统给大家讲解Two-Tower模型是如何使用的。

Graph Neural Network模型

Graph Neural Network模型则是推荐系统,社交网络等领域毫无疑问的State-of-art的存在. 其优势在于能用图(Graph)的结构模拟推荐系统和社交网络等复杂的interaction,例如下图Youtube在24小时内某用户观看的Video可以成一张简单的Graph.
在这里插入图片描述
而各个User又有自己的graph,各个Video也有自己的graph。这样的条件下,对于User还未看的Video就可以利用Graph里面的关系做Label Propagation,例如User A观看过的Video M和 Video N中间有一个很大weight的edge,就可以推断User A也可能观看Video N。

其实Two-Tower模型可以看作Graph Neural Network模型的一种简化,其更容易操作的特性让其先于Graph Neural Network模型得到广泛应用。而Graph Neural Network模型在近些年在Serving的时候也攻克了一些难点,在Pinterest,Google,Twitter等公司广泛应用。这些难点例如如何保证latency和Graph的大小之间的关系:如何利用Freshness去修剪Graph等等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值