1. 双塔模型基础架构解析
双塔模型(Two-Tower Model)作为推荐系统和搜索领域的经典架构,其核心思想是将用户和物品分别通过独立的神经网络(即"双塔")映射到同一向量空间。这种设计最早可追溯到2013年微软提出的DSSM(Deep Structured Semantic Model)模型,后来经过SENET等技术的演进,逐渐成为工业界的标配方案。
我在实际业务中部署过多个双塔模型版本,发现其核心优势在于:
- 线上服务高效:用户塔和物品塔可以预先计算好向量,线上只需简单向量运算
- 冷启动友好:新物品加入时无需重新训练整个模型
- 多场景适配:同一套物品向量可服务于推荐、搜索、广告等多个场景
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. DSSM模型技术细节拆解
2.1 原始DSSM架构设计
DSSM的经典结构包含以下几个关键组件:
- 输入层:采用词哈希(Word Hashing)处理查询和文档
- 全连接层:通常3-4层DNN,使用tanh激活函数
- 输出层:计算query和doc向量的余弦相似度
python复制# DSSM核心代码示例
user_tower = Sequential([
Dense(256, activation='tanh', input_dim=500),
Dense(128, activation='tanh'),
Dense(64, activation='tanh')
])
item_tower = Sequential([ # 与user_tower结构对称
Dense(256, activation='tanh', input_dim=500),
Dense(128, activation='tanh'),
Dense(64, activation='tanh')
])
2.2 训练技巧与参数设置
在实际训练中需要注意:
- 负采样策略:建议采用batch内随机采样+曝光未点击样本
- 温度系数调节:softmax温度参数通常设置在0.05-0.2之间
- 特征归一化:输入特征建议做Z-score标准化
经验:在电商场景下,将用户最近10次点击行为作为正样本,曝光未
