李会芬,焦小刚,黄丽霞
(1.宁夏工商职业技术学院 信息技术学院,宁夏 银川 750021;2.同济大学 软件学院,上海 200092) 3.宁夏大学 信息工程学院,宁夏 银川 750021;4.北方民族大学 商学院,宁夏 银川 750021)
互联网资源量与用户量均在与日俱增。用户从海量数据中获取个性化数据的难度明显提升,这将极大降低用户获取在线有价值资源的体验感。例如,学生在教学资源平台中,需要花费大量的时间才能搜索到符合自己需求的在线课程。当前多个行业的服务平台都给用户提供了匹配度较高的个性化推荐服务。根据在线资源特征和用户特征,通过对比同类型和同维度的特征距离[1],可以为用户推荐与用户特征更相近的资源。
当前,关于在线资源推荐的研究较多。覃忠台等[2]采用协同过滤进行资源和用户特征配对而完成推荐。宋菲菲等[3]采用广义回归神经网络进行智能学习资源推荐。两者均建立了完整的在线资源推荐模型,但是参与推荐计算的特征量较少,导致资源推荐准确率不是特别高。虽然在线资源推荐的技术路线并不复杂,但是由于资源及用户特征的复杂度及异构性,在特征距离比较时仍会出现特征匹配度不高,或者两者特征难以转换到同等维度的问题。因此,找到合适的特征提取及特征比较算法非常关键。
为了解决上述问题,本文采用双注意力机制来实现资源特征和用户特征的提取,并将深度学习CNN用于资源和用户特征的分类。通过双注意力机制的特征挖掘与提取,能够有效提高卷积神经网络(Convutional neural network,CNN)算法的在线推荐性能。深度学习算法能够较好实现复杂多维特征分类,并且能够适应大规模样本特征分析。而注意力机制在样本特征提取及分析中优势明显,两者对在线资源推荐具备较高的适用性。
通道注意力本质是对同一个输入特征A分别进行重构和变换[4]。这种重构和变换的操作在结构图中被称为通道操作。通过不同通道的特征提取与矩阵相乘,经过加权求和操作之后完成特征提取,从而获得输出特征E,其主要结构如图1所示。
图1 通道注意力机制结构
设通道总数为C,xji表示第j和第i个通道的相关性,其计算方法[5]为
(1)
计算所有通道的xji,然后构建矩阵X,最后得到输出[6]为
(2)
式中:α表示权重常量。
空间注意力本质是对同一个样本的不同位置的输入特征A分别进行不同规格的卷积运算,从而获得新的输入特征B、C和D[7]。通过对样本不同位置的相关性分析,然后进行特征提取与矩阵相乘。经过加权求和操作之后完成特征提取,从而获得输出特征E,主要结构如图2所示。
图2 空间注意力机制结构
图3 基于双注意力CNN的在线资源推荐流程
设经过卷积运算的次数为N,yji表示第j和第i个空间位置的相关性,其计算方法[8]为
(3)
计算所有通道的yji,然后构建矩阵Y,最后得到输出[9]为
(4)
式中:β表示权重常量。
设输入集X=(x1,x2,…xn),n为样本量,m为特征总量,第j个样本特征经过第l层卷积计算得[10]
(5)
式中:klj和bl,j分别是样本j和第l层的连接权重及偏置,*是卷积运算。
映射函数f(·)为
(6)
设定卷积核大小为h×w,池化方法参照式(7)的均值池化或式(8)的最大值池化[11]
(7)
(8)
令M=n/(h×w),那么输入集X=(x1,x2,…,xn)经过卷积与池化后变为X′=(x1,x2,…,xM)。
将X′进行映射转换得到
(9)
式中:∑aij=1,0≤aij≤1。
将式(9)获得的结果输入分类器进行类别预测。
设输入样本xk的CNN输出和实际值分别为yk和dk,则误差δk为
δk=(dk-yk)yk(1-yk)
(10)
设第l和l+1层节点数为L和M,则l层神经元j的δj为
(11)
式中:hj是输出值,Wjk是节点j和l+1层节点k的连接权值。
权重与偏置的更新方式[12]是
(12)
(13)
式中:α和η为常量,一般0<η<0.2,α=1。
根据式(12)和(13),获得新的权重和偏置分别为
wjk(n+1)=wjk(n)+Δwjk(n)
(14)
bk(n+1)=bk(n)+Δbk(n)
(15)
CNN在迭代时,以所有节点的误差和作为判定条件,从而得到最终CNN稳定结构模型,误差和ζ计算方式[13]是
(16)
在获得在线资源样本之后,首先采用双注意力机制进行样本特征提取。通过对在线资源和在线用户的双注意力锁定,选择更有效的资源-用户特征进行深度学习分析。接着,构建基于CNN的在线资源推荐模型,并以用户-资源最小特征差为损失函数。将经过双注意力机制获得的样本特征输入CNN网络进行训练,最终获得符合用户需求的推荐结果。
为了充分验证双注意力机制CNN算法在资源推荐中的性能,进行实例仿真,数据集源自腾讯在线教育平台(ke.qq.com)、学堂在线课程学习平台(www.xuetangx.com)等,具体如表1所示。为了全面验证双注意力机制CNN算法的在线资源推荐性能,首先分别采用CNN、通道注意力CNN、空间注意力CNN和双注意力机制CNN算法进行推荐性能仿真,验证注意力机制对在线资源推荐性能的影响,其次采用常用资源推荐算法和双注意力CNN算法进行实例仿真。
为了验证注意力机制对CNN算法在线资源推荐性能的影响,分别采用CNN、通道注意力CNN、空间注意力CNN和双注意力CNN算法对表1中的4类样本进行资源推荐仿真。
3.1.1 特征差异值性能
特征差异值是资源推荐的重要数据佐证,是候选推荐资源列表生成的数据支持。分别采用4种算法对资源和用户的特征差异值进行性能比较。
从表2得,对于4类样本集,基于双注意力的CNN资源推荐算法的特征差异均值明显(小于)优于其他3种算法。由于没有使用注意力机制进行特征提取,原始CNN算法的特征差异均值最大,因此基于CNN算法的资源推荐准确率会受到较大影响。纵向比较发现,在学堂在线样本集中,4种算法获得了最小特征差异均值,而腾讯在线样本集中,4种算法的特征差异均值最大,这可能是由于不同样本集之间在资源数量和特征复杂度的等方面存在一定差异造成的。
表2 4种算法的特征差异均值
表3 4种推荐算法的准确率
3.1.2 推荐准确率及RMSE
分别采用4种算法对表1中的4类样本进行资源推荐仿真,验证其推荐准确率及均方根误差(Root mean squared error,RMSE)性能。
从图4得,对于4类样本集的推荐准确率,双注意力CNN算法最高,均在0.9以上,而通道和空间注意力CNN在腾讯在线和学堂在线中较接近,CNN算法最差,均在0.84以下。下面比较4种算法的RMSE性能,仿真结果如表4。
图4 4种算法推荐准确率
表4 4种推荐算法的RMSE值
从图5得,相比于其他3种算法,基于双注意力CNN推荐算法在RMSE性能方面具有绝对优势,4类集的RMSE值均在0.15以下,CNN算法RMSE性能最差,通道注意力CNN和空间注意力CNN性能相近,围绕这1.17左右震荡,在腾讯在线和学堂在线中空间注意力CNN表现更优,而在网易云课堂和51CTO学院集上通道注意力表现更佳。
图5 4种算法RMSE
综合而言,相比于CNN推荐算法,采用注意力机制进行资源和用户特征提取后,对CNN在线资源推荐准确度影响显著,这主要是因为在线资源特征和用户特征变化频率快而不容易实现精准资源推荐的缘故,引入双注意力机制后,能够较好地捕捉到资源和用户特征的快速变化。
为了进一步验证双注意力机制CNN算法在资源推荐中的性能,分别采用协同过滤[14]、深度神经网络(Deep neural network,DNN)[15]、循环神经网络(Recurrent neural network,RNN)[16]和双注意力CNN算法对表1中4类样本进行仿真。
从表3得,在4类集的推荐准确率方面,双注意力CNN算法最高,DNN和RNN相近,协同过滤最差,这表明了深度学习算法对4类样本集的资源推荐适应度更高,而采用了双注意力机制的特征提取后,CNN算法的推荐准确率超越了DNN和RNN,这说明双注意力机制比较适合资源和用户特征的挖掘与提取。
从表4得,在4类集的推荐RMSE性能上,双注意力CNN算法最优,DNN和RNN相近,协同过滤最差,这表明了深度学习算法增强了4类样本集的资源推荐稳定性,而采用了双注意力机制的特征提取后,CNN算法的推荐稳定性远超过DNN和RNN,这说明有效地资源和用户特征提取对深度学习算法的分类稳定性提升明显。
从图6得,双注意力CNN算法在4类样本集训练时获得了最高召回率,协同过滤最差,在网易云课堂集推荐时,DNN超过了RNN,而其他3类样本集,RNN均略优于DNN,这说明双注意力CNN算法能够匹配到更多适合于用户的资源。从推荐效率方面来看,3种深度学习算法不如协同过滤,这主要是3种深度学习算法的网络参数求解需要消耗较多时间。
图6 4种算法的推荐召回率
本文采用深度卷积神经网络进行资源推荐,同时对资源-用户特征进行双注意力机制特征提取,以进一步提高推荐精准度。对资源-用户特征进行编码并初始化,并分别进行通道注意力机制运算和空间注意力机制运算。将两个注意力机制的运算结果加权求和得到新的用户-资源特征。相比常用资源推荐算法,双注意力CNN算法表现出更优的推荐准确率和稳定性。后续研究将进一步差异化设置双注意力机制的卷积核尺寸等参数,提高在线推荐效率,从而进一步增强双注意力机制CNN算法在在线资源推荐中的适用性。