博客 > 人工智能&数据科学 > 具体业务处理 > 推荐系统 > 召回算法
# 双塔模型入门(DSSM) ## 介绍 基本结构:引入带有深度神经网络的“塔结构”,将包含ID在内的多种特征经过变换、嵌入再投入附加的神经网络,最终生成统揽所有特征的向量。分别构建用户和物品两组特征向量,���证两组向量维数相同,然后通过融合训练,使用户和物品尽可能处于同一个语义空间中(比如使用户与值得推荐的物品余弦相似度接近1)。如下图所示: ![965f2d7d7a37e78af2571dd9dbce3f25.png](/resources/dcf67c66817f4376835538f2888aa78b) ## 训练方法 ### 正负样本选择 样本:这里特指**用户-物品二元组$<u,i>$** 正样本:直接选择用户和其有交互的物品 负样本: - 简单负样本:用户与全体物品里随机抽选的物品构成负样本,可以乘以一个热门惩罚,使得热门物品更容易被选到(因为一般的内容系统里冷门物品基数过大) - batch内简单负样本:分批情况下,一个用户与该批内其他用户交互过的物品构成负样本;为了平衡冷热门物品,可以用 $cos(u,i)-\log_k{p_i}$ 作为且仅作为训练时的损失函数,其中 $p_i$ 为该物品的热门指数(如点击次数),$k$ 为超参数 - 困难负样本:以往进入召回层,但在排序层被筛除的样本 - 可考虑 简单:困难 比例为 1:1 ### Pointwise(单物品,单用户) ![7f4b4b04eaf30fe64f849a080dd2f1cb.png](/resources/e230afb04c214c64af876c5ff58d59d3) ### Pairwise(单正样本物品,单负样本物品,单用户) ![a72eaaac037ae97fcbcf31cf4df53ef6.png](/resources/5a50f0f673d74b65abe8b7fb170f0fad) ![893a3516e2e01489c265b5a4f3574a2b.png](/resources/b2d27dcdf4b94b8b83f7dc64e9e55731) ![3c5be2286326c86373a120c68200da33.png](/resources/6353ac8c4e9d4efca03dc1dc8e6e01d4) ### Listwise(单正样本物品,多负样本物品,单用户) ![b094c3ca95ef098f3f3ced3cfd1bc509.png](/resources/b36688facb4f44188bfe592485215f51)