可解释推荐系统工具箱 - VECF(二)

文章名称

【AAAI-2019】【Tsinghua/Rutgers University】Personalized Fashion Recommendation with Visual Explanations based on Multimodal Attention Network

核心要点

文章旨在流行商品推荐领域中,物品图片影响力大,但不同用户对图片的不同部分注意程度不一的问题。利用用户评论文本信息作为弱监督信号,训练多模态模型,个性化的对商品图片的一些预先分割好的子图分配注意力,降低噪声影响,提升推荐效果。同时,利用注意力权重作为模型决策的解释。

上一节介绍了方法想要解决的问题,以及面临的挑战看,描述了问题形式化定义和整体框架。本节继续介绍两个重要模型的实现细节,以及模型的参数学习方法。

方法细节

问题引入

上一节提到了解决视觉注意力个性化的问题需要进行子图层级的注意力学习,同时需要结合不同层级的子图。因此,不能够简单的利用目标检测方法切割图片,因为很难进行再次组合。因此,如何生成子图是方法需要解决的问题之一。

此外,点击行为这类隐式反馈无法对子图注意力进行有效的监督,需要附加评论信息之类的额外信息。但是如何结合评论信息进行监督是方法需要解决的另一个问题。

如上节所述,作者提出的VECF中包含了两个重要的组成部分,分别解决这两个分体,方法整体框架如下。

VECF framework

具体做法

首先回顾一下,上节讲到的问题的定义,

  • 用户集合为,物品集合为;
  • 用户的隐式反馈观测集合为;
  • 每个物品有一个与之对应的商品图片,利用CNN提取的图片特征。其中,表示第个子图的特征向量,而表示预切分的子图数量,所有物品的视觉特征;
  • 每个用户对每个物品(有的用户可能对物品没有评论)的评论记作,其中表示评论的长度,表示评论中的词,所有评论;
  • 整个数据集为

Fine-grained Visual Preference Modeling

作者采用预训练的VGG-19模型的Conv5层的输出(feature map size为14 × 14 × 512)作为预先提取的子图(或者说 region of interest (ROI))。其中,14 x 14中的每一个点被认为是一个ROI,而512维的向量被认为当做上述,也就是说,每一个商品图片的子图特征个数。

获得ROI(子图特征)后,为了建模个性化的视觉注意力,作者构造了region级别的注意力模型。针对每一个用户-商品元组,注意力的具体的计算公式如下图所示。

user-region attention

其中,表示对用户-商品元组对第个ROI的注意力权重,其计算公式如下图所示(常规操作),其中是用户的向量表示。是线性变换,表示元素相乘,是可训练的参数矩阵。

user-region attention weights

值得注意的是,除了得到个性化的视觉权重外,还可以用来帮助进行模型解释

Review enhanced Model Supervision

如前所述,相比隐式反馈,用户的评论具有更丰富的信息,可以帮助训练细粒度的注意力权重。作者利用多模态的方式解决异质信息(图像和文本)融合的问题。

值得注意的是,作者不是利用文本来学习attention权重(也没法学,因为本身文本是要作为监督信号的),而是利用加权后的ROI向量表示,来参与(评论)文本生成。核心思路是,图片的不同ROI,决定了用户评论中的某一部分的观点

采用LSTM来处理评论文本,不同用于原有的LSTM,作者把注意力加权的图片特征的变换结果当做输入,传给LSTM进行词语生成的计算,具体公式如下图所示。

ROI-Review LSTM

分别表示update, cell, forget, output gate以及cell存储和隐层向量,是词向量。值得注意的是,是和文本顺序(也就是和具体是哪个词)无关的(也就是和无关)。因此,作者在文本生成时,计算了所谓的temporal attentive image 。具体计算公式如下图所示。

temporal attentive image

其中,分别表示用户和商品的特征(商品的不包括图片特征)生成的向量表示,表示拼接两个向量,是线性变换,**而表示一个和时间相关的权重(作者称为gate),(如果我没理解错,这里作者没有强调,因为和评论文本的notation有点重复)是可训练的参数。是LSTM的隐向量。也就是说,如果图片注意力和现在的文字关系比较密切,的值会比较小,表示依赖于视觉注意力。反之则较小,表示依赖于用户和物品的全局特征。

基于每一步的可以利用一层MLP接softmax得到最终的文字输出(生成具体的词)。

Optimization Objective

最终,训练模型参数的目标,包括3个部分,

  • 偏好损失。作者利用如下图所示的方式估计用户-物品元组的偏好的得分,其中进行得分预测的MLP。通过商品特征和商品的图像注意力特征的点击,可以进行商品和视觉注意力的交互[2],进而得到用户和商品的充分交互。
    likeness score
  • 评论生成。如下图所示,作者引入了生成损失。
  • 权重正则。这部分是常规的weight decay。

因此,整体的损失可以包含这3部分,用超参数进行调节。

total loss

心得体会

子图选取

作者利用VGG-19的Conv5实现子图提取,而不是采用目标检测,也是一个亮点。虽然,CNN提取feature map和用来当做子图进行训练也不稀奇了,但可以结合到子图和注意力,来解决每个用户有不同的注意层级(会注意商品不同粒度的细节)的问题,还是很巧妙的。

可解释模型

个人理解,当前(非因果的)可解释模型,主要利用2种套路(在其他可解释推荐系统的论文中也有提到,如[1]),

  • 利用aspect vector,把用户和物品投影到这个向量上,用投影的相似度来提取排名靠前的aspect,以此作为模型的解释;
  • 利用attention weights,把用户对一些(一般是概括性的)特性的注意力权重计算出来,当做模型解释。

文章引用

[1] Chen, X., Zhang, Y., & Qin, Z. (2019). Dynamic Explainable Recommendation Based on Neural Attentive Models. AAAI.

[2] Alex Beutel, Paul Covington, Sagar Jain, Can Xu, Jia Li, Vince Gatto, and Ed H
Chi. 2018. Latent Cross: Making Use of Context in Recurrent Recommender
Systems. In WSDM.

你可能感兴趣的:(可解释推荐系统工具箱 - VECF(二))