©PaperWeekly 原创 · 作者|汪佳龙

学校|澳门大学博士生

研究方向|图神经网络

什么是零样本网络表示学习

这个问题主要来自两篇论文 AAAI 2018 和 TKDE 2020,在正式开始介绍零样本网络表示学习(Zero-shot Graph Embedding, ZsGE)之前,我们首先介绍一下什么是零样本学习。

论文标题:RSDNE: Exploring Relaxed Similarity and Dissimilarity from Completely-imbalanced Labels for Network Embedding

论文来源:AAAI 2018

论文链接:https://www.paperweekly.site/papers/3566

代码链接:https://github.com/zhengwang100/RSDNE

论文标题:Network Embedding with Completely-imbalanced Labels

论文来源:TKDE 2020

论文链接:https://www.paperweekly.site/papers/3567

代码链接:https://github.com/zhengwang100/RECT

假设这样一个场景,现在我们有了一个训练用的数据集,里面有 A、B、C 三类样本,可是在测试的时却需要我们去识别 D 和 E 两种未见过的类的样本。这就是零样本学习 Zero Shot Learning (ZSL) 所需要解决的问题。

而在之前的研究中,ZSL 的研究主要局限于计算机视觉领域,也是 CV 领域非常热门的一个研究方向。这是由于自然界包含太多物品和场景了,我们需要 AI 系统有强大的泛化能力,即能够识别那些未见到的类(unseen class)。

在网络表示学习中,同样存在着类似情况。由于网络的复杂性,标注样本很可能无法涵盖所有的节点类别,甚至我们根本不知道网络中有多少类别。本文将介绍如何在网络中利用 ZSL的思维来学习到 unseen 类别节点的网络表示。

1.1 问题定义

如上图所示,零样本网络表示学习(Zero-shot Graph Embedding,ZsGE)是指标注样本无法覆盖所有类别时的网络节点特征学习问题。这里,“zero-shot”强调所设计的算法应该能够处理那些来自不可见类的节点,这种场景也可以被称为完全非平衡标注场景。

这个问题非常具有实际意义,特别是当图很大且节点的类别很多的场景。比如在真实社交网络中,用户的类别可能很多,我们也很难找出每一类用户,甚至我们根本就不知道网络中到底有多少种用户。

1.2 现有方法无法处理ZsGE

论文 TKDE 2020 测试了两个经典的监督网络表示学习算法:LSHM 和 GCN。为了模拟图上的零样本场景(ZsGE),在每次测试中,都从训练数据中移除 1-2 个类,然后进行网络表示学习,可以发现这两个方法的分类精度下降的很快 [10%-35%]。为什么会发生这个情况呢?论文是这样解释的:

简单来说,由于网络中 unseen 和 seen 类别的节点是相关连的,只在 seen 类别的节点上训练一个分类模型,只能得到一个全局的次优解。由此可以得到结论,传统的监督网络表示学习方法在处理未知样本时性能表现较差。

解决方案

2.1 RSDNE浅层算法

首先,AAAI 2018 给出了一个浅层方法 RSDNE。如上图所示,其思想是放松类内相似性(intra-class similarity)和类间差异性(inter-class dissimilarity)的约束。

具体的,对于类内相似性,在嵌入的空间中,该方法只需保证同一类的节点处于同一个流形上,即每个标注节点只需和 k(比如 k=5)个相同标注的节点相近,而不需要和所有相同标注的节点都相近。

对于类间差异性,在嵌入的空间中,此方法不要求不同标注的节点之间的距离非常大,只希望他们离得别太近即可。其公式包含三个部分:

1)保持原有网络结构信息:

公式 (4) 就是 DeepWalk 的矩阵分解形式,其中 U 就是我们最终要求的网络表示(Graph Embedding),H 为上下文表示(context embedding),M 的具体定义为:

2)relaxed 类内相似性

公式 (5) 是对类内关系 (intra-class) 进行建模,保证属于同一类的样本之间在同一个“流形”上的相似性。这里矩阵 S 描述了这种类内相似性,u_{i} 是 U 矩阵中的值,代表第 i 个节点的特征。

3)relaxed 类间差异性

公式 (6) 是对类间关系 (inter-class) 进行建模,保证属于不同类别的样本之间的区别性。这里 W 的定义非常简单:只是把原有描述网络结构的 M 中标签不同的节点的权重置零。

