一、概述

名称:Multi-View Active Learning for Video Recommendation
作者:Jia-Jia Cai , Jun Tang , Qing-Guo Chen , Yao Hu , Xiaobo Wang and Sheng-Jun Huang
文献类型:IJCAI19
年份:2019年
整理日期:2020年5月14日

二、主要解决问题

视频推荐通常是利用文本信息对视频进行标注然后来进行推荐,但是很多用户上传视频后可能不会添加文本注释,所以需要从视频本身的视觉信息中提取到有用的信息。
=>从没有文本注释的视频集中通过V2T的方法选择出信息量最大的视频加入到训练集(同时拥有文本信息和视觉信息的视频集)中训练出更好的模型。
=>提出了一种视频推荐的多视图主动学习框架V2T,主动查询所选视频缺失的视图(如视频缺少文本注释,则利用视觉信息去获得相关的文本信息)。
=>提出了一种有效地降低标注代价的MVAL算法,一方面充分利用了具有监督信息的视觉效果,另一方面结合了预测不一致与频率的关系,选择出信息量最大的视频。

三、解决思路

推荐系统论文笔记---Multi-View Active Learning for Video Recommendation

  • R={(vi,uj,yij)}i=1...n,j=1...mR=\{(\mathbf{v}_i, \mathbf{u}_j, y_{ij})\}_{i=1...n, j = 1...m}是用户行为记录的集合,vi\mathbf{v}_i是第i个视频,uj\mathbf{u}_j是第j个用户,yij=1y_{ij}=1表示该用户看了这个视频,否则yij=0y_{ij}=0
    viV\mathbf{v}_i^V表示第i个视频的视觉特征向量,viT\mathbf{v}_i^T表示第i个视频的文本特征向量(这个信息是需要用户手动标注的,大部分视频是缺失的。)。
    假设一个小的标注过的视频集合A(视觉信息和文本信息都有),一个大的未标注过的视频集合U(只有视觉信息),定义RAR^A是用户对A的行为记录,RUR^U是用户对U的行为记录。
    常规操作是在A上训练得到一个预测函数f(文本特征信息空间映射到用户行为标签空间)去进行推荐,但是A数量很少不能有很好的效果,所以在U中选择性挑选一些视频去查询到它们相关的文本信息添加到训练集中,这是本文需要解决的核心问题。
    =>提出visual to test(V2T) mapping从视觉信息中探索对应的文本信息,然后提出一个active learning criterion来选择信息量最大的视频来作为训练数据。

1、Visual to Text Mapping

