作者:Yong Wang, Zhihua Jin, Qianwen Wang, Weiwei Cui, Tengfei Ma and Huamin Qu

本文发表于VIS2019, 来自于香港科技大学的可视化小组(屈华民教授领导)的研究

1. 简介

图数据广泛用于各个领域,例如生物信息学,金融和社交网络分析。在过去的五十年中,已经提出了许多图布局算法,来满足所需的视觉要求,例如更少的边缘交叉,更少的节点遮挡以及更好的聚团保护。传统的图布局算法大致可以分为两个方向:基于弹簧,能量模型和基于降维模型。当用户使用特定的图布局时,取得好的可视化效果往往需要许多参数的实验,对于没有相关经验的用户来说,是一个不小的挑战。由于特定于算法的参数和布局效果通常取决于输入的图结构,因此我们考虑是否可以使用深度学习来学习别人的布局算法。

这个问题有以下三个挑战:

  1. 模型选择: 图布局算法不同与普通的分类问题,它的输入是复杂的图结构,输出是点的坐标(不定长二维数组)。
  2. 损失函数设计: 图布局的结果很难判断好坏(很多时候是主观的印象),除此之外,图布局通过旋转和放缩之后,依然具有相同的结构。
  3. 训练数据的缺少:不同于图像领域有 Imagenet, MNIST 等数据集,图布局算法并没有这方面的数据集

本文提出一种基于graph-LSTM的方法来直接根据输入图的拓扑结构生成图布局结果。本文使用广度优先搜索(BFS)将图拓扑信息转换为一系列邻接矩阵,其中每个子向量对序列中每个节点及其相邻节点之间的连接信息进行编码。还提出了一种基于Prostats Statistics的损失函数,该函数对于图的平移,旋转和缩放基本上是不变的,以此评估学习质量并指导模型训练。在训练过程中,使用了三种图数据集(网格图,星形图和随机图)。

2. 相关工作

  • 传统的图布局算法大致可以分为两个方向:基于弹簧,能量模型和基于降维模型。基于弹簧,能量模型最著名的有力引导模型,ForceAtlas等。基于降维有PivotMDS以及tsNET等算法。除此之外还有一些基于层次布局和空间索引树的优化,比如FM3算法。
  • 图神经网络被用于各种图相关学习的研究,过去基于谱(Spectral)卷积的算法往往只能用于固定结构的图数据研究,除了谱卷积之外,非谱方法还可以直接在图上进行卷积,此类算法将节点的邻域定义为传入范围,并且提出了各种方法,例如Semi-Supervised Classification with Graph Convolutional Networks等。他们大多应用于点预测,边预测,与本文的任务还是有所区别。
  • 已有一些研究将深度学习,机器学习应用到图布局当中,比如Kwon et al.(VIS 2017)提出了一种机器学习方法,为用户提供了图布局的快速预览,并使用了图的拓扑结构信息来计算不同图结构之间的相似度。H. Haleem et al.提出了基于神经网络的方法来评估图布局绘制结果。

3. 算法与模型

问题定义

  • 图布局算法的输入是$G=(V,E) \quad V={v_{1},v_{2}...v_{n}} \quad E\subseteq V \times V \(,输出是\)C = {c_{v}|v ∈ V}\(, 其中\)c_v$属于二维向量。

  • 传统的图布局算法考虑不同的评价标准来设计算法,在本文中,我们将图布局算法转化为学习问题,一旦成功训练了深度学习模型,当给定一个新图数据,它就可以自动分析图结构并直接生成一个带有训练数据特性的布局效果。

模型设计

  • 由于图布局的输出是一个不定长的二维数组,cv领域常用的CNN网络并不适用于此类问题,第一CNN网络无法处理图数据的输入,其次CNN网络的输出一般是一个定长的数组。
  • 本文使用LSTM(长短期记忆)作为基础模型,LSTM是RNN(循环神经网络)的变种,一开始用于自然语言处理方向。 他可以同时参考过去网络中的最新信息以及较久的信息。我们可以使用点的特征序列作为输入向量,顺序输出每个点的二维坐标。LSTM的结构和公式如下图所示, \(c_{t-1}, h_{t-1}, x_{t}\)是他的输入,\(h_{t}, c_{t}\)是他的输出。

  • 但是这样的方案并没有考虑到图中边的信息,所以参考skip-connection的技术,可以对于LSTM网络进行改进,将边作为两个神经元之间的联系,如下图所示,其中\(P(t)\)表示该点的领域, 和标准LSTM的主要区别在于,本文的模型进一步考虑了图中边的信息。除此之外本文还使用了双向LSTM的技术,使其能更全面考虑所有点对某个点的贡献。

  • 所以本文的模型如下所示。输入点的顺序是图的BFS(广度优先搜索)序列,每个节点都由一个邻接向量表示,该向量编码了与先前节点的连接情况。 黄色的虚线箭头传播了先前节点对后续节点图形的总体影响,而弯曲的绿色箭头(图的边)反映了实际的图结构,为了生成最终的2D节点布局,还考虑前后的信息(双向LSTM)。

  • 本文还对于loss function进行了重新的设计, 考虑了旋转,放缩不变性等原理。基于Prostats Statistics提出了一种损失函数。

