热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

图对比学习GMIcodestudy

talk将对近年来的SSL-GNN做出一个整体分析,基于作者的开源代码1.GMIGMI的损失不像DGI下降的那么快,结果也一般。同时缺点很明显&#




talk

将对近年来的SSL-GNN做出一个 整体分析,基于作者的开源代码


1. GMI

GMI的损失不像DGI下降的那么快,结果也一般。 同时缺点很明显:GPU增加,时间变慢,epoch增加,精度没增加,这里双重DGI损失,没有采用 双判别器,采用 负采样+soft_plus
在这里插入图片描述


1.1 Cora dataset

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


1.2 Citeseer

在这里插入图片描述
在这里插入图片描述


1.3 Pubmed — dim=512, GPU OOM

在这里插入图片描述


— dim =256, 才可以运行, 但gpu 需要 18G,很大了。 重构邻接矩阵所导致的问题

在这里插入图片描述
训练时间很长,epoch还是很大,结果也不尽人意
在这里插入图片描述
在这里插入图片描述
这里我额外做了两个实验,分别 对文章 所提出的额外的两个损失进行了消融,
首先 不考虑重构
在这里插入图片描述
GPU减小
在这里插入图片描述
其次,再次不考虑 h 和 其邻居(本文最大创新),这样就变成了和DGI损失类似,GPU当256时候在11G之下,和DGI作者当时在paper中报导的类似。 但是收敛特别慢,结果也很差。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


突然发现 原论文的 code 对于citeseer和pubmed要求是一层!!! 修改后

Pubmed 的GPU -usage还是很大。 那就看效果吧。。。
在这里插入图片描述
还是一样~,没有达到论文acc
在这里插入图片描述


Notes:

原论文里面 声称自己 citeseer 和 pubmed 的 维度都是 512, 且作者只是在 reddit 和 ppi 时候 采用了 graphsage进行 采样。且 GPU 是Tesla P40— 24G。 这篇方法 无疑是 有问题的, 后续的很多文章 都是在 computers等amazon的数据集上都是OOM,也有见过pubmed 报OOM。

在这里插入图片描述
自己方法本来就有问题,还要踩一脚DGI,况且DGI 只是改变encoder 并不是什么复杂的事,GMI根本无法扩展。像这么胆大的 作者简直了, 还有勇气开源,,lol,,, 不知道 是不是自己之前的code有什么tricks,但开源的确实有很大问题, 貌似 西交这个 作者 把这个扩展成了期刊。 如果有人可以复现~ 还请告知 , 谢谢~


2. Only spotlights in code

代码大都是和DGI一样的,但是计算损失不一样,并且采用了负采样(实际上不是 我开始想象的那样 采用5个负样本,而是 5次 shuffle 进行平均, 损失 不是采用 交叉熵,而是 DIM 的变分 sp_plus)~~


采样: 实际上这个负采样 就是 dgi里面的 shuffle if条件使得 所有 节点都必须改变位置

这里 根据 sample_times 进行采样, 代码里面和原文 保持一致,采样5个负样本,不对,这里是 通过随机randint 产生的samole_list是 包含五组,通过下标(randnum)。每一组都是 2708个index。 这里和dgi的方式本质是一致的,同时通过判断,确认 打乱的数组 节点下标一定和之前不一样。(比dgi通过 np.random.permutation 打乱后 有可能 当前节点index还是一样)
在这里插入图片描述
这里计算损失确实 和原文一致,采用了JS散度计算,目标函数和DIM中的JS损失 的一样
在这里插入图片描述
感兴趣的同学 可以去看 DIM 的原文,很经典的 互信息无监督 cv表征学习的文章, 其中有太多 散度等知识,之前看过,每次都是晕晕的 DIM 分析

