9

深度学习推荐方法

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MjM5MDE2NDU2MA%3D%3D&%3Bmid=2654481536&%3Bidx=1&%3Bsn=c64501a8c5a85b79ce47c9322f481a15
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

个性化推荐之深度学习推荐方法

uQFRFzU.gif!mobile

深度学习推荐方法

1.YouTube的深度神经网络推荐系统

YouTube是世界上最大的视频上传、分享和发现网站,YouTube推荐系统为超过10亿用户从不断增长的视频库中推荐个性化的内容,系统由两个神经网络组成,分别是候选生成网络和排序网络。候选生成网络从百万量级的视频库中生成上百个候选视频,排序网络对候选视频进行打分排序,输出排名最高的数十个结果。下文将分别对上述的两个神经网络进行介绍。

( 1)候选生成网络
候选生成网络(Candidate Generation Network)的核心思想是将推荐问题建模为一个类别数极大的多分类问题。以YouTube视频推荐系统为例,对于一个YouTube用户,可以选用的分类类别包括以下两类:一是历史行为信息,包括用户观看历史(视频ID)、搜索词记录(search tokens)等;二是用户属性信息,包括人口学信息(如地理位置、用户登录设备)、二值特征(如性别、是否登录)和连续特征(如用户年龄)等。通过上述分类类别,推荐系统对视频库中所有视频分别进行分类,得到每一类别的分类结果(即每一个视频的推荐概率),最终输出概率较高的几百个视频。
下面介绍候选生成网络的主要运行过程。首先,将用户历史行为信息映射为向量后取平均值得到固定长度的表示;同时,输入用户属性信息中的人口学信息,并将二值特征和连续特征进行归一化处理,用以优化新用户的推荐效果。接下来,将所有特征表示拼接为一个特征向量,并输入给非线形多层感知器(MLP,功能介绍详见上章内容)处理。MLP的输出分别流向训练和预测两个模块,在训练模块,MLP的输出流向softmax分类层,与所有视频特征一同做分类;在预测模块,计算MLP的输出(用户的综合特征)与所有视频的相似度,取相似度最高的个输出视频作为候选生成网络的预测结果。候选生成网络结构如图15-1所示。

7RRrIny.jpg!mobile

图15-1   候选生成网络结构

对于给定用户,其想要观看视频的概率预测模型为:

RFvYriV.jpg!mobile

(15-9)

式(15-9)中, 为视频库集合,ω为此刻用户要观看的视频, 2UrQ3iQ.jpg!mobile 为视频库中第i个视频的特征表示,u为用户U的特征表示。 3UFrYzy.jpg!mobile 和u为长度相等的向量,对两者做点积操作可以通过全连接层实现。

softmax分类的类别数非常多,为了保证一定的计算效率,在运行网络时需要采用以下策略:

1)在训练阶段,对负样本类别进行采样,降低实际计算类别的规模至数千;

2)在推荐预测阶段,不采用softmax的归一化计算分类方式(不影响结果),将计算类别得分问题简化为点积(dot product)空间中的最近邻(nearest neighbor)搜索问题,取与用户兴趣特征u最相近的k个视频作为候选的预测结果。

( 2 )排序网络 排序网络(Ranking Network)的结构类似于候选生成网络,但是它的优势是对候选预测结果进行了更细致的得分计算和结果排序。类比于传统广告排序方法中的特征提取,排序网络也构造了大量用于视频排序的相关特征(如视频 ID、上次观看时间等)。特征处理与候选生成网络的不同之处在于排序网络的输出端是一个加权逻辑回归模型,它计算所有候选视频的预测得分,按分值大小排序后将分值较高的一些视频推荐给用户。

2.融合推荐系统

融合推荐系统是一个应用深度神经网络结构的个性化电影推荐系统,它融合了用户和电影的多项特征,通过深度神经网络处理后进行用户喜爱电影的预测和推荐。下面介绍融合推荐模型中应用的重要技术,并详细描述融合推荐模型的运行过程。

( 1 ) 词向量

