了解 Youtube 推荐器(候选生成步骤)

数据挖掘 深度学习 推荐系统
2021-10-11 23:28:53

我正在尝试了解YouTube 推荐的深度神经网络

他们的候选生成步骤输出前 N 个项目

  • 在训练时通过 softmax(带负采样)。
  • 在服务时间通过最近的邻居。

在此处输入图像描述

  1. 我猜 vj表示,(从 softmax 层到最近邻索引)
    您通过 softmax 获得的 topn 个视频,并以原始编码表示它们(您用于输入的相同编码(用于嵌入式视频手表))

    显然,vj与输入编码的编码不同。
    The softmax layer outputs a multinomial distribution over the same 1M video classes with a dimension of 256 (which can be thought of as a separate output video embedding)

    我试图通过将 softmax 输出解释为单独的输出视频嵌入来理解它们的含义。我认为输出 1M 个类的 softmax 层的维度是 1M,256 是从哪里来的?(这与How to create a multi-dimensional softmax output in Tensorflow 的问题相同?我认为那里没有得到回答..)

  2. 用户向量u是最终 ReLU 单元的输出,虽然我不确定这个用户向量的用途。

  3. 我猜在服务时间,为给定用户选择前 N 个用户向量u被最近邻居使用。但是我对最近邻的理解是对于给定的向量,它会在同一维度上找到最近的向量。(例如给定一部电影,查找最近的电影)。但是在这里,您有一个用户,需要查找 topn 视频。这是如何运作的?

    我最好的猜测是,对于给定的用户,你得到一个用户向量作为 ReLU 输出,然后找到用户-用户最近邻,并结合他们在训练时获得的前 n 个项目。但这只是一个猜测..

1个回答

vj 是将最后一个隐藏层(维度 256)连接到视频类的相应输出节点的权重(维度 256)的学习向量 j. 最后一个隐藏层是用户嵌入向量u.

论文使用了一个词汇 V 1M 个视频类,因此深度神经网络学习 1M 个权重向量,将最后一个隐藏层连接到每个类: [v1,,v1M]. 负采样用于训练具有如此多类的模型。

在第 2 页第 3.1 节的 softmax 函数下方,带有v ju.

P(wt=i|U,C)=eviujVevju

我相信 vj是“被认为是单独的输出视频嵌入”,因为vj可以解释为视频j在 256 维向量空间中的压缩表示。

自从ex是单调递增的,我们只关心点积viu在上述等式的分子中。这就是为什么“评分问题简化为点积空间中的最近邻搜索”,我们只需找到最近邻vu.