我们学习V2T mapping函数e来连接文本和视觉信息,函数的输出可以用来估计未标注过的视频的信息量。

  • 一个学习e的直接方法是最小化文本特征和变换后特征的重建误差。A是一个同时拥有视觉和文本信息的训练集,那么目标函数(transformation loss)可以为:
    mineviAl1(viT,e(viV))min_e \sum_{\mathbf{v}_i \in A} l_1(\mathbf{v}^T_i, e(\mathbf{v}^V_i))
    其中,l1l_1是用来计算重建误差的损失函数。
    但是A的数据量很小,所以训练得到的模型可能不够好,我们考虑使用video-user信息对中的分类信息(即用户是否观看了视频)将问题转变为有监督的训练e。
  • V2T就是将视觉信息转换为文本信息:v^T=e(viT)\hat{\mathbf{v}}^T = e(\mathbf{v}^T_i)。对于A中的视频来说,文本信息vT\mathbf{v}^T是已知的,因此e可以通过之前的方法优化得到。此外,需要添加分类信息来作为有监督信息。
    比如,一个记录的视觉信息是viV\mathbf{v}^V_i,用户特征是uj\mathbf{u}_j,行为标签是yijy_{ij}v^iT\hat{\mathbf{v}}^T_i是通过V2T获得到的文本信息。假设分类器f是可靠的,如果预测结果y^ij=f(v^iT,uj)\hat{y}_{ij} = f(\hat{\mathbf{v}}^T_i, \mathbf{u}_j)与实际的结果yijy_{ij}相差甚远,那么就说明特征向量v^T\hat{\mathbf{v}}^T不能够很好的将视觉信息转为文本信息。基于这个分析,我们可以得到额外的目标函数(classification loss)为:
    mine,f(vi,uj,yij)RAl2(f(viT,uj),yij)+(vi,uj,yij)RUl2(f(viV,uj),yij)min_{e,f} \sum_{(\mathbf{v}_i, \mathbf{u}_j, y_{ij}) \in R^A} l_2 (f(\mathbf{v}^T_i, \mathbf{u}_j),y_{ij}) + \sum_{(\mathbf{v}_i, \mathbf{u}_j, y_{ij}) \in R^U} l_2 (f(\mathbf{v}^V_i, \mathbf{u}_j),y_{ij})
    其中,l2l_2是计算分类误差的损失函数,这个目标函数可以同时优化e和f。
  • 结合上述两个目标函数我们可以得到最终的目标函数为:
    mine,fλAviAl1(viT,e(viV))+1RA(vi,uj,yij)RAl2(f(viT,uj),yij)+1RU(vi,uj,yij)RUl2(f(viV,uj),yij) min_{e,f} \frac{\lambda}{|A|}\sum_{\mathbf{v}_i \in A} l_1(\mathbf{v}^T_i, e(\mathbf{v}^V_i)) + \frac{1}{R^A} \sum_{(\mathbf{v}_i, \mathbf{u}_j, y_{ij}) \in R^A} l_2 (f(\mathbf{v}^T_i, \mathbf{u}_j),y_{ij}) + \frac{1}{R^U} \sum_{(\mathbf{v}_i, \mathbf{u}_j, y_{ij}) \in R^U} l_2 (f(\mathbf{v}^V_i, \mathbf{u}_j),y_{ij})
    其中,λ\lambda是一个用来平衡transformation loss和classification loss的参数。对于A中的视频来说,他们对两种loss都有贡献;而对于U中的视频来说,他们只对classification loss有贡献。
    本文中,l1l_1l2l_2都使用:l(y,y^)=(yy^)2l(y, \hat{y}) = (y - \hat{y})^2

2、Active Selection

  • 如果一个视频的预测结果跟实际结果不同y^ijyij\hat{y}_{ij} \neq y_{ij},那么这个视频的不确定性更大,可以对当前模型带来的贡献更大,所以我们定义vi\mathbf{v}_i的预测错误率为:
    err(vi)=(vi,uj,yij)RI(y^ijyij)nierr(\mathbf{v}_i) = \frac{\sum_{(\mathbf{v}_i, \mathbf{u}_j, y_{ij}) \in R} I(\hat{y}_{ij} \neq y_{ij})}{n_i}
    其中,nin_i是跟vi\mathbf{v}_i有关的记录数量,I()I(\cdot)是indicator函数。
  • 每一个视频都会跟不同的用户形成不同的记录,选择更流行的视频会影响更多的训练样本,这也就会对模型有着更大的贡献。所以我们额外定义分数SiS_i来评价视频vi\mathbf{v}_i的信息量:
    Si=freqierr(vi) S_i = freq_i * err(\mathbf{v}_i)
    其中,freqifreq_i是视频vi\mathbf{v}_i出现的频率。
    对U中所有的视频进行信息量的计算,SiS_i最高的视频就会被选择将其视觉信息转为文本信息加入训练集。
    推荐系统论文笔记---Multi-View Active Learning for Video Recommendation
  • 考虑到更复杂的情况,每一个视频的标准成本是不同的(如,给一个视频贴一个标签,需要手动观看完整个视频,所以视频的时长是一个不同的成本。),假设每个视频的成本为CiC_i,我们可以获得更准确的Si=SiCiS_i' = \frac{S_i}{C_i}

四、实验结果

Random:随机选择视频来获得文本信息。
uncertainty:没有使用监督信息来进行V2T。

推荐系统论文笔记---Multi-View Active Learning for Video Recommendation

相关文章: