machine-learning
  • Welcome
  • 动手学深度学习
    • 1. 前言
    • 2. 预备知识
    • 3. 线性神经网络
    • 4. 多层感知机
    • 5. 深度学习计算
    • 6. 卷积神经网络
    • 7. 现代卷积神经网络
    • 8. 循环神经网络
    • 9. 现代循环神经网络
    • 10. 注意力机制
    • 11. 优化算法
    • 12. 计算性能
    • 13. 计算机视觉
    • 14. 自然语言处理:预训练
    • 15. 自然语言处理:应用
    • 16. 附录:深度学习工具
  • 百面机器学习
    • 1. 特征工程
    • 2. 模型评估
    • 3. 经典算法
    • 4. 降维
    • 5. 非监督学习
    • 6. 概率图模型
    • 7. 优化算法
    • 8. 采样
    • 9. 前向神经网络
    • 10. 循环神经网络
    • 11. 强化学习
    • 12. 集成学习
    • 13. 生成式对抗网络
    • 14. 人工智能的热门应用
  • 百面深度学习
    • 1. 卷积神经网络 CNN
    • 2. 循环神经网络 RNN
    • 3. 图神经网络 GNN
    • 4. 生成模型
    • 5. 生成式对抗网络 GAN
    • 6. 强化学习 RL
    • 7. 元学习
    • 8. 自动化机器学习 AutoML
    • 9. 计算机视觉 CV
    • 10. 自然语言处理 NLP
    • 11. 推荐系统
    • 12. 计算广告
    • 13. 视频处理
    • 14. 计算机听觉
    • 15. 自动驾驶
  • 统计学习方法
  • 推荐系统实践
    • 1. 推荐系统
    • 2. 特征工程
    • 3. Embedding
    • 4. 精排
    • 5. 召回
    • 6. 粗排/重排
    • 7. 多任务/多场景
    • 8. 冷启动
    • 9. 评估调试
    • 10. 自我修养
  • 深度学习推荐系统
    • 1. 推荐系统
    • 2. 进化之路
    • 3. 深度学习的应用
    • 4. Embedding
    • 5. 多角度审视
    • 6. 工程实现
    • 7. 评估方法
    • 8. 前沿实践
    • 9. 知识框架
  • 强化学习的数学原理
    • 1. 基础概念
    • 2. 贝尔曼公式
    • 3. 贝尔曼最优公式
    • 4. 值迭代与策略迭代
    • 5. 蒙特卡洛方法
    • 6. 随机近似与随机梯度下降
    • 7. 时序差分方法
    • 8. 值函数近似
    • 9. 策略梯度方法
    • 10. Actor-Critic方法
Powered by GitBook
On this page
  • 1. 演化关系图
  • 2. AutoRec
  • 3. Deep Crossing
  • 4. NeuralCF
  • 5. PNN
  • 6. Wide&Deep
  • 7. FM 与 DNN 的结合
  • 7.1 FNN: 用 FM 隐向量完成 Embedding 层初始化
  • 7.2 DeepFM: 用 FM 代替 Wide 部分
  • 7.3 NFM: FM 的 NN 化尝试
  • 7.4 FM + DNN 优点局限
  • 8. Attention 的应用
  • 8.1 AFM: FM + Attention
  • 8.2 DIN: DNN + Attention
  • 8.3 Attention 对推荐系统的启发
  • 9. DIEN: 序列模型结合
  • 10. RL 的结合
  • 11. 总结
  1. 深度学习推荐系统

3. 深度学习的应用

Previous2. 进化之路Next4. Embedding

Last updated 2 years ago

  • 表达能力更强,挖掘隐藏模式

  • 模型结构灵活,与应用场景契合

1. 演化关系图

  • 演变方向

    • 改变 NN 的复杂程度: ↑

    • 改变特征交叉方式: NeuralCF, PNN

    • 组合模型: Wide&Deep,不同特点、优势互补

    • FM 的 DNN 版本: NFM, FNN, AFM

    • Attention 结合: AFM, DIN

    • 序列模型结合: DIEN

    • 强化学习结合: DRN

