召回09 双塔模型+自监督学习

引入:

自监督学习改进双塔模型,可以提升业务指标。自监督学习是把物品塔学习得更习的更好

长尾物品的曝光和点击数量太少,训练的样本次数不够。自监督可以更好地学习长尾数据的物品表征。

双塔模型的训练:

线上召回的时候不用纠偏,不需要调整余弦相似度。


 

自监督学习:

对一个物品做随机特征变换得到不同的特征,这两个向量表征应该有高相似度,但是不同物品的表征向量应该分散开。

特征变换:

random mask

本来一个物品有多个类目,分别对每一个类目都做embadding,得到两个向量,再取加和或者平均。而做mask之后,丢掉全部的类目,变成默认缺失值,做embadding。

dropout

complementary

mask一组关联的特征

类目和性别的关联就很强。

训练模型:

用变换后的特征训练模型,从全部物品随机抽样,区别于双塔模型是根据点击行为抽样的。

推导损失函数:

sii应该接近1,其余sij应该接近0。训练希望si接近yi,将其交叉熵记为损失函数。

总结:

让不同物品的向量表征尽量spread out ,分散在整个特征空间上,而不是集中在一起。指标有改善。

第一个batch训练双塔,包括用户塔和物品塔;第二个batch做自监督学习,只训练物品塔。最后做梯度下降使损失函数减小。Lmain 是双塔的损失,  Lself是自监督的损失,分别取平均。α是超参数,决定自监督学习起到的作用。

### 双塔模型概述 双塔模型是一种基于深度学习的架构设计,主要用于解决语义匹配问题。其核心思想是通过两个独立的神经网络分别对输入数据的不同部分进行编码,最终将两者映射到同一向量空间中以便计算相似度[^1]。 #### 模型结构 双塔模型通常由两部分组成:左侧塔负责处理查询(Query),右侧塔则负责处理文档或其他目标对象(Document)。每一侧都采用单独的神经网络结构,常见的有前馈神经网络或多层感知机(MLP)。两侧共享相同的训练目标函数,在实际应用中可以灵活调整具体参数配置[^2]。 ```python import tensorflow as tf def create_tower(input_dim, embedding_size): model = tf.keras.Sequential([ tf.keras.layers.Input(shape=(input_dim,)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dense(embedding_size, activation=None) ]) return model query_input = tf.keras.layers.Input(shape=(query_dim,)) doc_input = tf.keras.layers.Input(shape=(document_dim,)) embedding_size = 64 left_tower = create_tower(query_dim, embedding_size)(query_input) right_tower = create_tower(document_dim, embedding_size)(doc_input) cosine_similarity = tf.reduce_sum(tf.multiply(left_tower, right_tower), axis=1) model = tf.keras.Model(inputs=[query_input, doc_input], outputs=cosine_similarity) ``` 上述代码展示了如何构建一个基础版本的双塔模型框架。这里定义了一个通用方法`create_tower()`用来创建单个子网路,并将其应用于查询和文档两端的数据表示转换过程之中[^3]。 #### 训练流程 在训练阶段,该类模型一般会利用成对样本及其标签信息来进行监督式学习。例如对于搜索引擎而言,可以通过点击日志获取正负样例集合;而对于推荐系统来说,则可能依赖于用户行为记录中的交互历史来标注相关性程度较高的物品组合关系。 #### 应用场景分析 由于具备高效性和良好性能表现等特点,因此这种类型的解决方案已被广泛采纳并成功部署到了多个领域当中: - **搜索排序优化**:提高检索结果的相关性评估准确性; - **广告投放精准化**:增强个性化展示策略的效果; - **内容过滤机制改进**:加强不良信息识别能力等方面均发挥了重要作用。 ### 结论 综上所述,双塔模型凭借其实现简便以及适应性强的优势成为了当前业界非常受欢迎的一种技术手段之一。它不仅能够有效提升各类业务系统的智能化水平,同时也为后续更复杂算法的研究奠定了坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值