推荐系列(六):深层神经网络模型(2)

简介: 简单介绍Softmax训练的样本以及与fm的对比

Softmax训练

上一节解释了如何将softmax层合并到推荐系统的深度神经网络中。本节将详细介绍此系统的训练数据。

训练数据

softmax训练数据由查询特征X以及用户与之交互的项目向量(表示为概率分布 p)组成,在下图中用蓝色标记。模型的变量是不同层中的权重,在下图中用橙色标记。通常使用随机梯度下降或其变体方法来训练模型。

1

负抽样

由于损失函数比较两个概率向量 ${p, \hat p(x) \in \mathbb R^n}$(真值和模型的输出),如果语料库太大, 计算损失的梯度(对于单个查询 X)时,计算代价可能非常昂贵。

可以设置一个系统来仅计算正样本的梯度。但是,如果系统仅在正样本上训练,则模型可能遭受折叠问题,如下所述。

折叠
在图中,假设每种颜色代表不同类别的查询和项目。每个查询(表示为正方形)仅与相同颜色的项目(表示为圆形)交互。模型可以学习如何相对于彼此放置给定颜色的查询/项目嵌入(正确地捕获该颜色内的相似性),但是来自不同颜色的嵌入可能偶然地在嵌入空间的相同区域中结束,这种现象被称为折叠,这可能会导致虚假推荐:在查询时,模型可能错误地给出来自不同组项目的预测高分。

2

负样本示例是与给定查询标记为“无关”的项目。在训练期间显示模型负样本教导模型应该将不同组的嵌入间距变大,彼此推离。

可以使用部分负抽样加全部的正样本数据作为训练数据,而不是使用所有负样本和正样本来计算梯度(计算代价高)或仅使用正样本(使得模型易于折叠)。总结来说,可以使用以下数据来计算近似梯度:

  • 所有正样本;
  • 部分负样本;

对负样本进行采样有不同的策略:

  • 统一采样;
  • 具有更高分数的项目j提供更高的概率${\psi(x) . V_j}$。直觉上,这些是对梯度贡献最大的样本; 这些样本通常被称为难分样本(hard negatives)。

额外资源: 有关YouTube中使用的技术,体系结构和模型的更全面的说明,请参阅 适用于YouTube建议的深度神经网络。有关折叠的更多详细信息,请参见Xin等人,折叠:为什么好模型有时会产生虚假推荐。要了解有关负抽样的更多信息,请参阅 Bengio和Senecal,自适应重要性抽样以加速神经概率语言模型的训练。

矩阵分解(FM)VS SOFTMAX

DNN模型解决了矩阵分解的许多限制,但通常训练和预测的代价更高。下表总结了两种模型之间的一些重要差异。

矩阵分解 Softmax DNN
查询特征 不容易包括在内 可以包括在内
冷启动 不容易处理词典查询或项目。可以使用一些启发式方法(例如,对于新查询,类似查询的平均嵌入) 容易处理新查询
折页 通过调整WALS中未观察到的重量可以轻松减少折叠 容易折叠,需要使用负采样或重力等技术
训练可扩展性 可轻松扩展到非常大的语料库(可能是数亿项或更多),但仅限于输入矩阵稀疏 难以扩展到非常大的语料库,可以使用一些技术,例如散列,负采样等。
提供可扩展性 嵌入U,V是静态的,并且可以预先计算和存储一组候选 项目嵌入V是静态的并且可以存储,查询嵌入通常需要在查询时计算,使得模型的服务成本更高

综上所述:

  • 矩阵分解通常是大型语料库的更好选择。它更容易扩展,查询计算量更便宜,并且不易折叠。
  • DNN模型可以更好地捕获个性化偏好,但是难以训练并且查询成本更高。DNN模型比评分的矩阵分解更可取,因为DNN模型可以使用更多特征来更好地捕获相关性。此外,DNN模型通常会出现折叠。
目录
相关文章
|
7天前
|
机器学习/深度学习 编解码 自动驾驶
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
31 3
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
7天前
|
机器学习/深度学习 移动开发 测试技术
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
27 1
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
|
7天前
|
机器学习/深度学习 编解码 TensorFlow
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
23 0
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
|
7天前
|
机器学习/深度学习 计算机视觉 异构计算
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2023 FasterNet 高效快速的部分卷积块
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2023 FasterNet 高效快速的部分卷积块
16 0
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2023 FasterNet 高效快速的部分卷积块
|
7天前
|
机器学习/深度学习 计算机视觉 iOS开发
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构
31 0
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构
|
7天前
|
机器学习/深度学习 计算机视觉 网络架构
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
92 63
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
|
7天前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
89 62
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
|
7天前
|
机器学习/深度学习 自动驾驶 计算机视觉
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V1 基于 Ghost Module 和 Ghost Bottlenecks的轻量化网络结构
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V1 基于 Ghost Module 和 Ghost Bottlenecks的轻量化网络结构
86 61
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V1 基于 Ghost Module 和 Ghost Bottlenecks的轻量化网络结构
|
11天前
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 GhostNet V3 2024华为的重参数轻量化模型
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 GhostNet V3 2024华为的重参数轻量化模型
49 18
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 GhostNet V3 2024华为的重参数轻量化模型
|
7天前
|
机器学习/深度学习 算法 文件存储
RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
19 4
RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型

热门文章

最新文章