回忆阶段的多兴趣模型——心智

阿里团队2019在CIKM上发表的论文《在天猫进行推荐的动态路由的多利益网络》,应用胶囊网络的动态路由算法构建多利益网络心智,是召回阶段的模型。

本文的工作是在召回阶段,以满足用户对感兴趣项目的有效检索。建立用户兴趣模型,找到用户兴趣表达非常重要,但由于用户兴趣的多样性,这并不容易。

一些现有的用户兴趣表达方法:

1.基于协同过滤的方法通过历史交互项目或隐藏因素来表达用户的兴趣:会遇到稀疏和计算问题。

2.基于深度学习的方法使用低维嵌入向量表示用户兴趣;

作者认为这是一个多兴趣表达的瓶颈,因为所有与用户多兴趣相关的信息都必须压缩到一个表示向量中,所以所有关于用户多兴趣的信息都混杂在一起,导致召回阶段的物品检测不准确。

3.DIN在嵌入的基础上增加了注意力wit:但是,注意力机制需要为每个目标项重新计算用户表征,因此不能用于回忆阶段。

关于胶囊网络:

胶囊间动态路由算法,动态路由胶囊算法的核心在于这里参数B的更新方法:在更新参数时,同时考虑了低层特征和输出胶囊特征,因为它们是向量,当它们同向时,即它们的相似度高,当前低层特征更能反映图像特征,乘积为正,B的权重增加,说明当前低层胶囊更被高层胶囊“接受”;反之,当两者颠倒时,当前低级特征与输出胶囊的匹配度不高,乘积为负,B权重降低,说明当前低级胶囊被高级胶囊“拒绝”。这样就建立了低层特征和高层特征之间的关系,让模型更好地“理解”图像。

“胶囊”是一组聚集起来输出整个向量的小神经元。利用动态路由学习胶囊之间的连接权值,并利用期望最大化算法对其进行改进,克服了一些缺点,获得了更好的精度。

主要贡献:

针对召回阶段用户的多兴趣问题,提出一种利用动态路由学习用户表征的多兴趣网络。

主要的“创新”是采用胶囊网络的动态路由算法获取用户的多兴趣表征,将用户的历史行为聚合成多组内容,并进一步利用每组历史行为推断出特定兴趣对应的用户表征向量。这样,对于一个特定的用户,MIND输出多个表征向量,分别* * *代表用户的不同兴趣。用户表示向量只计算一次,在匹配阶段可以用来从十亿规模的项目中检索相关项目。

任务目标

召回任务的目标是从十亿级的项目库中为每个用户检索数千个与用户兴趣相关的项目集。

模型输入

对于模型来说,每个样本的输入可以表示为一个三元组,表示与用户有过交互的条目集合,即用户的历史行为;代表用户的属性,比如性别,年龄等。表示为目标项目的一些特征,例如项目id和类别id。

核心任务

学习功能可以将用户项目实例(原始特征)映射到用户的兴趣。嵌入表达式集是用户的向量表示,嵌入维数表示向量的个数,也就是兴趣的个数。

If =1,即其他模型(如Youtube DNN)的嵌入表达式,项的嵌入函数为:其中代表一个嵌入&;共用地板

决赛成绩

根据评分函数检索前N名候选人:

根据评分函数进行搜索:即根据目标项目与用户表示向量的内积的最大值作为相似度依据,DIN的关注度部分也是通过这种方式来衡量两者的相似度。

嵌入层的输入由三部分组成:用户属性、用户行为和目标项目标签。每个部分由多个id特征组成,属于高维稀疏数据,需要嵌入技术将其映射成低维稠密向量。

相对于单个向量来表达用户的兴趣,作者使用多个表达向量来分别表达用户的不同兴趣。这样,在召回阶段,可以分别考虑用户的多个兴趣,更准确地搜索每个方面的兴趣。

为了学习多兴趣表示,作者使用胶囊网络表示学习的动态路由将用户的历史行为分组到多个簇中。来自一个集群的项目应该是紧密相关的,并且代表用户兴趣的一个特定方面。

动态路由

Capsule是一种新的神经元,用向量表示,而不是普通神经网络中使用的标量。基于向量的胶囊被期望表示实体的不同属性,其中胶囊的方向表示属性,胶囊的长度用于表示属性存在的概率。

动态路由是胶囊网络中的一种迭代学习算法,用于学习低层胶囊和高层胶囊之间的路由对数,得到高层胶囊的表示。

我们假设胶囊网络有两层,即低级胶囊和高级胶囊,胶囊的数量表示每个胶囊中神经元的数量(向量长度)。路由对数通过以下计算得到并更新:其中表示要学习的双线性映射矩阵(胶囊网原文称为变换矩阵)。

通过计算路由对数,高阶胶囊的候选向量被计算为所有低阶胶囊的加权和:

使用多个向量来表达用户的不同兴趣,并将用户的历史行为分组到多个兴趣胶囊中的过程。实现逻辑如下:

输入:

输出:

定义:

(1)动态利息号

(2)低阶行为向量嵌入表达式:代表用户的行为向量(同上)

(3)嵌入高阶兴趣向量表达式:代表用户的兴趣向量(同上)

(4)行为向量和兴趣向量之间的路径逻辑:

(5)双线性映射矩阵:

步骤:

(1)计算兴趣嵌入数。

(2)初始化(使用正态分布的初始化)

(3)遍历迭代的次数

(3.1)对于所有行为路由,计算

(3.2)对于所有利息路径、计算和

(3.3)迭代更新* * *享受矩阵。

通过多重兴趣提取层,从用户行为嵌入中建立多重兴趣胶囊。在训练中,我们设计了一个标签感知注意层:让标签(目标)物品选择使用过的兴趣胶囊。特别地,对于每个标签项,计算兴趣胶囊和标签项嵌入之间的相似度,并计算兴趣胶囊和作为目标项的用户表示向量的权重,通过相应的相容性确定兴趣胶囊的权重。

火车

在获得用户向量和标签项的嵌入之后,计算用户和标签项之间的交互概率: