【烂笔头系列】推荐系统笔记09-深度学习推荐模型发展脉络

news/2025/2/9 12:54:30/文章来源:https://www.cnblogs.com/notlate-cn/p/18706001

1. 深度学习模型拟合能力更强

特征交叉方式中,点积等方式过于简单,在样本数据比较复杂的情况下,容易欠拟合。而深度学习可以大大提高模型的拟合能力,比如在 NeuralCF(神经网络协同过滤)模型中,点积层被替换为多层神经网络,理论上多层神经网络具备拟合任意函数的能力,所以我们通过增加神经网络层的方式就可以解决欠拟合的问题了。

NeuralCF模型结构图

2. 深度学习模型结构更加灵活

(1)深度学习模型结构不尽相同,多数是可以通过堆叠不同作用的网络层,最简单的是串联结构,有的像网状结构,有的像金字塔结构等等。

(2)典型案例是阿里巴巴的 DIN(深度兴趣网络,下图左)和 DIEN(深度兴趣进化网络,下图右),通过在模型结构中引入注意力机制模拟兴趣进化的序列模型,来更好地模拟用户行为。

DIN和DIEN模型结构图

其中,DIN 模型在神经网络中增加了一个“激活单元“结构,是为了模仿人类的注意力机制。其改进版 DIEN 模型不仅引入了注意力机制,还用AUGRU单元模拟了用户兴趣随时间的演化过程。

这些改进都是基于实际业务洞察分析的演进,所以需要正确、全面地掌握不同深度学习模型的特点以及发展关系非常重要。

3. 深度学习模型发展关系图

(1)核心结构:多层感知机(MultiLayer Perception,MLP)。

(2)基础结构:AutoRec,一种单隐层的神经网络模型,将自编码器(AutoEncoder)的思想与协同过滤结合。

(3)经典结构:Deep Crossing,在原始特征和MLP之间加入了Embedding层,把输入的稀疏特征先转换成稠密 Embedding 向量,再输入到MLP进行训练,这就解决了MLP不善于处理稀疏特征的问题。因此Embedding+MLP结构是最经典的深度学习推荐模型结构。

(4)广泛应用结构:Wide&Deep,模型分为两部分:Wide部分是浅层的神经网络结构,让模型具备很好的记忆性;Deep部分是深层MLP,让模型具备良好的泛化性,最终把两者结合起来。凭借着易实现、易改造的特点,获得了业界广泛应用。同时还衍生出了诸多变种,比如通过改造 Wide 部分提出的Deep&Cross和DeepFM,通过改造Deep部分提出的AFM、NFM等等。

(5)与其他机器学习子领域交叉

① 深度学习和注意力机制结合,比如阿里的DIN,浙大和新加坡国立提出的AFM等;

② 把序列模型引入Embedding+MLP的经典结构,比如阿里的DIEN等;

③ 深度学习和强化学习结合,比如微软的DRN(深度强化学习网络),以及包括美团-猜你喜欢、阿里-强化学习在阿里的技术演进与业务创新在内的非常有价值的业界应用。

4. 演进规律

(1)改变神经网络的复杂程度

从最简单的单层神经网络模型 AutoRec,到经典的深度神经网络结构 Deep Crossing,它们主要的进化方式在于增加了深度神经网络的层数和结构复杂度

(2)改变特征交叉方式

这种演进方式的要点在于大大提高了深度学习网络中特征交叉的能力。比如改变了用户向量和物品向量互操作方式的NeuralCF,定义了多种特征向量交叉操作的 PNN 等等。

(3)把多种模型组合应用

组合模型主要指的就是以 Wide&Deep 模型为代表的一系列把不同结构组合在一起的改进思路。它通过组合两种甚至多种不同特点、优势互补的深度学习网络,来提升模型的综合能力。

(4)让深度推荐模型和其他领域进行交叉

我们从 DIN、DIEN、DRN 等模型中可以看出,深度推荐模型无时无刻不在从其他研究领域汲取新的知识。从今年的推荐系统顶会 Recsys2020 中可以看到,NLP 领域的著名模型 Bert 又与推荐模型结合起来,并且产生了非常好的效果。一般来说,自然语言处理、图像处理、强化学习这些领域都是推荐系统经常汲取新知识的地方。

下一篇详细记录深度学习模型。

参考资料

《深度学习推荐系统实战》 -- 极客时间,王喆

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/881204.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【烂笔头系列】推荐系统笔记12-模型评估

1. 离线评估 (1)介绍 离线评估是最常用、最基本的。顾名思义就是:我们将模型部署于线上环境之前,在离线环境下进行的评估。由于不用部署到生产环境,“离线评估”没有线上部署的工程风险,也不会浪费宝贵的线上流量资源,而且具有测试时间短,可多组并行,以及能够利用丰富…

【烂笔头系列】推荐系统笔记05-Embedding技术

1. Embedding是什么 Embedding 就是用一个数值向量“表示”一个对象(Object)的方法解读1:左边例子,从 king 到 queen 的向量和从 man 到 woman 的向量,无论从方向还是尺度来说它们都非常接近。 解读2:右边例子也很典型,从 walking 到 walked 和从 swimming 到 swam 的向…

【烂笔头系列】推荐系统笔记04-推荐系统有哪些可以利用的特征

1. 特征与工程 (1)特征就是对具体行为的抽象,但是抽象过程会造成信息的损失 ① 因为具体的推荐行为和场景中包含大量原始的场景、图片和状态信息,保存所有信息的存储空间过大,我们根本无法实现。 ② 因为具体的推荐场景中包含大量冗余的、无用的信息,把它们都考虑进来甚至…

1.AI 大模型的基本概念

1.目前AI 行业分类 2023年, AI 分 传统AI(机器学习、深度学习、强化学习) AI算法工程师 AI大模型(AI2.0)神经网络,自注意机制,Transform机制 AI应用开发工程师 2.什么是AI 大模型(LLM) 参数大,训练的数据集大 3.AI大模型最终价值 TOB 和 TOC 的应用 4.A…

【烂笔头系列】小红书推荐系统学习笔记06-冷启动

物品冷启动评价指标 物品冷启动目标精准推荐:新物品的推荐效果往往比较差 激励发布:新物品得到较多流量后,更容易激励作者。 挖掘高潜:从新物品中挖掘高质量物品。评价指标作者指标:发布渗透量、人均发布量等 用户指标:新笔记的交互率、大盘指标(比如日活、月活、时长)…

【烂笔头系列】小红书推荐系统学习笔记05-重排

重排是精排的后处理操作。 物品多样性 相似度度量基于物品属性标签基于物品向量表征 (1)双塔模型的物品塔,但是因为头部效应问题导致学不好物品向量表征 (2)基于图文内容学习CLIP - 基于图文内容的物品向量表征 原理 对于图片-文本二元组数据进行对比学习,预测图文是否匹…

小红书推荐系统学习笔记02-排序

精排 - 多目标模型 简单的多目标模型 模型结构损失函数和训练问题 数据集通常是类别及不平衡的,比如总共1000次曝光,其中只有100次点击,10次收藏,收藏次数对于曝光来说相差极大。 解决方案:通常使用负样本降采样的方法。 预估校准:负样本降采样之后,就改变了各个目标的实…

【烂笔头系列】小红书推荐系统学习笔记04-行为序列

简单平均 lastN特征 把用户最近n次交互的物品Embedding向量取平均,作为一个用户特征使用。 适用于召回双塔模型、粗排三塔模型、精排模型。 DIN 原理 本质:用加权平均代替平均,也就是注意力机制。注意力机制不适用于召回双塔和粗排三塔。因为需要用到候选物品,而用户塔看不…

dp 大典

作为 OI 里面分支最多的模块之一,dp 在 OI 中有着重要的作用,现在,让我们一起走进 dp 的世界: 注:我在每道题前面都标注了个人难度,范围大概是 \([1,50]\) 吧( AT_dp 系列 众所周知,Atcoder 中有一套全是 dp 的题目,难度大致逐渐增加,我们可以从中学到很多 dp 的知识…

htb Precious walkthrough

找到exp https://github.com/UNICORDev/exploit-CVE-2022-25765/blob/main/exploit-CVE-2022-25765.py 这个exp是有问题的 直接执行exp是没反应把他的payload cp出来手动粘贴到 框框里 然后就反弹shell成功flag在另一个用户里面 进过一番查找 在家目录的.bundle里的文件发现了…

Element简单组件开发

Element简单组件开发 1.项目创建 需要的环境:webStorm,NodeJS 创建一个工程化的Vue项目,在创建工程的文件夹中打开CMD命令窗口,执行命令:npm create vue@3.3.4 (3.3.4是我们安装Vue的版本)详细步骤说明: - Project name:------------------》项目名称,默认值:vue-proj…

⑨也能看懂的 nginx 与 C++ 简易版集成

原理概述 nginx 运行在端口A,转发数据给端口B,C++ 监听端口B的数据。 本文例子 使用 C++ 和 nginx 获取客户端的IP地址 代码 nginx 配置 #user nobody; worker_processes 1;events {worker_connections 1024; }http {include mime.types;default_type application/…