kipf论文学习心得1

kongfangyi

引言

        正如高老师所说,如果一篇论文你觉得有价值那就一定要把它读懂,读一遍不行就读两遍,读两遍不行就读十遍,直到读懂为止。当然,读大神的文章需要有点功底,如果确实读不懂,隔几天第一次,肯定每次读都会有新的认识。人生中没有任何一步路是白走的,也没有一滴汗是白流的。

1、对论文的理解

    这篇论文是图神经网络大神kipf的博士毕业论文,这篇论文是由一系列已发表论文构成的,这些论文每一篇都是经典之作,都有划时代的意义,所以大神的脑袋真的是一个富矿,随便挖出来一点东西就够我们用一辈子了。从一开始的GCN到RGCN,从GAE到NRI再到COMPILE以及C-SWM,跨越度非常大。这个PhD不是盖的,是真正的哲学家。

2、阅读计划

    这篇论文较长有138页,共分9个章节,基本上一天是可以阅读2-3个章节,但是有些章节的公式需要重推导,有些写的不是很清楚(当然大神是很清楚的)我还要补充标记。至少要两个星期应该可以读完。
    这篇论文有一小部分内容可以与《深入浅出神经网络》结合学习。配合书中的代码理解。计划对感兴趣的部分章节代码进行阅读和复现。

正文

摘要

    这篇论文介绍了使用深度学习进行图的结构表示的方法,对显式数据和隐式的模块结构的表示方法都可以使用。
    Ch3介绍了GCN它可以被用作节点分类;
    Ch4介绍了GAE它在无监督学习和链接预测方面有很好的应用场景;
    Ch5介绍了RGCN它在基于知识仓库Knowledge Base的半监督实体分类中可以使用;
    Ch6介绍的NRI是用来做关系推理的一个模型;
    Ch7介绍的ComILE提供了交互系统建模的工具;
    Ch8介绍的C-SWM为建构现实世界中的交互系统提供了手段。

第一章 前言

    结构无处不在,原子结构、分子式、社交网络、街区地图,这些都可以用结构表示,人类作为一个智能体不断与各种各样的结构交互,从中学习知识。
    图是一种结构化信息的表示形式,使用点表示实体,边表示实体间的关系或连接。现实世界中的OSN、chemical molecules都可以表示为图结构数据。由于图数据结构存在的Ubiquity性。对处理图结构数据提出了需求。
    人们渴望对认知过程加以认识,这促进了认知科学congnition science,神经科学的发展。这篇论文是ML的一个field,也是DL的一个branch。ML是通过构建程序和系统从数据和经验中学习的过程。常用的方法是使用模型进行对数据拟合,并使其能够推广到新的未见过(unforseen)的数据中。
    传统的ML过程建立在特征集合之上。而特征提取的过程,是通过约定以的步骤实现,称之为特征工程(feature-engniering)。DL出现并取得了巨大的成功,但在关系推理、概念抽象方面仍存在不足。ML面临的一个重要问题是归纳偏好(inductive bias),也就是解决当前问题所做的各种假设。归纳偏好以模型结构、目标函数、优化函数的形式出现。CNN的归纳偏好表现为局部数据参数共享,带来的好处就是旋转不变性特征;而RNN的归纳偏好是不同时间步骤之间参数共享,因此在稳定的时序数据和序列数据中能取得较好的效果。kipf的这篇论文提出的GNN从归纳偏好上更适用于处理图结构数据。
    论文分为两部分,第一部分介绍针对明确图结构的深度神经网络模型,第二部分介绍非明确结构的深度NN模型,对非明确结构的深度NN模型使用组合归纳偏好的方法处理解决问题。
    这篇论文要解决的问题有5个:
1、是否可以创建一个基于DNN的高效模型解决图结构数据库的节点分类问题?
    从谱图卷积(Spectal Graph Convolution)演化而来的GCN是一种高效的半监督学习模型。将GCN(CH3)在关系推理上进行推广就可以得到R-GCN(Ch5)R-GCN可以用在知识仓库中的关系推理。
