Page 423 - 《软件学报》2025年第9期
P. 423
4334 软件学报 2025 年第 36 卷第 9 期
空间, 获取用户-项目偏好, 学习方式如公式 (8) 所示.
< x (k+1) × F 1 , x (k+1) × F 2 >
a (k+1) = σ u i (8)
ui
(k+1)
(k+1)
x u × F 1 x × F 2
i
其中, a (k+1) 表示第 (k+1) 层得到的用户-项目偏好, σ(·) 是 sigmoid 函数, 将相似度归一化在 (0, 1) 区间内, F 1 和 F 2
ui
是两个可训练的矩阵, <·>表示向量内积操作.
a T
a O
节 (k) (k) 动态阈值 (k) a S
X u X i a ui
点 z S
嵌 θ(k) 门
入 聚合 控
a (k)
神
经 z T
...
θ(k) 网
... ...
... ... 络
... ... ...
计算
θ(k) 图
学
获取初步偏好 动态剪枝 习
图 3 多层循环 GCN 图
当输入数据维数较大时, 公式 (8) 所得的偏好矩阵会过于稠密, 同时结合前文中使用的伪重叠判定机制, 模块
计算时间和内存使用量成倍增长, 而对于大规模数据集, 内存消耗会较高, 很可能导致计算设备内存不足. 故无法
直接运用于 GCN, 需对得到的用户-项目偏好矩阵进行稀疏化处理.
许多模型在稀疏化处理过程中采用幅度剪枝 (magnitude pruning, MaP) 方法 [24] , 但 MaP 侧重于局部信息, 忽
略全局结构和权重间的关联. 另外, 相似度较小的数据剪枝也可能导致模型性能下降. 为应对此问题, 我们使用自
适应方法, 基于相似度的幅度设定相应阈值, 在训练过程中动态调整, 从而使偏好矩阵不过于稠密. 对于每位用户
对应项目的偏好与上一轮的阈值共同构成该层的预测阈值.
为更充分地利用图数据, 避免过度剪枝可能导致的性能下降, 在训练过程中, 使用动态调整机制 [25] 对不同用
户或不同情境自适应调整, 以更灵活地应对局部信息和全局结构的变化. 同时, 为平衡剪枝过程中各轮次之间的关
系, 并确保每一轮的剪枝阈值更加独立和合理, 设置权重参数, 使得每一轮的剪枝比例逐渐降低, 从而减少前几轮
对后续轮次的影响. 这里通过自适应幅度剪枝进行动态调整, 动态阈值及剪枝如公式 (9)、(10) 所示.
θ ui (k) = αa (k−1) +(1−α)θ ui (k −1) (9)
ui
(k)
(k)
a , a ⩾ θ ui (k)
(k) ui ui
ui 0, a < θ ui (k)
(k)
a = (10)
ui
其中, θ ui (k) 是动态阈值, α 为权重参数, 决定历史数据对当前的影响程度.
每层均对用户 u 所有项目偏好计算, 得到该层的偏好向量, 经过 K 步聚合传播后, 获得用户最终嵌入向量, 如
公式 (11) 所示.
(k)
(0)
a u = a ∥ ... ∥ a ∥ ... ∥ a (K) (11)
u u u
其中, ||表示连接操作, a (k) 是用户 u 的第 k 层偏好向量, k=0, 1, 2,…, K, a u 为用户 u 的最终嵌入向量.
u
根据上述分析, 输入联合域信息并通过循环 GCN 获得用户 u 的域共享嵌入向量 a , 输入源域/目标域信息获
O
u
a a ; 同样得到项目 O S / T
/
T
S
取对应的源域/目标域特有嵌入向量 u u i 的域共享嵌入向量和域特有嵌入向量 a , a a .
i
i
i
在平衡联合域共性与单域特性的前提下, 为有效地组合用户 u 的共享嵌入向量与特有嵌入向量, 我们分别使
T
S
z
用共享部分参数的门控神经单元生成源域与目标域的组合特征向量 z , (项目 i 在源域与目标域的组合特征向
u u

