简单平均的用户行为序列建模

  • 系统记录 last-n,也就是最近交互过的 n 个物品
  • 把 n 个物品ID做 embedding,然后对所有 embedding 取平均得到一个向量作为对用户行为的表征
  • 取平均是最简单的,但是效果不是最好的

在这里插入图片描述

DIN模型

  • DIN 用加权平均代替平均,即注意力机制
  • 权重:候选物品与用户 LastN 物品的相似度,那个物品与候选物品更相似,它的权重就越高
  • 红色的向量是用户交互过的 LastN 物品的向量表征,蓝色向量 q 是候选物品的向量表征
  • 候选物品的含义:比如粗排选出了 500 个物品,它们就是精排的候选物品,精排模型要给每个候选物品打分,分数表示用户对候选物品的兴趣,最后根据分数高低对这 500 个候选物品做排序,保留分数最高的几十个展示给用户
  • 需要注意区分 last-n 物品和候选物品

在这里插入图片描述

  • 计算向量 x1x_1x1 与候选物品向量 qqq 的相似度记作 α1\alpha_1α1,它是个实数
  • 计算相似度的方法有很多,比如内积,余弦相似度,也可以用更复杂的方法
    在这里插入图片描述
  • 同样的方法计算 x2x_2x2qqq 的相似度,记作 α2\alpha_2α2,以此类推得到 n 个相似度,每个 α\alphaα 对应一个 xxx 向量
  • 在这里插入图片描述
  • α\alphaα 和对应的向量相乘,然后把结果相加得到紫色的向量,紫色向量就是 last-n 向量的加权和,权重是相似度 α\alphaα

在这里插入图片描述

DIN模型总结

  • 对于某候选物品,计算它与用户 last-n 物品的相似度
  • 以相似度作为权重,求用户 last-n 物品向量的加权和,结果是一个向量
  • 把得到的向量作为一种用户特征,输入排序模型,预估(用户,候选物品)的点击率,点赞率等指标
  • 本质是注意力机制

DIN的本质是注意力机制

  • 我们把红色向量 x1x_1x1xnx_nxn 作为 key 和 value
  • 右边蓝色向量作为 query
  • 输入单头注意力层
    在这里插入图片描述
  • query 只有一个向量,所以注意力层的输出也是一个向量
    在这里插入图片描述

简单平均 vs 注意力机制

  • 简单平均和注意力机制都适用于精排模型
  • 简单平均适用于双塔模型,三塔模型
    • 简单平均只需要用到 last-n,属于用户自身的特征,与候选物品无关
    • 把 last-n 向量的平均作为用户塔的输入
  • 注意力机制不适用于双塔模型,三塔模型
    • 注意力机制需要用到 last-n + 候选物品
    • 用户塔看不到候选物品,不能把注意力机制用在用户塔。比如在召回的时候,一共有上亿个候选物品,用户只能看到用户特征而看不到候选物品特征,但是 DIN 需要知道候选物品的特征
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