此外,AAAI 2018 也给出了一个 light 版本,把公式 (5) 的 S 矩阵的构造简单化了,比如在其提供的 python 版本的源代码中,直接事先预构造一个近邻矩阵 S 来表示同一类的流形结构。

此文给出的方法是一个基于矩阵分解的方法,不过类似的思想很容易扩展到 DeepWalk 这种非矩阵算法上,比如用少量单位长度的相同标签的 path 来近似描述内类相似性;将连续包含不同标签节点的 path 从不同标签处断开从而近似保持类间差异性。

2.2 RECT深层算法

其次,TKDE 2020 的工作给出了一个深度的方法 RECT。该方法可以进一步的处理带属性的图和多标签场景。如上图所示,RECT 算法的核心是训练一个语义图神经网络(Semantic GNN)。

具体的,受 ZSL 的启发,该方法将原始的二值标签映射到语义空间来训练一个 GNN 模型。值得注意的是,与 CV 中的 ZSL 方法不同,这里的类别语义直接从原始图中得到,即不依赖于任何的人工标注或者第三方语言工具。

具体来说,该方法首先使用 GNN layer 进行图卷积和 MLP 进行映射,之后最后定义了两个 Loss Function:

1)语义空间描述损失:

公式 (17) 希望预测得到的语义向量与样本真实的语义向量尽量的相似。这里真实语义是通过一个 readout 函数得到的:。在实验中,这个 readout 函数被简化成了 mean 函数,非常容易计算。

2)网络结构保持损失:

公式 (18) 希望得到的网络表示能够保持原有的网络结构。这是个无监督的模型,这里 M 是上面提到的 DeepWalk 的矩阵形式,U 是我们最终要求的网络表示。

实验结果

TKDE 2020 的论文一共在五个数据集上做了实验,包含不带属性,带属性,单标签,多标签的网络。

3.1 零样本场景下的实验结果

▲ 零样本下的节点分类

可以看到在该场景下,RSDNE 的方法要优于那些浅层的有监督方法。同时 RECT 方法效果最好,要明显优于那些深层的监督 GNN 方法,相比  GCN 精度提升 [30%-300%]

▲ 零样本下的可视化(前两个类作为 unseen,50%label rate)

从图中可以看到传统的监督算法(LSHM和GCN)的 seen  类分的比较开,但是 unseen 类完全的杂糅在了一起。相对应的,RSDNE 的效果就好很多,并且呈现出一种“流形”的感觉。此外,RECT 的效果最好,是因为考虑了节点的属性信息。

3.2 平衡场景下的实验结果

这里平衡场景是指传统的有监督的方法所要求的标注数据覆盖所有网络节点类别。

从结果上来看,当标签能够覆盖所有类时,RSDNE/RECT 方法也和当下最好的浅/深层方法效果持平。甚至 RECT 仍然优于著名的 GCN 算法 30%~300%。这意味着 ZsGE 的方法有很好的鲁棒性和普适性。

论文是这样解释的,GCN 和 APPNP 这些使用分类模型的有监督方法很容易被真实场景中标签数据的非平衡所影响;然而 RECT 这类语义方法则不会,这是由于在语义空间的各个维度上各种类别的分布是大致平衡的。

直观可以这样理解,比如可能身高超过 2m 的人很少,不过所有人在“身高”这个语义维度上都有定义。

思考

零样本学习作为迁移学习的一个新兴研究方向,在传统 CV 领域已经崭露头角,但如何将这种“零样本”思想转换到网络表示学习中,还处于初始探究的状态。

由于网络表示学习处理的目标是图结构数据,这又与传统 CV 存在很大的差别,相关理论还不完整,这给我们的研究带来了非常多的有趣的挑战。

参考文献

[1] RSDNE: Exploring Relaxed Similarity and Dissimilarity from Completely-imbalanced Labels for Network Embedding. (AAAI 2018).

[2] Network Embedding with Completely-imbalanced Labels. (TKDE 2020).

[3] 项目及代码: https://zhengwang100.github.io/project/zero_shot_graph_embedding.html

点击以下标题查看更多往期内容:

  • 变分推断(Variational Inference)最新进展简述

  • 变分自编码器VAE:原来是这么一回事

  • 图神经网络三剑客:GCN、GAT与GraphSAGE

  • 如何快速理解马尔科夫链蒙特卡洛法?

  • 深度学习预训练模型可解释性概览

  • 视线估计(Gaze Estimation)简介概述

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

