【2021/推荐/社交网络】Socially-Aware Self-Supervised Tri-Training for Recommendation
2021/推荐/社交网络
码农的科研笔记
码农的科研笔记
2021/推荐/社交网络
2021/推荐/社交网络
2021/推荐/社交网络
2021, 推荐, 社交网络
原文:https://dl.acm.org/doi/10.1145/3447548.3467340
源码:LeetCode September、https://github.com/Coder-Yu/QRec
讲解:地址一
该论文的国际标准文档编号为 10.1145/3447548.3****.
项目的名称为 LeetCode September,并托管于 GitHub 上。
有关详细信息,请访问此博客文章。
1 动机
默认推荐系统普遍呈现出显著的同质性特征,在这种情况下,
具有相似背景或兴趣的用户往往会倾向于倾向于共享类似的内容,
这表明它们之间存在较强的关联性。
鉴于此,
研究者建议采用社交网络数据来优化用户的个性化信息展示策略,
以提升整体系统的性能表现。
同时,
作者还探讨了当前推荐系统中的自监督学习(SSL)方法,
即通过破坏关键节点或关系连接的数据完整性来强化表现效果,
从而从多维度视角进行优化与改进,
最终能够获得更为精准的知识表示。
2 方法

本文提出的框架是一种基于三者协同训练与自监督学习相结合的社交感知自监督学习框架。针对同一用户而言,在其存在于二部图(user-item网络)和社交网络(user-user网络)的情况下,则本文主要针对该用户的社交网络实施数据增强策略——利用用户的社交关系来进行数据扩充,并依据这一特性将其与二部图进行对齐处理。随后采用三组Encoder分别提取用户的多维度特征,并通过对比学习优化推荐模型;最终使得推荐系统性能得到显著提升。
基于用户的集合U={u1, u2, …, um}(|U|=m),以及基于物品集合I={i1, i2, …, in}(|I|=n),该模型采用两个图结构数据(user-item Gr和user-user的social network Gs)。其中社交关系由二元对称矩阵s∈R{m×m}表示;而社会网络中的关系则通过矩阵s∈R{m×m}来表征。在这个框架下,我们采用两个嵌入空间来分别表征用户的兴趣偏好以及其社交关系网络中的连接情况;具体来说,在这个模型中我们通过学习得到用户的低维嵌入表示P∈R{m×d}以及物品的低维嵌入表示Q∈R{n×d}。
2.1【如何得到增强视图】

由于社会关系的本质存在噪声性,在本文中我们采用普世存在的三元闭合模式来构建可靠的社会化关联。基于此,在本文中我们采用普世存在的三元闭合模式来构建可靠的社会化关联。通过整合图 \mathcal{G}_{\mathrm{r}} 和图 \mathcal{G}_{\mathrm{s}} ,我们可以得到两类基本三角关系。
- 三者之间的社会关系(见下文的变量集合u₁, u₂, 和u₄)表征了个体拓展其社会网络的需求;
- 两组具有相同项目购买历史的社会链接群体间的互动关系(见下文的变量集合u₁, u₂, 和i₁)代表了用户的分享行为偏好。
由此形成的关系可能被视为更为紧密的连接;这种连接的存在通常意味着两人间存在某种程度上的关联性或互动性。基于此,在两人间存在共同朋友或共同利益的情况下,则可能发展出更为亲密的关系。基于上述三角形关系定义,则可进一步获得两个邻接矩阵 A_f\in \mathbb{R}^{m\times m} 和 A_s\in \mathbb{R}^{m\times m};这些邻接矩阵被构建为基于\mathcal{G}_{\mathrm{r}}和\mathcal{G}_{\mathrm{s}}的扩展形式;从而可以从多个视角全面描绘用户的特征。
偏好视图(用户行为模式图),记作R
社交三角关系(基于用户的三元组关系),记作A_f
共享管理模式(基于项目的三元组关系),记作A_s
本文引入了tri-training方法后,则需要一个无标签样本集来实施这一过程。为了实现这一目标,请问您是否希望了解具体的步骤?
2.2【自监督对比学习】
基于强化增强技术和未标注数据集,“按照Tri-Training框架设计并部署三个编码器”。每个编码器均通过encoder模块提取特征向量(其中,在本研究中采用了LightGCN模型作为核心编码工具)。针对上述三种不同的视角\{R, A_s, A_f\}, 我们分别采用了LightGCN架构来建模
H_r编码器运行于偏好视图中,并负责提取与推荐相关的内容以生成用户的表示信息;它是主要的编码器。
H_f和H_s作为辅助模块,在好友视图和分享视图上运行,并仅负责通过图卷积机制对用户的表征进行标记。
同时为了从扰动图\tilde{\mathcal{G}}中提取未标注数据的表征信息,则需要另一个编码器;但该编码器仅通过图卷积机制处理。
基于三个不同的视角进行卷积操作后, 我们可以从每个视角中获得相应的用户表征信息。考虑到各视角能够反映用户偏好信息的不同维度, 在tri-training框架下, 我们需要设计一种机制来整合这些多源信息, 并在此基础上建立统一的表示学习模型。具体而言, 对于任意给定的用户u, 我们希望其在各视角下的表示能够达到某种一致性要求, 即不同视角生成的表示应尽可能接近, 这一过程可以通过比较学习的方法来进行优化。为了实现这一目标, 我们首先从每个视角中提取出用户的嵌入向量z_us,z_uf,z_u^r等特征参数; 然后通过余弦相似度计算方法建立跨视图的一致性约束; 最后利用这一约束条件对用户的全局表示进行优化学习
获取一个用户 u 的正样本相对容易,在该研究中作者通过两个不同的视角引入人工噪声生成新的表征形式,并成功扩展了用户的潜在特征维度空间。这种操作能够增强模型对噪声数据和异常数据的鲁棒性表现。
2.3【loss】
loss包括两个部分:推荐和基于邻居辨别的对比学习。\mathcal{L}_{r}为BPR成对损失函数(是基础任务,仅仅用到了交互网络方面的视图信息)。\mathcal{L}_{ssl}为对比损失infoNCE。
\begin{aligned} \mathcal{L} & =\mathcal{L}_{r}+\beta \mathcal{L}_{s s l}, \\ \mathcal{L}_{r} & =\sum_{i \in I(u), j \notin I(u)}-\log \sigma\left(\hat{r}_{u i}-\hat{r}_{u j}\right)+\lambda\|E\|_{2}^{2} \\ \mathcal{L}_{s s l} & =-\mathbb{E} \sum_{v \in\{r, s, f\}}\left[\log \frac{\sum_{p \in \mathcal{P}_{u+}^{v}} \psi\left(z_{u}^{v}, \tilde{z}_{p}\right)}{\sum_{p \in \mathcal{P}_{u+}^{u}} \psi\left(z_{u}^{v}, \tilde{z}_{p}\right)+\sum_{j \in U / \mathcal{P}_{u+}^{v}} \psi\left(z_{u}^{v}, \tilde{z}_{j}\right)}\right] \end{aligned}
3 扩展
3.1【co-training】
该方法(co-training)作为机器学习领域的重要技术之一,在半监督环境下展现出显著的优势。其典型性体现在其对多视图数据的学习能力上。例如,在电影领域中,“视觉特征、“音频特征以及"字幕信息等三类关键属性集合被整合分析。“每个特定属性集合对应于一个独立的学习视角或数据来源。“当基于视觉特征识别为动作影片时,在基于音频特征识别时也会呈现相似结果。“详细阐述了协同训练的具体实现机制和应用案例。
- 对于每一个视图来说,在其基础上利用有标签数据独立地构建一个分类器。
- 各个分类器根据自身掌握程度筛选出未标注数据,并为其分配初步标签。
- 剩余的分类器通过这些初步标签继续优化模型参数,并通过相互促进最终完成整个学习过程。
3.2【tri-training】
Tri-training是一种多元模型协同训练方案,在优化机器学习模型整体性能方面具有显著作用。该方案通过同时训练三个独立且相互补充的模型,在提升各子任务表现的同时有效降低数据集噪声和分类错误的概率。
Tri-training算法的主要步骤如下:
初始化阶段:建立三个独立的分类器模型(多为相同类型的),随后对原始训练数据集进行初始水平上的预测评估。
通过分析三个模型的结果,在其中两个模型出现误判的情况下,则将其对应的数据实例标记为"不确定"状态。
为了提升学习效率,在识别到"不确定"状态的数据后,则将其补充到训练集中,并重新构建或更新这三个分类器模型。
反复执行上述第二步至第三步的操作序列,直至所有分类器的准确率稳定为止。
Tri-training算法在处理训练集中标注样本较少的情况下表现出优异的效果,在利用自身预测结果生成补充标注样本的过程中展现了显著的优势;此外,在进行多标签样本预测任务时具有较高的适用性,并且其在处理大规模数据集时展现出较低的计算开销。
为了解决猫与狗图像识别问题的训练需求,在本研究中基于一个原始训练数据集构建了包含1000张图像的数据集。这些图像被分别标记为'cat'和'dog'类别,并用于训练三个独立的卷积神经网络分类器模型以实现Tri-training算法的应用。每个分类器将分别学习并准确识别测试数据中的所有图像类别,并通过计算准确率指标评估其性能表现。
首先,在这一轮操作中,我们将三个待测分类器依次作用于原始数据集进行测试,并将其中两个分类器误判的样本归类为"不确定"状态。随后,在后续迭代过程中,在"不确定"类别上的样本会被纳入新的训练集合中,并通过重新优化三个核心模型以期达到更好的识别效果。
第二轮:重复上述步骤,直到模型的准确性不再提高为止。
这是一个基于Tri-training算法的基本示例;通过采用多个独立的分类器方案,在数据集中降低了误判率并提升了模型准确度。希望这个实例能为您提供参考。
Tri-training represents a semi-supervised learning approach, with a central prerequisite being the availability of an unlabeled dataset. This means that within this unlabeled dataset, all samples lack explicit class labels, necessitating the use of machine learning models to infer their categories. Within the framework of Tri-training, such an unlabeled dataset is employed to integrate predictions from three distinct classifiers through ensemble learning. By aggregating these three classifiers' prediction results as a foundation, each sample's category can be assigned a label, thereby creating a new annotated dataset. This newly created annotated dataset can then be utilized to enhance the performance metrics of each classifier, ultimately improving overall classification effectiveness.
4 总结
本文结合Tri-training实现对比学习是一个特点。
