我正在尝试了解YouTube 推荐的深度神经网络。
他们的候选生成步骤输出前 N 个项目
- 在训练时通过 softmax(带负采样)。
- 在服务时间通过最近的邻居。
我猜 表示,(从 softmax 层到最近邻索引)
您通过 softmax 获得的 topn 个视频,并以原始编码表示它们(您用于输入的相同编码(用于嵌入式视频手表))显然,与输入编码的编码不同。
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 的问题相同?我认为那里没有得到回答..)
用户向量是最终 ReLU 单元的输出,虽然我不确定这个用户向量的用途。
我猜在服务时间,为给定用户选择前 N 个用户向量被最近邻居使用。但是我对最近邻的理解是对于给定的向量,它会在同一维度上找到最近的向量。(例如给定一部电影,查找最近的电影)。但是在这里,您有一个用户,需要查找 topn 视频。这是如何运作的?
我最好的猜测是,对于给定的用户,你得到一个用户向量作为 ReLU 输出,然后找到用户-用户最近邻,并结合他们在训练时获得的前 n 个项目。但这只是一个猜测..