2. AutoRec

  • 基本原理: AutoEncoder,评分矩阵

  • 模型结构 (I-AutoRec)

    • 重建函数: h(r;θ)=f(W⋅g(Vr+μ)+b)h(\mathbf{r};\theta)=f(\mathbf{W}\cdot g(\mathbf{Vr}+\mu)+b)h(r;θ)=f(W⋅g(Vr+μ)+b)

    • 目标函数: min⁡θ∑i=1n∣∣r(i)−h(r(i);θ)∣∣O2+λ2⋅(∣∣W∣∣F2+∣∣V∣∣F2)\min_\theta \sum_{i=1}^n ||\mathbf{r}^{(i)}-h(\mathbf{r}^{(i)};\theta)||_{\mathcal{O}}^2+\frac\lambda2 \cdot(||\mathbf{W}||_F^2+||\mathbf{V}||_F^2)minθ​∑i=1n​∣∣r(i)−h(r(i);θ)∣∣O2​+2λ​⋅(∣∣W∣∣F2​+∣∣V∣∣F2​)

  • 推荐过程 (I-AutoRec)

    • 评分预测: R^ui=(h(r(i);θ^))u\hat R_{ui}=(h(\mathbf r^{(i)};\hat\theta))_uR^ui​=(h(r(i);θ^))u​

    • 遍历输入物品向量,得到用户 u 对所有物品的评分预测,排序得到推荐列表

    • U-AutoRec

      • 优势: 仅需输入一次用户向量,得到所有物品的评分向量

      • 劣势: 用户向量的稀疏性,影响模型效果

  • 特点局限

    • NN 角度: 单隐层 AutoEncoder,泛化和表达能力,但比较简单

    • 模型结构: 结构与 Word2vec 一致,但优化目标和训练方法不同

    • 深度学习: 拉开序幕

3. Deep Crossing

  • 应用场景: 微软 Bing 搜索广告

    • 类别型特征: 用户搜索词、广告关键词、广告标题、落地页、匹配类型

    • 数值型特征: 点击率、预估点击率

    • 需处理特征: 广告计划 (e.g. budget / id)、曝光样例、点击样例

  • 网络结构

    • 解决问题: 稀疏特征、特征自动交叉组合、输出层优化目标

    • Embedding: 稀疏类别特征 -> 稠密 Embedding 向量,FC 层

    • Stacking: 拼接,即 concatnaate 层

    • Multiple Residual Units: MLP,残差链接

    • Scoring: sigmoid / softmax

  • 革命意义: 没有特征工程、特征深度交叉

4. NeuralCF

  • 模型结构

    • 内积 -> 多层 NN+输出层

    • 广义矩阵分解 Generalized Matrix Factorization

  • 优势: 模型框架,不同的互操作层,灵活拼接

  • 局限: CF 思想,没有引入更多特征

5. PNN

  • 网络架构: Deep Crossing 中的 Stacking -> Product Layer

  • Product: 线性操作部分 + 乘积操作部分

    • 所有特征 Embedding 向量,平均池化后,外积互操作

    • 平均池化,应该谨慎对待,容易模糊信息,经常在同类上

  • 优点: 强调 Embedding 向量之间的交互方式是多样性的

  • 局限: 外积进行了大量简化,无差别特征交叉

6. Wide&Deep

  • 记忆 + 泛化

    • Wide 记忆能力: 直接学习并利用,历史数据中,共现频率

    • Deep 泛化能力: 传递特征相关性,发掘稀疏特征与标签相关性

  • 模型结构

  • Deep&Cross (DCN)

    • Cross: 增加特征之间的交互力度,类似 PNN 外积,参数比较克制

  • 影响力: DeepFM, NFM

    • 抓住业务问题本质,记忆 + 泛化

    • 结构并不复杂,容易工程实现,加速推广应用

7. FM 与 DNN 的结合

7.1 FNN: 用 FM 隐向量完成 Embedding 层初始化

7.2 DeepFM: 用 FM 代替 Wide 部分

7.3 NFM: FM 的 NN 化尝试

7.4 FM + DNN 优点局限

8. Attention 的应用

8.1 AFM: FM + Attention

8.2 DIN: DNN + Attention

8.3 Attention 对推荐系统的启发

9. DIEN: 序列模型结合

10. RL 的结合

11. 总结

内积 IPNN: ginner(fi,fj)=<fi,fj>g_{inner}(f_i,f_j)=<f_i,f_j>ginner​(fi​,fj​)=<fi​,fj​>

外积 OPNN: gouter(fi,fj)=fifjTg_{outer}(f_i,f_j)=f_if_j^Tgouter​(fi​,fj​)=fi​fjT​ 生成 M×MM\times MM×M 方形矩阵

叠加外积互操作: p=∑i=1N∑j=1Ngouter(fi,fj)=∑i=1N∑j=1NfifjT=fΣfΣT\mathbf p=\sum_{i=1}^N \sum_{j=1}^N g_{outer}(f_i,f_j)=\sum_{i=1}^N \sum_{j=1}^N f_if_j^T=f_\Sigma f_\Sigma^Tp=∑i=1N​∑j=1N​gouter​(fi​,fj​)=∑i=1N​∑j=1N​fi​fjT​=fΣ​fΣT​

交叉积变换: CPTk(X)=∏i=1dxicki, cki∈{0,1}CPT_k(X)=\prod_{i=1}^d x_i^{c_{ki}},\ c_{ki}\in\{0,1\}CPTk​(X)=∏i=1d​xicki​​, cki​∈{0,1}