youtube召回逻辑是怎样的
youtube召回逻辑是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟空间、营销软件、网站建设、囊谦网站维护、网站推广。
youtube召回逻辑
上图是整个架构中的候选集生成模块, 也就是召回模块。
下面的这些embedding直接连起来, 效果, 不怎么好, 感觉只能做base line
example age是当前训练时间-日志时间, 由于某个视频的热度并不是均匀分布在时间线上的, 加上这个特征可以让分布尽量的与真实的保持一致, 很有意思的一点, 但是原因我没想太明白。
之后就是三层Relu, 最后输出一个vector, 假设为 20x1的embedding, 最后输出的这个就是 user embedding, 之后softmax然后ANN进行最近邻检索就行。
怎么做KNN召回的?
问题来了, 为什么能拿这个DNN最后生成的user embeding 去召回, 进行ANN的Item Embedding从哪里来的? 以及ANN的时候用的是哪个距离?
首先, 对于某一个输入的user embedding, 判断此条件对某个item到底点不点, 可以理解为一个多分类问题, 即一个item就是一个分类, 假设视频个数为200w, 那么其实就是使用softmax判断 20维度的user embedding 到底会落在 200w中的哪一个。
所以, softmax会生成一个200w x 20 的denser, 那么每一个item就是一个 20x1的embedding, 用以表明item的embeding
再看一下softmax的公式, 那就是user embedding 与 item embedding, 然后加和求处理求最大, 但是由于在线上服务的时候不可能直接softmax算一遍, 由于softmax的特性, 只需要求两个embedding内积最大的那些来召回即可。
所以最后的item embedding为softmax产生的, 由于是一个softmax多分类问题, 所以需要在KNN的时候,求内积最大来实现,
实现
具体实现可以采用Faiss, 创建IndexIVFFlat索引, 相似度方法采用 faiss.METRIC_INNER_PRODUCT, 把200w的item embedding放进去, 线上服务的时候那个三层模型实时反馈生成user embedding, 然后在faiss中做KNN
看完上述内容,你们掌握youtube召回逻辑是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
文章题目:youtube召回逻辑是怎样的
标题路径:http://ybzwz.com/article/ihipjj.html