在这里插入图片描述
代码中的 这个 mi_loss_jsd 就是计算出 js的MI, 由于 要最大化 因此 目标函数 = -1* 论文中的11(MI) ,因此 这里code是 两项相加
这里负样本得分传进来是 5组 两次 mean 求得最终损失
DIM 损失 JSD-MI 计算
在这里插入图片描述
输入是 正样本对 的得分 + 负样本对 的得分 res_mi_pos+res_mi_neg 计算节点h和s res_local_pos+res_local_neg 计算 节点h和原始x
在这里插入图片描述
判别器修改:
h_c h_pl 是正样本对 12708256 127081433. sc_1是正样本对得分 这里 从 h_pl(节点中)中通过下标选出 一组 负样本 h_mi 127081433, 再次计算 负样本和 正样本的得分。返回的 sc_1 正样本。 sc_2是一个包含5个 得分的 随机采样负样本和正样本的得分,相当于是把 dgi 的 负样本得分 计算了五次,这样肯定会增大时间
在这里插入图片描述







推荐阅读
  • 交互式左右滑动导航菜单设计
    本文介绍了一种使用HTML和JavaScript实现的左右可点击滑动导航菜单的方法,适用于需要展示多个链接或项目的网页布局。 ... [详细]
  • Chapter11&12:DefocusBlur&FinalScene在Camera.h中修改如下:#pragmaonce#define_USE ... [详细]
  • YB02 防水车载GPS追踪器
    YB02防水车载GPS追踪器由Yuebiz科技有限公司设计生产,适用于车辆防盗、车队管理和实时追踪等多种场合。 ... [详细]
  • MySQL锁机制详解
    本文深入探讨了MySQL中的锁机制,包括表级锁、行级锁以及元数据锁,通过实例详细解释了各种锁的工作原理及其应用场景。同时,文章还介绍了如何通过锁来优化数据库性能,避免常见的并发问题。 ... [详细]
  • 本文详细介绍了ActivityManagerService (AMS) 的工作原理及其在Android系统中的重要角色。AMS作为system_server进程的一部分,在系统启动时加载,负责管理和协调应用程序中的Activity和服务(Service)。文章将通过具体的接口图和通信流程,帮助读者更好地理解AMS的工作机制。 ... [详细]
  • EasyMock实战指南
    本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ... [详细]
  • LambdaMART算法详解
    本文详细介绍了LambdaMART算法的背景、原理及其在信息检索中的应用。首先回顾了LambdaMART的发展历程,包括其前身RankNet和LambdaRank,然后深入探讨了LambdaMART如何结合梯度提升决策树(GBDT)和LambdaRank来优化排序问题。 ... [详细]
  • 三星Galaxy S8/S8+即将登场,全面解析新旗舰
    3月29日晚11点,备受瞩目的三星Galaxy S8/S8+将正式发布。作为三星在Note 7爆炸事件后的重磅产品,S8/S8+不仅承载着恢复消费者信心的重任,其创新的设计和技术也备受期待。 ... [详细]
  • 本文介绍了一种利用WMI类Win32_SystemEnclosure中的ChassisTypes属性来识别计算机类型的简单方法,并提供了详细的脚本示例。 ... [详细]
  • 新手指南:在Windows 10上搭建深度学习与PyTorch开发环境
    本文详细记录了一名新手在Windows 10操作系统上搭建深度学习环境的过程,包括安装必要的软件和配置环境变量等步骤,旨在帮助同样初入该领域的读者避免常见的错误。 ... [详细]
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • 随着技术的发展,黑客开始利用AI技术在暗网中创建用户的‘数字孪生’,这一现象引起了安全专家的高度关注。 ... [详细]
  • 浪潮AI服务器NF5488A5在MLPerf基准测试中刷新多项纪录
    近日,国际权威AI基准测试平台MLPerf发布了最新的推理测试结果,浪潮AI服务器NF5488A5在此次测试中创造了18项性能纪录,显著提升了数据中心AI推理性能。 ... [详细]
  • 混合云架构在本地与云服务间寻求平衡的有效性探讨
    随着云计算技术的发展,混合多云架构因其灵活性和高效性而备受关注。本文将深入探讨混合多云(简称混合云)如何通过结合本地基础设施与云端资源,为企业提供一个更为平衡且高效的IT解决方案。 ... [详细]
  • 本文介绍如何配置三台名为node01、node02和node03的虚拟机,以实现它们之间通过SSH进行无密码登录的过程。包括密钥对的生成、公钥的分发以及最终的登录测试。 ... [详细]
author-avatar
手机用户2602921303_852
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有