浅谈零样本网络表示学习相关推荐

  1. 浅谈零样本网络表示学习 AAAI2018 TKDE2020

    1.什么是零样本网络表示学习 这个问题主要来自两篇论文 AAAI 2018 和 TKDE 2020,在正式开始介绍零样本网络表示学习(Zero-shot Graph Embedding, ZsGE)之 ...

  2. 浅谈零信任网络,入门必读!

    未来已来,只是不均衡地分布在当下 大家好,我是菜农,欢迎来到我的频道. 本文共 6471字,预计阅读 20 分钟 信任是一个很奢侈的东西,无论人与人,亦或是网络之间.在网络监控无处不在的时代,谁值得信 ...

  3. 车载网络与计算机网络有什么不同,浅谈汽车车载网络的应用

    浅谈汽车车载网络的应用 作者:段春艳 出处:论文网 时间:2007-01-10 摘 要:车载网络是现代汽车电子技术发展的必然趋势,本文就车载网络形成的必要性及其应用进行了系统地分析,以便更好地理解新一 ...

  4. 转:浅谈程序员的英语学习

    转自:http://www.cnblogs.com/haoyifei/p/5687235.html 浅谈程序员的英语学习 作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪.但程序员这 ...

  5. 浅谈元认知理论与学会学习

    摘自:http://blog.sina.com.cn/s/blog_50f98dfa0100a86r.html 浅谈元认知理论与学会学习                                 ...

  6. 浅谈程序员的英语学习

    作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪.但程序员这个工种则稍有不同,因为程序,尤其是高级语言,基本上都是由英语 和数字表达式构成的.英语对于程序员十分重要.我的大学本科全部 ...

  7. 论文研读-机器学习可视化-面向可视解释的零样本分类主动学习

    面向可视解释的零样本分类主动学习 1 文章概要 1.1 摘要 1.2 引言 1.2.1 零样本分类 1.1.2 解决方案 1.2.3 文章贡献 1.3 组织结构 2 相关工作 3 用于零样本学习的人机 ...

  8. 学了计算机专业英语感悟,浅谈计算机专业英语的学习

    浅谈计算机专业英语的学习 江苏盐城技师学院 李书琴 [摘 要]职业教育是现代化教育的重要组成部分,其目标在于培养大批有理想.有道德.有文化.有纪律,具有一定知识与技 能的劳动者和各种实用人才.英语作为 ...

  9. 浅谈百度云计算网络的构建之路

    在云计算的三大基础设施中,网络服务被认为是构建云生态最重要的基石.然而不管是业界流行的 SDN/NFV,还是兼容并包的开源框架 openstack neutron,都没有很好的解决来自数据平面和控制平 ...

最新文章

  1. 管理数百个Kubernetes集群需要什么?
  2. Python之初识函数
  3. Amqp整合com.rabbitmq.client.ShutdownSignalException: channel error; protocol method异常处理
  4. 16张图带你学会 Ansible 自动化运维工具
  5. python向数据库写入数据_如何用Python向Mysql中插入数据
  6. POJ 3254 Corn Fields(状态压缩)
  7. 新房装修有哪些除味小妙招?
  8. 从delegate到lambda表达式
  9. Halcon图像预处理与形态学(形态学)
  10. laravel 社会化(联合)登录扩展包(QQ、微信、微博等)
  11. 装完金蝶电脑无限重启_电脑一直自动重启的原因与解决方法
  12. xcode6.3 ineligible devices解决方法
  13. 苦心志,劳筋骨,饿体肤,乏其身,乱其所为
  14. .fire勒索病毒如何删除 .fire后缀文件恢复(Dharma)
  15. 聊聊办公室装修适合哪些风格以及装修技巧
  16. 12 道腾讯前端面试真题及答案整理
  17. C++笔记 关于string的笔记
  18. 基于JAVA服务预约家教网站系统设计与实现 开题报告
  19. 微信小程序实现页面强制刷新
  20. Apache Drill初探

热门文章

  1. 安卓访问mysql的源码_【原创源码】安卓数据库简单操作demo
  2. String类型的字符长度(码点/代码单元的区别)
  3. Android之BroadcastReceiver的使用
  4. 利用WINDOWS活动目录提供LDAP的方案
  5. matlab语言中的assert断言函数
  6. HDU3333 Turing Tree 离线树状数组
  7. 直接进入ORACLE12C插件数据库
  8. IOS-关闭(退)键盘事件--转
  9. 【原创】backbone1.1.0源码解析之Events
  10. java文本编辑器 运行_能编译运行java的简单文本编辑器