Datawhale组队学习——深度学习推荐系统(5)

本文介绍了深度兴趣网络(DIN)的原理和结构,指出Embedding & MLP模型在表示用户兴趣方面的局限性。DIN通过注意力机制更好地处理用户历史行为数据,以适应推荐系统中的多变兴趣。文中还讨论了特征处理、模型结构以及对推荐系统模型的思考。
摘要由CSDN通过智能技术生成

Embeding &MLP的缺陷

我们之前所讲的模型,都有这样的特点:首先将大规模稀疏特征映射到Embedding,然后转换其维度后连接多层感知器(MLP),以此学习特征的非线性关系。这些方法的优点是显而易见的,能够减少大量的特征工程,同时取得很好的效果。因此在推荐系统领域非常流行。这类模型被DIN作者统称为Embeding &MLP

但是,Embedding &MLP 模型 中,表示用户的向量维度有限,这成为了制约模型表示用户广泛兴趣的瓶颈。具体的讲,用户的兴趣被压缩为固定的向量,这使得模型的表达能力被限制。如果要增强表达能力则需要扩大学习参数,这将导致计算和存储的负担。

当然,用户兴趣的重要程度是不同的,只有部分的用户兴趣会影响用户的行为。 例如,一位女游泳运动员会点击推荐的护目镜,主要是因为购买了泳衣,而不是上周购物清单中的鞋子。

DIN

DIN是由阿里巴巴所研发的网络,这个模型是应用在有大量用户历史行为信息的场景下,例如淘宝根据用户的购买历史来推荐给用户商品。DIN将用户的历史行为数据与当前的产品相关联。通过用户的历史数据推断用户的兴趣,达到精准的广告推送。

特征

在这里插入图片描述
上图是DTN论文中,阿里巴巴所给出的广告系统中的特征格式。其中第二行的用户行为特征非常关键,且是多热编码(mult-hot)

多热编码:例如我们现在有3个样本: - 样本1 在该属性下取值有1,2两种特征 - 样本2 在该属性下有2一种特征 - 样本3 在该属性下有3,4 两种特征。我们以multi-hot编码的形式来定义特征应为 - 样本1 [1,1,0,0] - 样本2 [0,1,0,0] - 样本3 [0,0,1,1]

按照作者的举例,[weekday=Friday, gender=Female, visited_cate_ids={Bag,Book},ad_cate_id=Book],其中visted_cate_ids代表用户的历史商品列表,每个人的历史商品列表的长度都不一致,所以采用mult-hot编码。最终的特征形式如下:
在这里插入图片描述

模型结构

论文着重介绍了一个Embeding &MLP的基础模型,将其与DIN对比,可以更直观的感受到DIN的结构特点和优势

Embeding &MLP基础模型

在这里插入图片描述

基础模型分为Embedding Layerpooling layer and Concat layerMLPLoss

Embedding Layer:把高维稀疏向量转换为低维稠密向量。

Pooling layer and Concat layer:不同用户的行为数量并不一致,使得每个用户的历史行为特征拼起来就不一样长,因此利用池化操作将维度统一。常用的池化操作有求和池化和平均池化。Concat layer层的作用就是拼接了,就是把这所有的特征embedding向量,如果再有连续特征的话也算上,从特征维度拼接整合,作为MLP的输入。

MLP 全连接,用了学习特征之间的各种交互。

LOSS 使用的目标函数是负对数似然函数
L = − 1 N ∑ ( x , y ) ∈ S ( y log ⁡ p ( x ) + ( 1 − y ) log ⁡ ( 1 − p ( x ) ) ) L=-\frac{1}{N} \sum_{(\boldsymbol{x}, y) \in \mathcal{S}}(y \log p(\boldsymbol{x})+(1-y) \log (1-p(\boldsymbol{x}))) L=N1(x,y)S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值