做网站前台和后台是什么,企业建站都有什么网站,个人建什么网站最赚钱,网页小游戏排行榜论文《Contrastive Meta Learning with Behavior Multiplicity for Recommendation》阅读 论文概况论文主要贡献Background Motivation方法论单行为图神经网络#xff08;Behavior-aware GNN#xff09;多行为对比学习元对比编码模型训练 实验部分论文总结 论文概况
今… 论文《Contrastive Meta Learning with Behavior Multiplicity for Recommendation》阅读 论文概况论文主要贡献Background Motivation方法论单行为图神经网络Behavior-aware GNN多行为对比学习元对比编码模型训练 实验部分论文总结 论文概况
今天带来的是发表在WSDM 2022上关于多行为推荐的对比元学习论文《Contrastive Meta Learning with Behavior Multiplicity for Recommendation》提出模型CML。论文由香港大学韦玮等人完成。 论文地址Paper 代码地址Code
论文主要贡献
本文的主要贡献是提出了一个多行为推荐Multi-Behavior Recommendation框架CML Contrastive Meta Learning主要通过元学习Meta Learning结合对比学习Contrastive Learning完成主要创新在于对比学习与元学习框架的结合。
Background Motivation
论文的intro部分主要介绍了多行为推荐的必要性即能够完成多行为之间的关联的学习。
之后引出主要问题即多行为推荐中目标行为target behavior比较稀疏由此引出自监督学习的必要性。
自监督学习解决多行为推荐的作品之前应该就已经有解决本文的主要创新在于meta learning但是intro部分并没有给出meta框架的必要性
方法论 如上框架图所示模型CML主要由图神经网络和多行为对比学习框架结合完成并通过元学习进行模型参数的学习。
单行为图神经网络Behavior-aware GNN e u k , ( l 1 ) ∑ i ∈ N u k e i k , ( l ) (1) \mathbf{e}_{u}^{k,(l1)}\sum_{i \in \mathcal{N}_{u}^{k}} \mathbf{e}_{i}^{k,(l)} \tag{1} euk,(l1)i∈Nuk∑eik,(l)(1) e i k , ( l 1 ) ∑ u ∈ N i k e u k , ( l ) (2) \mathbf{e}_{i}^{k,(l1)}\sum_{u \in \mathcal{N}_{i}^{k}} \mathbf{e}_{u}^{k,(l)} \tag{2} eik,(l1)u∈Nik∑euk,(l)(2)
其中 k ∈ { 1 , 2 , ⋯ , K } k \in \{1, 2, \cdots, K\} k∈{1,2,⋯,K}用于标记行为编号 l ∈ { 1 , 2 , ⋯ , L } l \in \{1,2,\cdots, L\} l∈{1,2,⋯,L}用于标记层深 u ∈ U u\in \mathcal{U} u∈U 及 i ∈ I i \in \mathcal{I} i∈I 分别表示任意用户及物品。图神经网络采用LightGCN的轻量化聚合方案。
多行为聚合采用一个均值池化外加单层MLP完成激活函数使用 P R e L U ( ⋅ ) PReLU(\cdot) PReLU(⋅)函数完成如下所示 e u PReLu ( W L ⋅ ∑ k ∈ K e u k , ( L 1 ) K ) (3) \mathbf{e}_{u} \operatorname{PReLu}\left(\mathbf{W}^{L} \cdot \frac{\sum_{k \in K} \mathbf{e}_{u}^{k,(L1)}}{K}\right) \tag{3} euPReLu(WL⋅K∑k∈Keuk,(L1))(3)
这里对公式3进行了小修改原文应该是表述有点问题作者应该是使用多层GNN最后一层的embedding进行最终表示并且后文并没有交代这里先这样表示并与后文中符号 e u \mathbf{e}_{u} eu保持一致。
多行为对比学习
作者使用InfoNCE来突出对比对象即同一用户的多个行为进行靠近positive views不同用户进行疏远negative views如下所示 L c l k , k ′ ∑ u ∈ U − log exp ( φ ( e u k , e u k ′ ) / τ ) ∑ u ′ ∈ U exp ( φ ( e u k , e u ′ k ′ ) / τ ) (4) \mathcal{L}_{c l}^{k, k^{\prime}}\sum_{u \in \mathcal{U}}-\log \frac{\exp \left(\varphi\left(\mathbf{e}_{u}^{k}, \mathbf{e}_{u}^{k^{\prime}}\right) / \tau\right)}{\sum_{u^{\prime} \in \mathcal{U}} \exp \left(\varphi\left(\mathbf{e}_{u}^{k}, \mathbf{e}_{u^{\prime}}^{k^{\prime}}\right) / \tau\right)} \tag{4} Lclk,k′u∈U∑−log∑u′∈Uexp(φ(euk,eu′k′)/τ)exp(φ(euk,euk′)/τ)(4)
私以为这里的下标 u ∈ U u \in \mathcal{U} u∈U 换成 v ∈ U ∪ I v \in \mathcal{U} \cup \mathcal{I} v∈U∪I 更为合适。公式4中 φ ( ⋅ ) \varphi\left( \cdot \right) φ(⋅) 是判别函数但是文中并没有进行进一步说明如何实现是cosine还是内积还是什么。 τ \tau τ 是温度系数文中也没有进行说明赋值到底多少。
针对目标行为标号 k k k及辅助行为标号 k ′ ∈ { 1 , 2 , ⋯ , K } k^{\prime} \in \{1, 2, \cdots, K\} k′∈{1,2,⋯,K}共形成 K K K 对 对比学习目标损失项合在一起构成总的对比学习损失项 L c l L c l k , 1 … L c l k , k ′ … L c l k , K (5) \mathcal{L}_{c l}\mathcal{L}_{c l}^{k, 1}\ldots\mathcal{L}_{c l}^{k, k^{\prime}}\ldots\mathcal{L}_{c l}^{k, K} \tag{5} LclLclk,1…Lclk,k′…Lclk,K(5)
元对比编码 Z u , 1 k , k ′ ( d ( L c l k , k ′ ) ⋅ γ ) ∥ e u k ′ ∥ e u (6) \mathbf{Z}_{u, 1}^{k, k^{\prime}}\left(d\left(\mathcal{L}_{c l}^{k, k^{\prime}}\right) \cdot \gamma\right)\left\|\mathbf{e}_{u}^{k^{\prime}}\right\| \mathbf{e}_{u} \tag{6} Zu,1k,k′(d(Lclk,k′)⋅γ) euk′ eu(6) Z u , 2 k , k ′ L c l k , k ′ ⋅ ( e u k ′ ∥ e u ) (7) \mathbf{Z}_{u, 2}^{k, k^{\prime}}\mathcal{L}_{c l}^{k, k^{\prime}} \cdot\left(\mathbf{e}_{u}^{k^{\prime}} \| \mathbf{e}_{u}\right) \tag{7} Zu,2k,k′Lclk,k′⋅(euk′∥eu)(7) 文中选择了两种encoder一种直接进行乘法公式7一种进行了编码、放大和连接公式6。编码函数 d ( ⋅ ) d\left( \cdot \right) d(⋅)文中成为复制函数这里还不甚了解后续这一部分将进行扩充同时需要指出的是作者并没有对函数 d ( ⋅ ) d(\cdot) d(⋅) 进行说明。 ξ ( Z u k , k ′ ) PReLU ( Z u k , k ′ ⋅ W ξ b ξ ) (8) \xi\left(\mathbf{Z}_{u}^{k, k^{\prime}}\right)\operatorname{PReLU}\left(\mathbf{Z}_{u}^{k, k^{\prime}} \cdot \mathbf{W}_{\xi}\mathbf{b}_{\xi}\right) \tag{8} ξ(Zuk,k′)PReLU(Zuk,k′⋅Wξbξ)(8) ω u k , k ′ ω u , 1 k , k ′ ω u , 2 k , k ′ ξ ( Z u , 1 k , k ′ ) ξ ( Z u , 2 k , k ′ ) (9) \omega_{u}^{k, k^{\prime}}\omega_{u, 1}^{k, k^{\prime}}\omega_{u, 2}^{k, k^{\prime}}\xi\left(\mathbf{Z}_{u, 1}^{k, k^{\prime}}\right)\xi\left(\mathbf{Z}_{u, 2}^{k, k^{\prime}}\right) \tag{9} ωuk,k′ωu,1k,k′ωu,2k,k′ξ(Zu,1k,k′)ξ(Zu,2k,k′)(9) 同样使用单层MLP完成这里的目的是将 Z u , ⋅ k , k ′ \mathbf{Z}_{u, \cdot}^{k, k^{\prime}} Zu,⋅k,k′变成标量并融入到对比学习的各项loss中。
这里需要指出的是文中对这里的解释是有问题的一方面 PReLU ( ⋅ ) \operatorname{PReLU}\left( \cdot \right) PReLU(⋅) 输出的是向量不是标量与公式9相矛盾另一方面文中给出的维度也有问题 W ξ ∈ R d × d and b ξ ∈ R d \mathbf{W}_{\xi} \in \mathbb{R}^{d \times d} \text { and } \mathbf{b}_{\xi} \in \mathbb{R}^{d} Wξ∈Rd×d and bξ∈Rd 这里很明显是有问题的两种encoder向量维度不同。
模型训练 L B P R k ∑ ( u , i , i − ) ∈ O k − In ( sigmoid ( x ^ u , i k − x ^ u , i − k ) ) λ ∥ Θ ∥ 2 (10) \mathcal{L}_{B P R}^{k}\sum_{\left(u, i^{}, i^{-}\right) \in O_{k}}-\operatorname{In}\left(\operatorname{sigmoid}\left(\hat{x}_{u, i^{}}^{k}-\hat{x}_{u, i^{-}}^{k}\right)\right)\lambda\|\Theta\|^{2} \tag{10} LBPRk(u,i,i−)∈Ok∑−In(sigmoid(x^u,ik−x^u,i−k))λ∥Θ∥2(10) L B P R k \mathcal{L}_{B P R}^{k} LBPRk表示目标行为 k k k 的BPR损失。
这个模型使用元学习框架进行参数更新目前我对元学习部分的了解不是太深入后续再进行补充。更新分为三步1. 先优化图神经网络参数 Θ G \varTheta_{\mathcal{G}} ΘG2. 根据优化过的 Θ G \varTheta_{\mathcal{G}} ΘG 对对比学习参数 Θ M \varTheta_{M} ΘM 进行优化3. 根据优化完成的 Θ M \varTheta_{M} ΘM 进一步优化参数 Θ G \varTheta_{\mathcal{G}} ΘG。如下图所示。 元学习的宗旨就是学会学习learn to learn其大致思想是通过对数据集进行分割分别完成对目标模型和目标模型的设置的学习。结合到本文的模型即为分别学习模型的参数以及模型关键参数的设置即 ω u k , k ′ \omega_{u}^{k, k^{\prime}} ωuk,k′。这里可能有理解不到位或者错误的地方欢迎评论区指出。
最终模型的损失函数可以定义为 Θ G ∗ arg min θ ≜ ∑ k 1 K ∑ b 1 B ( M ( ( L c l , k trainumeta , E , E k ) ; Θ M ) ⋅ L c l , k train M ( ( L bpr , k train ∪ meta , E , E k ) ; Θ M ) ⋅ L b p r , k train ) (11) \begin{aligned} \Theta_{\mathcal{G}}^{*} \underset{\theta}{\arg \min } \triangleq \sum_{k1}^{K} \sum_{b1}^{B}\left(\mathcal{M}\left(\left(\mathcal{L}_{c l, k}^{\text {trainumeta }}, \mathbf{E}, \mathbf{E}^{k}\right) ; \Theta_{\mathcal{M}}\right) \cdot \mathcal{L}_{c l, k}^{\text {train }} \right. \\ \left. \mathcal{M}\left(\left(\mathcal{L}_{\text {bpr }, k}^{\text {train } \cup \text { meta }}, \mathbf{E}, \mathbf{E}^{k}\right) ; \Theta_{\mathcal{M}}\right) \cdot \mathcal{L}_{b p r, k}^{\text {train }}\right) \end{aligned} \tag{11} ΘG∗θargmin≜k1∑Kb1∑B(M((Lcl,ktrainumeta ,E,Ek);ΘM)⋅Lcl,ktrain M((Lbpr ,ktrain ∪ meta ,E,Ek);ΘM)⋅Lbpr,ktrain )(11) 结合到本例中即为先进行模型的训练再进行meta参数的学习。
实验部分
这里其余内容不再过多赘述主要讲一下可视化部分可视化部分b中作者在上面显示了消融实验去掉对比学习部分的模型CML w/o CLF和总模型CML分别展示在第一行和第二行中。为什么我看到的结果是CML w/o CLF要好于CML这里着实不懂。 论文总结
本文提出了一种元对比学习框架CML完成了多行为推荐任务。本文使用元学习结合对比学习是比较创新的但文中也确实出现了一部分符号表示混乱intro和related work不够全面等问题。另外在参数设置部分论文没有对参数进行具体说明给复现带来了困难具体来说诸如 φ ( ⋅ , ⋅ ) \varphi(\cdot, \cdot) φ(⋅,⋅), τ \tau τ, d ( ⋅ ) d(\cdot) d(⋅), γ \gamma γ的参数设置值都没有进行说明。除此以外的其他部分完成得相当不错。欢迎大家在评论区进行批评指教。 文章转载自: http://www.morning.hqpyt.cn.gov.cn.hqpyt.cn http://www.morning.ympcj.cn.gov.cn.ympcj.cn http://www.morning.ttvtv.cn.gov.cn.ttvtv.cn http://www.morning.yslfn.cn.gov.cn.yslfn.cn http://www.morning.kwxr.cn.gov.cn.kwxr.cn http://www.morning.jntcr.cn.gov.cn.jntcr.cn http://www.morning.sfwd.cn.gov.cn.sfwd.cn http://www.morning.dbfwq.cn.gov.cn.dbfwq.cn http://www.morning.wzdjl.cn.gov.cn.wzdjl.cn http://www.morning.fqtdz.cn.gov.cn.fqtdz.cn http://www.morning.xgmf.cn.gov.cn.xgmf.cn http://www.morning.qtqjx.cn.gov.cn.qtqjx.cn http://www.morning.gpcy.cn.gov.cn.gpcy.cn http://www.morning.rglp.cn.gov.cn.rglp.cn http://www.morning.wqtzs.cn.gov.cn.wqtzs.cn http://www.morning.lzqdl.cn.gov.cn.lzqdl.cn http://www.morning.tkryt.cn.gov.cn.tkryt.cn http://www.morning.fy974.cn.gov.cn.fy974.cn http://www.morning.hytqt.cn.gov.cn.hytqt.cn http://www.morning.dqxph.cn.gov.cn.dqxph.cn http://www.morning.rfzbm.cn.gov.cn.rfzbm.cn http://www.morning.wmdqc.com.gov.cn.wmdqc.com http://www.morning.dqbpf.cn.gov.cn.dqbpf.cn http://www.morning.bgxgq.cn.gov.cn.bgxgq.cn http://www.morning.wtsr.cn.gov.cn.wtsr.cn http://www.morning.fpxms.cn.gov.cn.fpxms.cn http://www.morning.fdmfn.cn.gov.cn.fdmfn.cn http://www.morning.jlxqx.cn.gov.cn.jlxqx.cn http://www.morning.wglhz.cn.gov.cn.wglhz.cn http://www.morning.pzjfz.cn.gov.cn.pzjfz.cn http://www.morning.bwjws.cn.gov.cn.bwjws.cn http://www.morning.hpjpy.cn.gov.cn.hpjpy.cn http://www.morning.tqlhn.cn.gov.cn.tqlhn.cn http://www.morning.bdfph.cn.gov.cn.bdfph.cn http://www.morning.rtqyy.cn.gov.cn.rtqyy.cn http://www.morning.dkqr.cn.gov.cn.dkqr.cn http://www.morning.kcnjz.cn.gov.cn.kcnjz.cn http://www.morning.rcklc.cn.gov.cn.rcklc.cn http://www.morning.srgwr.cn.gov.cn.srgwr.cn http://www.morning.tldfp.cn.gov.cn.tldfp.cn http://www.morning.qwmpn.cn.gov.cn.qwmpn.cn http://www.morning.ryrpq.cn.gov.cn.ryrpq.cn http://www.morning.dfqmy.cn.gov.cn.dfqmy.cn http://www.morning.txtzr.cn.gov.cn.txtzr.cn http://www.morning.dpzcc.cn.gov.cn.dpzcc.cn http://www.morning.ryxbz.cn.gov.cn.ryxbz.cn http://www.morning.xnnxp.cn.gov.cn.xnnxp.cn http://www.morning.mhcys.cn.gov.cn.mhcys.cn http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn http://www.morning.gywfp.cn.gov.cn.gywfp.cn http://www.morning.pzcjq.cn.gov.cn.pzcjq.cn http://www.morning.klzt.cn.gov.cn.klzt.cn http://www.morning.lhxdq.cn.gov.cn.lhxdq.cn http://www.morning.lbrwm.cn.gov.cn.lbrwm.cn http://www.morning.xlwpz.cn.gov.cn.xlwpz.cn http://www.morning.kdnrc.cn.gov.cn.kdnrc.cn http://www.morning.dfojgo.cn.gov.cn.dfojgo.cn http://www.morning.xkzmz.cn.gov.cn.xkzmz.cn http://www.morning.mwhqd.cn.gov.cn.mwhqd.cn http://www.morning.kmkpm.cn.gov.cn.kmkpm.cn http://www.morning.pnfwd.cn.gov.cn.pnfwd.cn http://www.morning.hdnd.cn.gov.cn.hdnd.cn http://www.morning.qbfwb.cn.gov.cn.qbfwb.cn http://www.morning.wqfzx.cn.gov.cn.wqfzx.cn http://www.morning.yqsr.cn.gov.cn.yqsr.cn http://www.morning.yubkwd.cn.gov.cn.yubkwd.cn http://www.morning.ntkpc.cn.gov.cn.ntkpc.cn http://www.morning.rfrx.cn.gov.cn.rfrx.cn http://www.morning.fcqlt.cn.gov.cn.fcqlt.cn http://www.morning.wqbhx.cn.gov.cn.wqbhx.cn http://www.morning.frqtc.cn.gov.cn.frqtc.cn http://www.morning.kghhl.cn.gov.cn.kghhl.cn http://www.morning.yrpg.cn.gov.cn.yrpg.cn http://www.morning.jspnx.cn.gov.cn.jspnx.cn http://www.morning.xqkcs.cn.gov.cn.xqkcs.cn http://www.morning.tnhqr.cn.gov.cn.tnhqr.cn http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn http://www.morning.txlnd.cn.gov.cn.txlnd.cn http://www.morning.dppfh.cn.gov.cn.dppfh.cn http://www.morning.zlnmm.cn.gov.cn.zlnmm.cn