关注我们,一起学习~
title:Enhancing Top-N Item Recommendations by Peer Collaboration link:https://arxiv.org/pdf/2111.00429v3.pdf from:SIGIR 2022
1. 导读
peer collaboration learning:对等协同学习
基于DNN的推荐系统通常需要大量参数,而这多多少少会带来一些冗余的神经元和权重,这种现象被称为过度参数化。本文提出一个topN商品推荐框架PCRec方法,利用这种冗余现象来提高 RS 的性能。
PCRec协同训练两个具有相同网络结构的DNN推荐模型,这称为对等协同。PCRec可以在训练过程中重新激活和加强不重要(冗余)的权重,从而实现更高的预测精度,保持其原有的推理效率。
2. 懒人阅读
本文采用对等协同学习来加强对DNN中冗余神经元(权重)的利用。利用两个相同网络结构的DNN推荐模型进行训练,采用L1-norm或熵来衡量神经元的重要性,选取对等网络中相应位置的神经元对当前网络中不重要的神经元进行补充,增强模型的泛化能力。
3. 方法
将
表示为模型中第i层的权重矩阵。可以从两个角度来识别权重的重要性:单权重视角和全层视角。
衡量一个层的重要性可以尽可能地保持层的一致性,这将有利于后面提到的信息移植过程,公式如下,
令
和
为两个协同推荐模型的第i层的L1范数。令
表示层的相关信息,公式如下,其中%是取模运算,k是模型ID。
L1只关心权重的大小,而忽略了权重的变化,这里采用熵的方式来度量每一层权重的变化。熵通常用于评估系统中的混乱程度。将权重矩阵转换为向量,并将向量离散化为m个桶。然后可以计算每个桶的概率。首先根据向量的实际值对向量中的权重进行排序,然后将向量划分为具有相等数值区间的m个桶(
) .第j个桶的概率以下式计算,N为权重向量的参数大小,nj为第j个桶的参数大小
然后计算权重矩阵
的熵,公式如下,
PCRec 框架如图3所示。假设两个模型都有N层。将
和
表示为两个模型的第i层的权重矩阵。PCRec的核心思想是利用两个网络对应的权重信息,生成更具表现力的权重
,公式如下,权重
和
是明显不同,因为它们使用不同的超参数和初始化进行了优化。即一个层的不重要权重可能对应于他对等层中同一层的重要权重,反之亦然。
如图2所示,这部分采用L1正则的方式。首先定义一个正阈值γ,然后如果它们的绝对值小于𝛾,则识别不重要的参数。为了实现从其对等模型的信息传递,将不重要的参数替换为对等模型中相同层的对应索引的参数。
设置一个二分的(0,1)掩码矩阵
,这个矩阵和
具有相同的尺寸大小,则识别不重要参数和替换的公式如下,
其流程的伪代码如下所示,
这部分采用熵的度量方式,PW使用单个权重作为度量单位只关注权重本身的重要性,忽略了层的一致性,从而可能会损害模型的表达性和性能。使用整个层作为度量单位可以使同一层的所有权重协同地促进层的转换。因此将f定义为线性组合函数来提出一种LW方法,公式如下,
,
将此系数
视为自适应参数,以自动促进协作和优化。下面给出两个关于设计合适的自适应参数
的说明:
来衡量两层中信息的相对重要性。当差为零时,
应设置为0.5,否则𝑊b𝑘𝑖应将大的
(即
)分配给具有更多信息的层。即使
也可能会有所帮助,因为根据熵的计算方式,相同的信息并不意味着所有权重都相同。
很大,还是希望融合后的
能包含融合前的自身的部分信息,并且能够自适应控制
。
为了满足上面两种要求,作者提出一下公式计算
,其中𝛼是一个超参数,用于控制来自外层的信息程度。一个层作为度量单位的信息计算标准可以是L1-范数或熵。在训练过程中,只需要在每个 epoch 执行这个组合操作。在实践中,需要保证每个模型都拥有多样且充足的信息,从而相互补充。在本文中,对这两个模型采用了两种简单的策略来使它们中的每一个都捕获独特的信息,即使用不同的学习率和训练数据的采样。
PCRec可以在两种模式下进行优化,即并行和串行训练。
在并行模式方面,PCRec 的两个独立网络本质上是独立训练的,但每批都是同时训练的。每个相同的推荐模型的信息可以通过使用保存的检查点进行传输。因此,并行优化需要更多的内存和计算,但可以节省大量的训练时间。
另一方面,可以通过按批次顺序训练它们来对每个单独的网络进行串行优化。与并行模式相比,串行优化不可避免地会牺牲训练时间,但不会消耗额外的内存和计算量。
总体而言,维护两个结构相同但学习率和采样顺序不同的网络。当一个训练 epoch 结束时,计算两个模型的每一层的信息并进行协作。同一层的偏置项和归一化项的参数共享基于
计算的相同
。预测的时候只需要用到其中一个模型即可。
4. 结果