天天看点

深度学习在推荐系统中的应用

模型 基本原理 具体细节 优缺点

AutoRec

单隐层神经网络

将协同过滤中的共线矩阵的每一列(商品的初始向量),通过单隐层神经网络,完成商品向量的自编码,即商品向量的embedding (但是并没有实现降维度)

再利用自编码的结果得到用户对于物品的预估评分,进而进行推荐排序

AutoRec

模型结构

输入 共线矩阵中的商品向量(列)
深度学习在推荐系统中的应用
输出 商品的自编码(可以认为是泛化后的商品embedding)
模型 三层神经网络(输入层-单隐层-输出层)
深度学习在推荐系统中的应用
深度学习在推荐系统中的应用
损失函数 自编码向量和原始输入向量的平方残差
深度学习在推荐系统中的应用
基于自编吗进行推荐
深度学习在推荐系统中的应用
优点:
  • 单隐层网络(一共三层网络)结构简单,使得模型有一定的泛化能力。可实现快速训练和部署
缺点:
  • 表达能力差
Deep Crosssing

利用“Embedding 层 + 多FC层 + 输出层” 的经典深度学习框架,

预完成特征的自动深度交叉

应用场景

搜索广告推荐场景。用户在搜索引擎中输入搜索词后,引擎除了返回相关结果,

还会返回和搜索词相关的广告。deep crossing 目标是增加用户对搜索广告的点击率

预测目标 用户是否会点击搜索广告
特征

类别型特征 (用embedding层来实现稀疏特征稠密化)

数值型特征

需要进一步处理的特征(广告计划,点击样例等)

模型结构
深度学习在推荐系统中的应用

Embedding 层:使得稀疏的类别型特征稠密化 (数值型特征不需要经过Embedding层)

Stacking 层:把不同的Embedding特征和数值型特征拼接在一起,形成新的包含全部特征的特征向量

Multiple Residual Units 层(多层残差网络):实现特征自动交叉组合,multiple residual units 有几层,就能实现几阶特征的交叉

Scoring 层:输出层,为了拟合优化目标 (sigmoid)

优点:
  • 经典的深度学习推荐模型框架
缺点:
  • 利用全连接隐层进行特征交叉,针对性不强
NeuralCF 将传统的矩阵分解中用户向量和物体向量的点积操作,换成由神经网络代替的互操作

step 1

求解用户embedding和商品embedding

分解共现矩阵,得到用户Embedding和物品Embedding
深度学习在推荐系统中的应用

step 2

预测用户u对商品i的评分

(求解用户u和商品i的相似度)

矩阵分解 将用户u的embedding和物品i的embedding进行内积,得到相似度,即用户u对物品i的评分
深度学习在推荐系统中的应用
NeuralCF 用多层神经网络+输出层,得到用户u和商品i的相似度
深度学习在推荐系统中的应用
优点:
  • 表达能力加强版的矩阵分解模型,让用户向量和物品向量有更充分的交叉,且引入更多非线性特征
缺点:
  • 只使用了用户和物品的id特征,没有引入用户和商品的交互特征。特征维度不够丰富
Wide&Deep 利用Wide部分加强模型的“记忆能力”,利用Deep部分加强模型的“泛化能力”
wide(记忆能力)

规则推荐,用规则类信息直接影响推荐结果 , 如果点击过A,就推荐B

ex: 学习并利用历史数据中feature的共现频率

比如label是:是否安装pandora

数据分析发现:feature1取值:已安装netflix, feture2取值:对pandora印象深刻, 和label 取值 已经安装pandora的共现频率很高

结论: 只要发现用户安装netflix且对pandora有好感,那么用户最终安装pandora的概率很大,可以直接将用户的label定为:安装pandora。feature1和feature2的权重很大。实现类对这组合特征的直接记忆

这列组合特征就不需要进入神经网络,被多层处理,不断和其他特征交叉

deep(泛化能力)

泛化能力:深度发掘数据的潜在模式,发掘稀疏甚至从未出现过的稀有特征和最终label的相关性

目的:使得特征维度特别稀疏的用户,也能得到较稳定平滑的推荐概率

模型
深度学习在推荐系统中的应用

Deep: 输入的是全量特征,特征经过层层FC

Wide:已安装应用和曝光应用两类特征,通过交叉积变换完成特征组合。再将组合特征和Deep部分的输出一同参与最后的目标拟合。完成和deep 部分的融合。

Ps: 只有user_installed_app = netflix and impression_app = pandora, 其交叉积才会是1,否则为0

直接到逻辑回归层。简单模型善于记忆用户行为特征中的信息。并根据此类信息直接影响推荐结果

优点:
  • 开创了组合模型的构造方法
缺点:
  • Wide部分需要人工进行特征组合的筛选
Deep&Cross 用Cross网络替代Wide&Deep模型中的Wide部分 优点:
  • 解决了Wide&Deep模型人工组合特征的问题
缺点:
  • Cross网络的复杂度较高
FNN 利用FM的参数来初始化深度神经网络的Embedding层参数 优点:
  • 利用FM初始化参数,加快整个网络的收敛速度
缺点:
  • 模型结构简单。没有针对性的特征交叉层
DeepFM 在Wide&Deep模型的基础上,用FM替代原来的xian 优点:
  • 解决了Wide&Deep模型人工组合特征的问题
缺点:
  • Cross网络的复杂度较高
DIN 在传统深度学习推荐模型的基础上引入注意力机制,并利用用户行为历史物品和目标广告物品的相关性计算注意力得分 优点:
  • 解决了Wide&Deep模型人工组合特征的问题
缺点:
  • Cross网络的复杂度较高
DIEN 优点:
  • 解决了Wide&Deep模型人工组合特征的问题
缺点:
  • Cross网络的复杂度较高

继续阅读