4. 实验

  • 本文设计了三种不同的图数据:网格,星形,随机网络,使用PivotMDS 和 ForceAtlas2算法生成布局结果,并对于数据集进行了训练,验证,测试集的划分。总共有30000以上的数据行,每个数据在20-50点左右。
  • 通过实验发现,双向4层LSTM具有较好的效果, 将其作为和本算法比较的baseline。实验中,在三种数据集上分别训练baseline 和 本文算法,将输入向量定为35的长度。其中随机网络的可视化如下所示。

  • 本文还从Prostats loss(模型loss),边交叉(\(A_{ec}\)),点聚集(\(A_{no}\)),聚团覆盖(\(A_{co}\)),运行时间这几个指标进行了评估,实验结果如下所示。左上模型loss,右上运行时间,下面是剩余三种指标。

总结

本文从结构来看非常完整,工作量也很足。但还是有很多不足之处,比如:生成输入向量的算法依然不稳定,只在小数据(20-50点)work,模型无法解释,学习不同的布局数据需要重新训练等问题。作者也提出了要把算法改进到大规模图数据上的设想,除此之外作者提出能否将方法应用到动态图当中。

论文阅读 | DeepDrawing: A Deep Learning Approach to Graph Drawing的更多相关文章

  1. [论文阅读] A Discriminative Feature Learning Approach for Deep Face Recognition (Center Loss)

    原文: A Discriminative Feature Learning Approach for Deep Face Recognition 用于人脸识别的center loss. 1)同时学习每 ...

  2. 《3-D Deep Learning Approach for Remote Sensing Image Classification》论文笔记

    论文题目<3-D Deep Learning Approach for Remote Sensing Image Classification> 论文作者:Amina Ben Hamida ...

  3. 论文笔记之:From Facial Parts Responses to Face Detection: A Deep Learning Approach

    From Facial Parts Responses to Face Detection: A Deep Learning Approach ICCV 2015 从以上两张图就可以感受到本文所提方法 ...

  4. 论文笔记(1):Deep Learning.

    论文笔记1:Deep Learning         2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...

  5. [论文阅读笔记] Structural Deep Network Embedding

    [论文阅读笔记] Structural Deep Network Embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 现有的表示学习方法大多采用浅层模型,这可能不能 ...

  6. 收藏:左路Deep Learning+右路Knowledge Graph,谷歌引爆大数据

    发表于2013-01-18 11:35| 8827次阅读| 来源sina微博 条评论| 作者邓侃 数据分析智能算法机器学习大数据Google 摘要:文章来自邓侃的博客.数据革命迫在眉睫. 各大公司重兵 ...

  7. Deep Learning 和 Knowledge Graph howto

    领军大家: Geoffrey E. Hinton http://www.cs.toronto.edu/~hinton/ 阅读列表: reading lists and survey papers fo ...

  8. [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings

    [论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 本文结构 解决问题 主要贡献 算法原理 参考文 ...

  9. ZH奶酪:【阅读笔记】Deep Learning, NLP, and Representations

    中文译文:深度学习.自然语言处理和表征方法 http://blog.jobbole.com/77709/ 英文原文:Deep Learning, NLP, and Representations ht ...

随机推荐

  1. 动图+源码,演示Java中常用数据结构执行过程及原理

    最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...

  2. 激活Cisco路由器和交换机的right-to-use

    一.确认当前正在使用license版本 show license     #路由器2911测试可行 show license summary #交换机C4503测试可行 show version  # ...

  3. CentOS 7 中配置Firewall规则

    1. 防火墙简介 动态防火墙后台程序 firewalld 提供了一个 动态管理的防火墙,用以支持网络 “zones” ,以分配对一个网络及其相关链接和界面一定程度的信任.它具备对 IPv4和 IPv6 ...

  4. 盘一盘 NIO (二)—— Channel解析

    Channel是个啥? Channel,顾名思义,它就是一个通道.NIO中的所有IO都是从 Channel 开始的. Channel通道和流非常类似,主要有以下几点区别: 1.流是单向的,通道是双向的 ...

  5. DBUtils框架的使用(下)

    刚才讲了使用QueryRunner插入.修改.更新数据,现在来学习一下使用QueryRunner进行数据库表查询. 通过QueryRunner类的query()方法即可完成数据库表的查询操作,但是在查 ...

  6. [WPF自定义控件库] 关于ScrollViewr和滚动轮劫持(scroll-wheel-hijack)

    1. 什么是滚动轮劫持 这篇文章介绍一个很简单的继承自ScrollViewer的控件: public class ExtendedScrollViewer : ScrollViewer { prote ...

  7. Tesseract:简单的Java光学字符识别

    1.1 介绍 开发具有一定价值的符号是人类特有的特征.对于人们来说识别这些符号和理解图片上的文字是非常正常的事情.与计算机那样去抓取文字不同,我们完全是基于视觉的本能去阅读它们. 另一方面,计算机的工 ...

  8. python 20 规范化目录

    目录 规范化目录 1. 划归固定的路径: 2. 划分文件 2.1 seetings 配置文件 2.2 common 公共组件文件 2.3 src 主文件 2.4 starts 项目启动文件 2.5 类 ...

  9. python 18 re模块

    目录 re 模块 1. 正则表达式 2. 匹配模式 3. 常用方法 re 模块 1. 正则表达式 \w 匹配字母(包含中文)或数字或下划线 \W 匹配非字母(包含中文)或数字或下划线 \s 匹配任意的 ...

  10. 怎样才算精通Linux

    1.掌握至少50个以上的常用命令(包括grep.awk.sed.ps.find等等吧,熟练使用,基础的选项不用man) 2.熟悉Gnome/KDE等X-windows桌面环境操作 3.掌握.tgz.. ...