自学内容网 自学内容网

召回10 Deep Retrieval召回

Deep Retrieval召回:给定用户特征采用beam search算法召回路径,根据路径召回物品,对物品排序,最终用分数高的物品作为召回结果。

双塔模型是将向量表征作为用户和物品之间的中介。

Deep Retrieval是将路径作为用户和物品之间的中介。

神经网络判断用户对物品的兴趣,物品表证则是把物品映射到路径。

索引:

把物品和路径关联起来。一个物品可以表示为多条路径,路径可以有重合的节点。

物品到路径的索引:

训练神经网络时使用该索引。

路径到物品的索引:

线上做召回的时候使用该索引。给定一条路径会取回多个物品作为召回的结果。

预估模型:

Deep Retrieval设计神经网络,给定用户特征可以预估用户对路径的兴趣分数。使用该神经网络,可以根据用户特征召回多条路径。

以下假定结构有三层:p1 p2 p3三个向量是三个神经网络的输出。

向量p1 p2 p3分别是对第一层、第二层、第三层k个节点的打分,都是k维向量。根据分数选出每一层的一个节点a 、b、c。用户特征向量x不变,对节点a做embadding得到emb(a),对x和emb(a)做connection再输入神经网络。三层神经网络不共享参数

选出三层中的节点a 、b、c.

线上召回:

beam search召回路径

减少计算量,应用于机器学习和Lp。超参数beam size最大,计算量越大,search结果越好。

例子,设置超参数为1,选择每一层最高分节点,即p1向量中元素最大的节点。

beam search算法理论:

上面的例子即贪心算法,独立对p1 p2 p3最大化,但不一定保证三项乘积最大,即选择的路径未必是最优路径。

设置超参数为4:

训练:

离线训练,只使用正样本,只要点击过就算正样本。

通过最小化损失函数来学习神经网络的参数。

以用户为中介,计算用户与路径的兴趣分数,进而得到物品与路径的相关性score,score越高说明路径和物品的关联越大,可以把路径作为物品的表征。

概括:

总结:

双塔模型是将向量表征作为用户和物品之间的中介。

Deep Retrieval是将路径作为用户和物品之间的中介。


原文地址:https://blog.csdn.net/DEVIL_hym/article/details/142638984

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!