首页 > 其他分享 >Unifying Graph Convolution and Contrastive Learning in Collaborative Filtering

Unifying Graph Convolution and Contrastive Learning in Collaborative Filtering

时间:2024-10-13 21:02:31浏览次数:1  
标签:Filtering mathbf Convolution Collaborative bm sum frac exp mathcal

目录

Wu Y., Zhang L., Mo F., Zhu T., Ma W. and Nie J. Unifying graph convolution and contrastive learning in collaborative filtering. KDD, 2024.

本文将推荐系统中的好用的对比学习和图卷积联系在一起, 证明了它们间的一种等价性.

主要内容

  • 一般的对比损失为:

    \[\begin{array}{ll} l &= -\frac{1}{|\mathcal{D}|} \sum_{(u, i) \in \mathcal{D}} \log \frac{ \exp(\bm{e}_u^T \bm{e}_i) }{ \sum_{(x, y) \in \mathcal{D}_U \times \mathcal{D}_I} \exp(\bm{e}_x^T \bm{e}_y) } \\ &= -\frac{1}{|\mathcal{D}|} \sum_{(u, i) \in \mathcal{D}} \log \frac{ \exp(\bm{e}_u^T \bm{e}_i) }{ \sum_{(x, y) \in U \times I} d_x d_y \exp(\bm{e}_x^T \bm{e}_y) }, \end{array} \]

    其中 \(\bm{e}_u, \bm{e}_i\) 为 user/item 的 embedding, \(d_x, d_y\) 分别为节点 \(x, y\) 在数据集中出现的次数. 注意, 与一般对比损失不同, 这里将所有观测数据放在了分母, 一般只放一个 batch 的.

  • 在这种情况下, 可以证明, Embedding \(\mathbf{E}\) 在一般的梯度下降的更新方式下的迭代公式为:

    \[\mathbf{E}(t + 1) = \big( \mathbf{I} + \gamma \mathbf{A}'' (t) \big) \mathbf{E} (t). \]

    其中 \(\gamma > 0\) 为学习率,

    \[\mathbf{A}''(t) = \mathbf{A} / |\mathcal{D}| - \mathbf{A}' (t), \\ \mathbf{A}_{ij}'(t) =\frac{ d_i d_j \exp(\bm{e}_i^T (t) \bm{e}_j (t)) }{ \sum_{(x, y) \in \mathcal{U} \times \mathcal{I}} d_i d_j \exp(\bm{e}_x^T (t) \bm{e}_y (t)) }, \]

    \(\mathbf{A}\) 为邻接矩阵.

  • 换言之, \(\mathbf{E}\) 在按照一种图卷积的形式进行更新.

代码

[official-code]

标签:Filtering,mathbf,Convolution,Collaborative,bm,sum,frac,exp,mathcal
From: https://www.cnblogs.com/MTandHJ/p/18462949

相关文章

  • CS 259 Accelerating Convolutional Neural Network
    Fall2024CS259Lab1AcceleratingConvolutionalNeuralNetwork(CNN)onFPGAsusingMerlinCompilerDueOctober911:59pmDescriptionYourtaskistoacceleratethecomputationoftwolayersinaconvolutionalneuralnetwork(CNN)usingahigh-levelsynt......
  • 'Note' - 'SIGMOD24' - SeRF - Segment Graph for Range-Filtering (RF) Approximate
    Abstract:就是ANNS加了一个范围查询(每个点多个属性,每次查询一个区间),为啥不是线段树来着。他说《SegmentGraph(查前缀\(O(n)\))》《2DSegmentGraph(查区间构建\(O(n\logn)\))》2.Preliminary有太多ANNs负责优化找到的正确率??2.1问题定义\(I_A\)属性区间\(\mathcal......
  • 【深度学习基础模型】卷积神经网络(Convolutional Neural Networks, CNN)详细理解并附实
    【深度学习基础模型】卷积神经网络(ConvolutionalNeuralNetworks,CNN)详细理解并附实现代码。【深度学习基础模型】卷积神经网络(ConvolutionalNeuralNetworks,CNN)详细理解并附实现代码。文章目录【深度学习基础模型】卷积神经网络(ConvolutionalNeuralNetworks,......
  • 吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)2.5-2.
    目录第四门课卷积神经网络(ConvolutionalNeuralNetworks)第二周深度卷积网络:实例探究(Deepconvolutionalmodels:casestudies)2.5网络中的网络以及1×1卷积(NetworkinNetworkand1×1convolutions)2.6谷歌Inception网络简介(Inceptionnetworkmotivation)......
  • 什么是启发式过滤(Heuristic Filtering)?
    定义启发式过滤是一种技术方法,利用解决问题的技术和算法来识别数据中的模式、趋势或特征。这种方法通常涉及使用预测分析和近似方法,以便快速做出决策或对信息进行分类。启发式过滤通常应用于反垃圾邮件软件、防病毒程序和人工智能等领域,以有效检测垃圾邮件、恶意软件或......
  • 神经网络之卷积篇:详解为什么使用卷积?(Why convolutions?)
    详解为什么使用卷积?来分析一下卷积在神经网络中如此受用的原因,然后对如何整合这些卷积,如何通过一个标注过的训练集训练卷积神经网络做个简单概括。和只用全连接层相比,卷积层的两个主要优势在于参数共享和稀疏连接,举例说明一下。假设有一张32×32×3维度的图片,假设用了6个大小为......
  • 日新月异 PyTorch - pytorch 基础: 通过卷积神经网络(Convolutional Neural Networks,
    源码https://github.com/webabcd/PytorchDemo作者webabcd日新月异PyTorch-pytorch基础:通过卷积神经网络(ConvolutionalNeuralNetworks,CNN)做图片分类-通过ResNet50做图片分类的学习(对cifar10数据集做训练和测试),保存训练后的模型,加载训练后的模型并评估指定的......
  • 论文阅读:Unsupervised Representation Learning with Deep Convolutional Generative
    Abstract背景:希望能缩小CNN在监督学习和无监督学习之间成功应用的差距。贡献:引入了一类称为深度卷积生成对抗网络(DCGAN)的CNN。结果:DCGAN在生成器和判别器中都能从对象到场景学习表示层次结构。1.Introduction贡献:提出DCGAN用于图像分类任务,展示其性能对滤波器......
  • What is Convolutional Neural Network(CNN)?
    笔记核心部分摘抄以及自己的理解[附有样例,可以轻松理解]:卷积网络的卷积层中使用了卷积操作,这个操作可以捕捉到图像中的局部特征而不受其位置的影响。在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除。池化层通过减......
  • 神经网络之卷积篇:详解卷积神经网络示例(Convolutional neural network example)
    详解卷积神经网络示例假设,有一张大小为32×32×3的输入图片,这是一张RGB模式的图片,想做手写体数字识别。32×32×3的RGB图片中含有某个数字,比如7,想识别它是从0-9这10个数字中的哪一个,构建一个神经网络来实现这个功能。用的这个网络模型和经典网络LeNet-5非常相似,灵感也来源于此......