词向量(word embedding)技术是推荐系统、搜索引擎、广告系统等互联网服务必不可少的基础技术,多用于这些服务的自然语言处理过程中。在这些互联网服务里,一个常见任务是要比较两个词或者两段文本之间的相关性,要完成这个任务就需要把词或文字表示成计算机能识别和处理的“语言”,如果在机器学习领域里选择这一问题的解决方法,通常会选择词向量模型。通过词向量模型可将一个词语映射为一个维度较低的实数向量(embedding vector),例如:

Embedding(情人节)=[0.3,4.2,−1.5,…]
Embedding(玫瑰花)=[0.2,5.6,−2.3,…]

在这组映射得到的实数向量表示中,两个语义(或用法)上相似的词对应的词向量应该“更像”,所以“情人节”和“玫瑰花”这两个表面看来不相关的词因其语境的相关性而有较高的相似度。

(2)文本卷积神经网络

在上一章中,本书对卷积神经网络做了系统全面的介绍,并对其在计算机视觉领域中的应用进行了详细的叙述。卷积神经网络可以有效地提取、抽象得到高级的特征表示。实践表明,卷积神经网络能高效地处理图像问题和文本问题。
卷积神经网络主要由卷积层(convolution layer)和池化层(pooling layer)组成,其应用及组合方式灵活多变,种类繁多。在融合推荐模型中,选择文本卷积神经网络(Text Convolutional Neural Networks)用于学习电影名称的表示,网络结构如图15-2所示。

E7vEJb.png!mobile 图15-2   卷积神经网络文本分类模型

假设待处理句子的长度为n,其中第i个词的词向量为 uQJrY32.jpg!mobile ,k为维度大小。

1)词向量拼接操作:将每h个词向量拼接成一个大小为的词窗口,记为 MbAfEjf.jpg!mobile,它表示词向量序列  UzAb6by.jpg!mobile 的拼接,其中,i表示词窗口中第一个词在待处理句子中的位置,取值范围从1~ n-h+1, MVvqqiR.jpg!mobile

2)卷积操作:把卷积核 eyueu27.jpg!mobile作用于包含h个词的窗口 MjQ7Vrb.jpg!mobile,得到特征向量 vQ7fAjE.jpg!mobile ,其中b∈R为偏置项(bias), f 为非线性激活函数,如sigmoid函数。将卷积核作用于待处理句子中所有的词窗口 V3qMBbn.jpg!mobile,生成一个特征图(feature map):

7JrINv2.jpg!mobile

(15-10)

3)池化操作:对特征图采用时间维度上的最大池化(max pooling over time)操作,得到此卷积核对应待处理句子的特征c ̂,它是特征图中所有特征的最大值:

3y2yQfQ.jpg!mobile

(15-11)

(3)系统模型概览

融合推荐系统模型如图15-3所示,它包括以下步骤:
1)模型输入:使用用户特征和电影特征作为神经网络的输入。
用户特征融合了四类属性特征信息,分别是用户ID、性别、职业和年龄。
电影特征融合了三类属性特征信息,分别是电影ID、电影类型ID和电影名称。
2)用户特征处理:将用户的四类属性特征信息分别映射为256维的向量表示,然后分别输入全连接层并将输出结果相加。
3)电影特征处理:将电影ID以类似用户属性特征信息的方式进行处理,电影类型ID直接转换为向量的形式,电影名称用文本卷积神经网络输出其定长向量表示,然后将三个属性的特征向量分别输入全连接层并将输出结果相加。
4)得到用户特征和电影特征的向量表示后,计算二者的余弦相似度作为推荐系统的预测分数。最后,用该预测分数和用户真实评分的差异的平方作为该回归模型的成本函数。

NBzEvyy.jpg!mobile

图15-3   融合推荐系统模型

——推荐阅读——

容器引擎CCE新版集群管理功能了解一下

飞桨推出异构参数服务器架构,异构硬件高效组合,训练速度提升65%以上

百度开源Server-Agent:一种高性能、高效率的任务调度执行引擎


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK