《深度学习推荐系统》笔记(2)

目录

3 浪潮之巅——深度学习在推荐系统中的应用

3.1 深度学习推荐模型的演化关系图

3.2 AutoRec——单隐层神经网络推荐模型

3.3 Deep Crossing模型——经典的深度学习架构

3.4 NeuralCF模型——CF与深度学习的结合

3.5 PNN模型——加强特征交叉能力

3.6 Wide&Deep模型——记忆能力和泛化能力的综合

Wide&Deep模型的进化——Deep&Cross模型

3.7 FM与深度学习模型的结合

FNN——用FM的隐向量完成Embedding层初始化

DeepFM——用FM代替Wide部分

NFM——FM的神经网络化尝试

3.8 注意力机制在推荐模型中的应用

AFM——引入注意力机制的FM

DIN——引入注意力机制的深度学习网络

3.9 DIEN——序列模型与推荐系统的结合

3.10 DRN——强化学习与推荐系统的结合


3 浪潮之巅——深度学习在推荐系统中的应用

3.1 深度学习推荐模型的演化关系图

3.2 AutoRec——单隐层神经网络推荐模型

        AutoRec模型是一个标准的自编码器,它的基本原理是利用协同过滤中的共现矩阵,完成物品向量或者用户向量的自编码。再利用自编码的结果得到用户对物品的预估评分,进而进行推荐排序。

        什么是自编码器?假设数据向量为\boldsymbol{r},自编码器的作用是将向量\boldsymbol{r}作为输入,通过自编码器后,得到的输出向量尽量接近其本身。完成训练后,相当于在重建函数h(\boldsymbol{r};\theta)中存储了所有数据向量的“精华”,完成了数据压缩和降维的工作。

AutoRec模型的结构:

        网络的输入层是物品的评分向量\boldsymbol{r},输出层是一个多分类层。设\boldsymbol{V}\boldsymbol{W}表示输入层到隐层、隐层到输出层的参数矩阵,则重建函数的具体形式如下所示。

h(\boldsymbol{r};\theta)=f(\boldsymbol{W} \cdot g(\boldsymbol{V}\boldsymbol{r}+\mu)+b)

        其中,f(\cdot)g(\cdot)为激活函数。

        只考虑可观测评分,并加入正则化项后,AutoRec目标函数的具体形式如下所示。

\underset{\theta}{\min} \; \sum_{i=1}^n \Vert \boldsymbol{r}^{(i)}-h(\boldsymbol{r}^{(i)};\theta) \Vert_O^2 + \frac{\lambda}{2} \cdot (\Vert\boldsymbol{W}\Vert_F^2+\Vert\boldsymbol{V}\Vert_F^2)

基于AutoRec模型的推荐过程:

        当输入物品i的评分向量为\boldsymbol{r}^{(i)}时,模型的输出向量h(\boldsymbol{r}^{(i)};\theta)就是所有用户对物品i的评分预测。那么,其中的第u维就是用户u对物品i的预测\hat{R}_{ui},如下所示。

\hat{R}_{ui}=(h(\boldsymbol{r}^{(i)};\hat{\theta}))_u

        通过遍历输入物品向量就可以得到用户u对所有物品的评分预测,进而根据评分预测排序得到推荐列表。

        以上介绍的AutoRec输入向量是物品的评分向量,因此可称为I-AutoRec(Item based AutoRec),如果换做把用户的评分向量作为输入向量,则得到U-AutoRec(User based AutoRec)。

3.3 Deep Crossing模型——经典的深度学习架构

        相比AutoRec模型过于简单的网络结构带来的一些表达能力不强的问题,Deep Crossing模型完整地解决了从特征工程、稀疏向量稠密化、多层神经网络进行优化目标拟合等一系列深度学习在推荐系统中的应用问题。

Deep Crossing模型的网络结构:

        (1) Embedding层:将稀疏的类别型特征转换成稠密的Embedding向量(数值型特征不需要经过Embedding层)。

        (2) Stacking层:把不同的Embedding特征和数值型特征拼接在一起,形成新的包含全部特征的特征向量,该层通常也被称为连接(concatenate)层。

        (3) Multiple Residual Units层:该层的主要结构是多层感知机,Deep Crossing模型采用了多层残差网络(Multi-Layer Residual Network)作为MLP的具体实现。

        (4) Scoring层:输出层,是为了拟合优化目标而存在的。对于二分类问题,使用逻辑回归模型,而对于多分类问题,采用softmax模型。

3.4 NeuralCF模型——CF与深度学习的结合

从深度学习的视角重新审视矩阵分解模型:

        矩阵分解层的用户隐向量和物品隐向量完全可以看作一种Embedding方法,最终的“Scoring层”就是将用户隐向量和物品隐向量进行内积操作后得到“相似度”。实际训练和评估模型的过程中,往往会发现模型处于欠拟合状态,这是因为模型结构相对简单,特别是“输出层”(也被称为“Scoring层”),无法对优化目标进行有效的拟合。

NeuralCF模型的结构:

        NeuralCF用“多层神经网络+输出层”的结构替代了矩阵分解模型中简单的内积操作。

        事实上,用户和物品向量的互操作层可以被任意的互操作形式所代替,这就是所谓的“广义矩阵分解”模型(Generalized Matrix Factorization)。 可以通过“元素积”(element-wise product)的方式进行互操作,再通过逻辑回归等输出层拟合最终预测目标。再进一步,可以把通过不同互操作网络得到的特征向量拼接起来,交由输出层进行目标拟合。如下所示,NeuralCF混合模型整合了原始NeuralCF模型和以元素积为互操作的广义矩阵分解模型。

NeuralCF模型的优势和局限性:

        (1) 利用神经网络理论上能够拟合任意函数的能力,灵活地组合不同的特征,按需增加或减少模型的复杂度。

        (2) 由于是基于协同过滤的思想进行构造的,所以NeuralCF模型并没有引入更多其他类型的特征。此外,对于模型中互操作的种类并没有做进一步的探究和说明。

3.5 PNN模型——加强特征交叉能力

PNN模型的网络架构:

        PNN模型与Deep Crossing模型唯一的区别在于,PNN模型用乘积层(Product Layer)代替了Deep Crossing模型中的Stacking层。也就是说,不同特征的Embedding向量不再是简单的拼接,而是用Product操作进行两两交互,更有针对性地获取特征之间的交叉信息。

        另外,相比NeuralCF,PNN模型的输入不仅包括用户和物品信息,还可以有更多不同形式、不同来源的特征,通过Embedding层的编码生成同样长度的稠密特征Embedding向量。

Product层的多种特征交叉方式:

        PNN模型的乘积层由线性操作部分(图中乘积层的z部分,对各特征向量进行线性拼接)和乘积操作部分(乘积层的p部分)组成。其中,乘积特征交叉部分又分为内积操作和外积操作。

        内积操作就是经典的向量内积运算,假设输入特征向量分别为\boldsymbol{f}_i,\boldsymbol{f}_j,特征的内积互操作定义如下所示。

g_{\text{inner}}(\boldsymbol{f}_i,\boldsymbol{f}_j)=<\boldsymbol{f}_i,\boldsymbol{f}_j>

        外积操作是对输入特征向量的各维度进行两两交叉,生成特征交叉矩阵,外积互操作的定义如下所示。

g_{\text{outer}}(\boldsymbol{f}_i,\boldsymbol{f}_j)=\boldsymbol{f}_i\boldsymbol{f}_j^\top

        外积互操作产生的是方形矩阵,问题的复杂度大幅提升。PNN模型的论文中介绍了一种降维的方法,就是把所有两两特征Embedding向量外积互操作的结果叠加(Superposition),形成一个叠加外积互操作矩阵\boldsymbol{p},具体定义如下所示。

\boldsymbol{p}=\sum_{i=1}^N\sum_{j=1}^N g_{\text{outer}}(\boldsymbol{f}_i,\boldsymbol{f}_j)=\sum_{i=1}^N\sum_{j=1}^N \boldsymbol{f}_i\boldsymbol{f}_j^\top=\boldsymbol{f}_\Sigma\boldsymbol{f}_\Sigma^\top, \; \boldsymbol{f}_\Sigma=\sum_{i=1}^N\boldsymbol{f}_i

        叠加矩阵的最终形式类似于让所有特征Embedding向量通过一个平均池化层(Average Pooling)后,再进行外积互操作。在实际应用中,应对平均池化的操作谨慎对待。

PNN模型的优势和局限性:

        (1) 强调了不同特征之间的交互,从而让模型更容易捕获特征的交叉信息。

        (2) 在外积操作的实际应用中,为了优化训练效率进行了大量的简化操作。此外,对所有特征进行无差别的交叉,在一定程度上忽略了原始特征向量中包含的有价值信息。

3.6 Wide&Deep模型——记忆能力和泛化能力的综合

        Wide&Deep模型是由单层的Wide部分和多层的Deep部分组成的混合模型。其中,Wide部分的主要作用是让模型具有较强的“记忆能力”(memorization),即模型直接学习并利用历史数据中物品或者特征的“共现频率”的能力;Deep部分的主要作用是让模型具有“泛化能力”(generalization),即模型传递特征的相关性,以及发掘稀疏甚至从未出现过的稀有特征与最终标签相关性的能力。

Wide&Deep模型的结构:

        Wide&Deep模型把单输入层的Wide部分与由Embedding层和多隐层组成的Deep部分连接起来,一起输入最终的输出层。单层的Wide部分善于处理大量稀疏的id类特征;Deep部分利用神经网络表达能力强的特点,进行深层的特征交叉,挖掘藏在特征背后的数据模式。最终,利用逻辑回归模型,输出层将Wide部分和Deep部分组合起来,形成统一的模型。

        Deep部分的输入是全量的特征向量,包括用户年龄、已安装应用数量等特征。类别型特征需要经过Embedding层输入连接层(Concatenated Embedding),拼接成1200维的Embedding向量,再依次经过3层ReLU全连接层,最终输入LogLoss输出层。

        Wide部分的输入仅仅是已安装应用和曝光应用两类特征,其中已安装应用代表用户的历史行为,而曝光应用代表当前的待推荐应用。选择这两类特征的原因是充分发挥Wide部分“记忆能力”强的优势。简单模型善于记忆用户行为特征中的信息,并根据此类信息直接影响推荐结果。

        Wide部分组合“已安装应用”和“曝光应用”两个特征的函数被称为交叉积变换(Cross Product Transformation)函数,其形式化定义如下所示。

\phi_k(X)=\prod_{i=1}^dx_i^{c_{ki}}, \; c_{ki} \in \{0,1\}

        其中c_{ki}是一个布尔变量,当第i个特征属于第k个组合特征时值为1,否则为0;x_i是第i个特征的值。

Wide&Deep模型能够取得成功的关键:

        (1) 抓住了业务问题的本质特点,能够融合传统模型记忆能力和深度学习模型泛化能力的优势。

        (2) 模型的结构并不复杂,比较容易在工程上实现、训练和上线,这加速了其在业界的推广应用。

Wide&Deep模型的进化——Deep&Cross模型

        Wide&Deep模型的提出不仅综合了“记忆能力”和“泛化能力”,而且开启了不同网络结构融合的新思路。在Wide&Deep模型之后,有越来越多的工作集中于分别改进Wide&Deep模型的Wide部分或是Deep部分。较典型的工作是Deep&Cross模型(简称DCN)。

        Deep&Cross模型的结构图如下所示,其主要思路是使用Cross网络替代原来的Wide部分。

        设计Cross网络的目的是增加特征之间的交互力度,使用多层交叉层(Cross layer)对输入向量进行特征交叉。假设第l层交叉层的输出向量为\boldsymbol{x}_l,那么第l+1层的输出向量如下所示。

\boldsymbol{x}_{l+1}=\boldsymbol{x}_0\boldsymbol{x}_l^\top\boldsymbol{W}_l+\boldsymbol{b}_l+\boldsymbol{x}_l

        交叉层操作的二阶部分非常类似于PNN模型中的外积操作,在此基础上增加了外积操作的权重向量\boldsymbol{w}_l,以及原输入向量\boldsymbol{x}_l和偏置向量\boldsymbol{b}_l。由多层交叉层组成的Cross网络在Wide&Deep模型中Wide部分的基础上进行特征的自动化交叉,避免了更多基于业务理解的人工特征组合。

3.7 FM与深度学习模型的结合

FNN——用FM的隐向量完成Embedding层初始化

        FNN模型用FM模型训练好的各特征隐向量初始化Embedding层的参数,来解决Embedding层收敛速度的难题。注意,FM隐向量初始化的是Embedding神经元与输入神经元之间的连接权重。FM的数学形式如下所示。

y_{\text{FM}}(x):=\text{sigmoid}(w_0+\sum_{i=1}^Nw_ix_i+\sum_{i=1}^N\sum_{j=i+1}^N<\boldsymbol{v}_i,\boldsymbol{v}_j>x_ix_j)

        其中的参数主要包括常数偏置w_0,一阶参数部分w_i和二阶隐向量部分\boldsymbol{v}_i

        在FNN模型中,特征被分成了不同特征域,因此每个特征域具有对应的Embedding层,并且每个特征域Embedding的维度都应与FM隐向量维度保持一致。

DeepFM——用FM代替Wide部分

        DeepFM对Wide&Deep模型的改进之处在于,它用FM替换了原来的Wide部分,加强了浅层网络部分特征组合的能力。

        如图所示,左边的FM部分与右边的深度神经网络部分共享相同的Embedding层。左侧的FM部分对不同的特征域的Embedding进行了两两交叉,也就是将Embedding向量当作原FM中的特征隐向量。最后将FM的输出与Deep部分的输出一同输入最后的输出层,参与最后的目标拟合。

NFM——FM的神经网络化尝试

        FM归根结底是一个二阶特征交叉的模型,受组合爆炸问题的困扰,几乎不可能扩展到三阶以上。为了改进FM模型,NFM模型用一个表达能力更强的函数替代原FM中二阶隐向量内积的部分,如下所示。

\hat{y}_{\text{NFM}}(x)=w_o+\sum_{i=1}^Nw_ix_i+f(x)

        由于深度学习网络理论上有拟合任何复杂函数的能力,f(x)的构造工作可以交由某个深度学习网络来完成。用于替代FM二阶部分的神经网络结构如下所示。

        NFM网络架构的特点就是在Embedding层和多层神经网络之间加入特征交叉池化层(Bi-Interaction Pooling Layer)。假设V_x是所有特征域的Embedding集合,那么特征交叉池化层的具体操作如下所示。

f_{\text{BI}}(V_x)=\sum_{i=1}^n\sum_{j=i+1}^n(x_iv_i)\odot(x_jv_j)

        其中,\odot代表两个向量的元素积操作。得到池化层的输出向量后,再把该向量输入上层的多层全连接神经网络,进行进一步的交叉。

        NFM架构图省略了其一阶部分。如果把NFM的一阶部分视为线性模型,那么NFM的架构可以视为对Wide&Deep模型的Deep部分加入特征交叉池化层,加强了特征交叉。

3.8 注意力机制在推荐模型中的应用

AFM——引入注意力机制的FM

        AFM模型可以看作NFM模型的延续。在NFM模型中,不同域的特征Embedding向量经过特征交叉池化层的交叉,将各交叉特征向量进行“加和”,输入最后由多层神经网络组成的输出层。问题的关键在于加和池化(Sum Pooling)操作,它相当于“一视同仁”地对待所有交叉特征。

        AFM模型引入注意力机制是通过在特征交叉层和最终的输出层之间加入注意力网络(Attention Net)实现的。注意力网络的作用是为每一个交叉特征提供权重,也就是注意力得分。AFM的模型结构图如下所示。

        AFM的特征交叉过程同样采用了元素积操作,如下所示。

f_{\text{PI}}(\epsilon)=\{(\boldsymbol{v}_i \odot \boldsymbol{v}_j)x_ix_j\}_{(i,j) \in R_x}

        AFM加入注意力得分后的池化过程如下所示。

f_{\text{Att}}(f_{\text{PI}}(\epsilon))=\sum_{(i,j) \in R_x} a_{ij}(\boldsymbol{v}_i \odot \boldsymbol{v}_j)x_ix_j

        对注意力得分a_{ij}来说,最简单的方法就是用一个权重参数来表示,但为了防止交叉特征数据稀疏问题带来的权重参数难以收敛,AFM模型使用了一个在两两特征交叉层(Pair-wise Interaction Layer)和池化层之间的注意力网络来生成注意力得分。该注意力网络的结构是一个简单的单全连接层加softmax输出层的结构,其数学形式如下所示。

a_{ij}'=\boldsymbol{h}^\top\text{ReLU}(\boldsymbol{W}(\boldsymbol{v}_i \odot \boldsymbol{v}_j)x_ix_j+\boldsymbol{b})

a_{ij}=\frac{\exp(a_{ij}')}{\sum_{(i,j) \in R_x} \exp(a_{ij}')}

DIN——引入注意力机制的深度学习网络

        DIN模型的应用场景是电商广告推荐,因此模型的输入特征分为用户特征组和广告特征组两大部分。在原来的基础模型中(Base模型),用户特征组中的商品序列和商铺序列经过简单的平均池化操作后就进入上层神经网络进行下一步训练,序列中的商品既没有区分重要程度,也和广告特征中的商品id没有关系。

        利用候选商品和历史行为商品之间的相关性计算出一个权重,这个权重就代表了“注意力”的强弱,加入了注意力权重的深度学习网络就是DIN模型。其中注意力部分的形式化表达如下所示。

\boldsymbol{V}_u=f(\boldsymbol{V}_a)=\sum_{i=1}^Nw_i \cdot \boldsymbol{V}_i=\sum_{i=1}^N g(\boldsymbol{V}_i,\boldsymbol{V}_a) \cdot \boldsymbol{V}_i

        其中,\boldsymbol{V}_u是用户的Embedding向量,\boldsymbol{V}_a是候选广告商品的Embedding向量,\boldsymbol{V}_i是用户u的第i次行为(即浏览的商品或店铺)的Embedding向量。

        使用一个注意力激活单元(activation unit)来生成注意力得分g(\boldsymbol{V}_i,\boldsymbol{V}_a)。激活单元具体结构如图右上角所示,输入层是两个Embedding向量,经过元素减(element-wise minus)操作后,与原Embedding向量一同连接后形成全连接层的输入,最后通过单神经元输出层生成注意力得分。

        注意商铺id只跟用户历史行为中的商铺id序列发生作用,商品id只跟用户的商品id序列发生作用,因为注意力的轻重更应该由同类信息的相关性决定。

3.9 DIEN——序列模型与推荐系统的结合

        DIEN是DIN模型的演化版本,其创新在于用序列模型模拟了用户兴趣的进化过程。序列信息的重要性在于:(1) 它加强了最近行为对下次行为预测的影响。(2) 序列模型能够学习到购买趋势的信息。

DIEN模型的架构:

        模型仍是输入层+Embedding层+连接层+多层全连接神经网络+输出层的整体架构。图中“兴趣进化网络”被认为是一种用户兴趣的Embedding方法,它最终的输出是h'(T)这个用户兴趣向量。

        兴趣进化网络分为三层,从下至上依次是:

        (1) 行为序列层(Behavior Layer):其主要作用是把原始的id类行为序列转换成Embedding行为序列。

        (2) 兴趣抽取层(Interest Extractor Layer):其主要作用是通过模拟用户兴趣迁移过程,抽取用户兴趣。

        (3) 兴趣进化层(Interest Evolving Layer):其主要作用是通过在兴趣抽取层基础上加入注意力机制,模拟与当前目标广告相关的兴趣进化过程。

兴趣抽取层的结构:

        兴趣抽取层的基本结构是GRU(Gated Recurrent Unit)网络。每个GRU单元的具体形式如下所示。

\boldsymbol{u}_t=\sigma(\boldsymbol{W}^u\boldsymbol{i}_t+\boldsymbol{U}^u\boldsymbol{h}_{t-1}+\boldsymbol{b}^u)

\boldsymbol{r}_t=\sigma(\boldsymbol{W}^r\boldsymbol{i}_t+\boldsymbol{U}^r\boldsymbol{h}_{t-1}+\boldsymbol{b}^r)

\tilde{\boldsymbol{h}}_t=\tanh(\boldsymbol{W}^h\boldsymbol{i}_t+\boldsymbol{r}_t \circ \boldsymbol{U}^h\boldsymbol{h}_{t-1}+\boldsymbol{b}^h)

\boldsymbol{h}_t=(1-\boldsymbol{u}_t) \circ \boldsymbol{h}_{t-1}+\boldsymbol{u}_t \circ \tilde{\boldsymbol{h}}_t

        其中,\sigma是Sigmoid激活函数,\circ是元素积操作,\boldsymbol{i}_t是输入状态向量,也就是行为序列层的各行为Embedding向量\boldsymbol{b}(t)\boldsymbol{h}_t是GRU网络中第t个隐状态向量,其余为需要学习的参数矩阵。

        经过由GRU组成的兴趣抽取层后,用户的行为向量\boldsymbol{b}(t)被进一步抽象化,形成了兴趣状态向量\boldsymbol{h}(t)

兴趣进化层的结构:

        兴趣进化层注意力得分的生成过程与DIN完全一致,都是当前状态向量与目标广告向量进行互作用的结果。兴趣进化层完成注意力机制的引入是通过AUGRU(GRU with Attentional Update gate)结构,AUGRU在原GRU的更新门(update gate)的结构上加入了注意力得分,具体形式如下所示。

\tilde{\boldsymbol{u}}_t'=\boldsymbol{a}_t \cdot \boldsymbol{u}_t'

\boldsymbol{h}_t'=(1-\tilde{\boldsymbol{u}}_t') \circ \boldsymbol{h}_{t-1}'+\tilde{\boldsymbol{u}}_t' \circ \tilde{\boldsymbol{h}}_t'

3.10 DRN——强化学习与推荐系统的结合

        DRN将强化学习的思路应用于推荐系统,进行推荐模型的线上实时学习和更新,使得模型对数据实时性的利用能力大大加强;但线上部分较复杂,工程实现难度较大。

深度强化学习推荐系统框架:

深度强化学习推荐模型:

        智能体部分是强化学习框架的核心,对推荐系统这一智能体来说,推荐模型是推荐系统的“大脑”。在DRN框架中,扮演“大脑”角色的是Deep Q-Network(深度Q网络,简称DQN),其中Q是Quality的简称,指通过对行动进行质量评估,得到行动的效用得分,以此进行行动决策。

        DQN的网络结构如下所示,在特征工程中套用强化学习状态向量和行动向量的概念,把用户特征(user features)和环境特征(context features)归为状态向量,因为它们与具体的行动无关;把用户-新闻交叉特征和新闻特征归为行动特征,因为其与推荐新闻这一行动相关。

        用户特征和环境特征经过左侧多层神经网络的拟合生成价值(value)得分V(\boldsymbol{s}),利用状态向量和行动向量生成优势(advantage)得分A(\boldsymbol{s},\boldsymbol{a}),最后把两部分得分综合起来,得到最终的质量得分Q(\boldsymbol{s},\boldsymbol{a})