2、GCN可以用在边预测及无监督表示学习任务上吗?
    GAE和VGAE是GCN的两个扩展模型,这两个模型都可以用在缺失标签的图结构数据上,进行训练。对无标签的图结构数据进行节点表示学习又被称为无监督节点表示学习。
3、DNN可以应用在隐藏状态推理、实体交互建模(如物体间的作用力)吗?
    神经网络推理(neural relational inference NRI)是一个作用在多交互系统上的隐变量模型。通过在节点对之间放置隐变量以解释他们之间的交互作用和关系。这在动态系统建模(dynamics system model)中非常有用。
4、如何通过NN based model进行事件结构和过程建模?
    Compositional imitation learning and execution (CompILE)是一个使用一系列变量序列推断事件关系的模型,为分隔事件的各个阶段提供了依据。
5、可以使用DNN建模受环境影响的而产生交互关系的物体表示吗(实际上就是真实世界建模)?
    Contractive-trained Structured world model (C-SWM)对比训练建构世界模型给出了一种建构相关关系中各个实体的通用方法。对比学习(contractive learning)与GAE的方法类似,但引入了从外部世界学习经验的手段,在引入GNN这个inductive bias之后,其泛化能力大大增强。

第二章 基础知识

2.1 各种Notations, 略
2.2 深度神经网络

    可以将深度神经网络视为线性函数的组合,每个线性函数后跟随一个非线性函数:

NN(\theta) = f^{l} \circ {\delta} \circ f^{l-1} \circ {\delta} \circ f^{l-2} \circ {\delta} {\circ} ……

   本文常用的线性函数是:

f^{l}(h) = w_{l}h + b_{l}

有fl(h)构成的神经网络结构称之为多层感知机。bl为偏置向量;wl为权重矩阵;h为特征向量。
    深度神经网络常用的激活函数有ReLU函数,sigmoid函数,等在训练过程中使用随机梯度下降算法使用Adam、SGD、momentum等优化器最小化损失函数。
   这一部分介绍深度神经网络仅仅是概述,感兴趣的同学可以看Goodfellow的《深度学习》俗称花书。

2.3 图神经网络

    图神经网络是一类适合处理图数据结构的神经网络模型。图的表示方法为G=(V,E)。V为顶点的集合;E为边的集合。在本文的标记系统中,节点使用索引i ∈ V表示,i∈(1,|v|)(这个说法好像有点混乱);边使用∈V X V表示。在无向图中均∈G。
<此处的图片无法插入></此处的图片无法插入>
    一个GNN是一个图G的实例,与节点的特征向量xi及边特征的向量x(i,j)相联系。顶点和边的隐藏状态表示可以表示为hi及h(i,j)。图G的结构决定了消息流的传递和更新过程。在这一过程中,节点的状态h,及边的表示h(i,j)得到更新。

h_{ij} = f_{edge}(h_{i}, h_{j}, x_{(i,j)})

h^’ = f_{edge}(h_{i},{\sum}_{j{\in} N_i},h_{(j,i)},x_{i})

fedge和fnode一般使用两到三层的MLP神经网络,以函数参数串联的方式作为输入,在每个节点上使用上面所述的方式进行跟新。在更新后,设定hi <—- hi,通过链式传递方式更新。
    可以将GNN作为一个函数逼近器,在图形任务上进行反向传播。2005年GNN的概念就已经被提出,虽然当时已经包含了GNN的核心概念但是其提出形式为RNN形式,而且也没有提出学习到的具体结构。Sarselli等人提出了消息传递的思想。使GNN不断扩充。
    上述概括性的介绍,提出了本文所讨论的模型不过也有很多例外的情况。最近Buttalia使用全局状态更新(global state update)的graph networks;也有人将transformer和attention机制引入GCN。建议大家阅读Boostein的geometic deep learning和Haimlton的graph representation(我并没有找到该论文,索引中的论文名称与实际不符)