美文网首页可解释推荐系统工具箱
可解释推荐系统工具箱 - VECF(二)

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

作者: processor4d | 来源:发表于2021-11-24 19:04 被阅读0次

    文章名称

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

    核心要点

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

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

    方法细节

    问题引入

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

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

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

    VECF framework

    具体做法

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

    • 用户集合为U = \{u_1, u_2, ..., u_{N}\},物品集合为V = \{v_1, v_2, ..., v_{M}\}
    • 用户的隐式反馈观测集合为O = \{(i, j) | 用户i与物品j交互过 \}
    • 每个物品有一个与之对应的商品图片,利用CNN提取的图片特征F_j = [f_j^1;f_j^2;...;f_j^h]。其中,f_j^k表示第k个子图的特征向量,而h表示预切分的子图数量,所有物品的视觉特征F = \{ F_j | j \in V \}
    • 每个用户对每个物品(有的用户可能对物品没有评论)的评论记作w_{ij} = \{ w_{ij}^1, ..., w_{ij}^{l_{ij}} \},其中l_{ij}表示评论的长度,w_{ij}^t表示评论中的词,所有评论W = \{ W_ij | (i, j) \in O \}
    • 整个数据集为\{ U, V, O, F, W \}

    Fine-grained Visual Preference Modeling

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

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

    user-region attention

    其中,\alpha_{ijk}表示对用户-商品元组i, j对第k个ROI的注意力权重,其计算公式如下图所示(常规操作),其中p_i是用户的向量表示。E_1, E_2是线性变换,\odot表示元素相乘,W_{\cdot}是可训练的参数矩阵。

    user-region attention weights

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

    Review enhanced Model Supervision

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

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

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

    ROI-Review LSTM

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

    temporal attentive image

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

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

    Optimization Objective

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

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

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

    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(二)

        本文链接:https://www.haomeiwen.com/subject/pqpntrtx.html