DRN的学习过程:

        按照从左至右的时间顺序,依次描绘DRN学习过程中的重要步骤。

        (1) 在离线部分,根据历史数据训练好DQN模型,作为智能体的初始化模型。

        (2) 在t_1 \rightarrow t_2阶段,利用初始化模型进行一段时间的推送(push)服务,积累反馈(feedback)数据。

        (3) 在t_2时间点,利用t_1 \rightarrow t_2阶段积累的用户点击数据,使用竞争梯度下降算法(Dueling Bandit Gradient Descent Algorithm)进行模型微更新(mirror update)。

        (4) 在t_4时间点,利用t_1 \rightarrow t_4阶段的用户点击数据及用户活跃度数据进行模型的主更新(major update)。

        (5) 重复第2~4步。

DRN的在线学习方法——竞争梯度下降算法:

        其主要步骤如下:

        (1) 对于已经训练好的当前网络Q,对其模型参数\boldsymbol{W}添加一个较小的随机扰动\Delta \boldsymbol{W},得到新的模型参数\tilde{\boldsymbol{W}},称其对应的网络为探索网络\tilde{Q}。产生随机扰动的公式如下所示。

\Delta \boldsymbol{W}=\alpha \cdot \text{rand}(-1,1) \cdot \boldsymbol{W}

        其中,\alpha是探索因子,决定探索力度的大小。

        (2) 对于当前网络Q和探索网络\tilde{Q},分别生成推荐列表L\tilde{L},用Interleaving将两个推荐列表组合成一个推荐列表后推送给用户。

        (3) 实时收集用户反馈。如果探索网络\tilde{Q}生成内容的效果好于当前网络Q,则用探索网络代替当前网络,进入下一轮迭代;反之则保留当前网络。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度学习推荐系统领域有着广泛的应用。下面是一些关于深度学习推荐系统笔记: 1. 数据表示:深度学习推荐系统通常使用向量表示用户和物品,将它们映射到低维空间中。常见的方法包括使用Embedding层将用户和物品ID转换为密集向量表示。 2. 神经网络模型:深度学习推荐系统使用神经网络模型来学习用户和物品之间的复杂互关系。常见的模型包括多层感知机(Multi-Layer Perceptron,MLP)、卷积神经网络(Convolutional Neural Networks,CNN)和循环神经网络(Recurrent Neural Networks,RNN)等。 3. 个性化排序:深度学习推荐系统可以通过学习用户行为数据,预测用户对物品的喜好程度,并根据预测结果对物品进行个性化排序。常见的模型包括基于DNN的排序模型和序列模型,如Wide & Deep模型、DeepFM模型和Transformer模型等。 4. 强化学习:深度学习推荐系统可以与强化学习相结合,通过与环境互来优化推荐策略。常见的方法包括使用深度Q网络(Deep Q-Network,DQN)和策略梯度方法等。 5. 多任务学习:深度学习推荐系统可以同时处理多个任务,如点击率预测、商品推荐和用户画像等。多任务学习可以通过共享模型参数来提高模型的泛化能力和效果。 6. 可解释性:深度学习模型在推荐系统中通常具有较强的表达能力,但其可解释性较差。为了提高可解释性,可以使用注意力机制、解释性模型和推荐解释等方法。 这些是深度学习推荐系统的一些关键概念和技术。当然,实际应用中需要根据具体问题和数据进行选择和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值