大千世界,所有可见的数据可分为两类:Euclidean Data & Non-Euclidean Data。
目前在Deep Learning的范畴里,CNN和RNN的世界里,广泛应用的images,sentences,waves,等等,都属于Euclidean data。欧式数据,直观理解为具有工整(栅格化的:grid-like)对称性的数据。
然而,网络的概念在现实生活中也是普遍存在的。社交网络,航路网,蛋白质分子联系网,等等等等。注意,这些网络常常是不对称的,即每个节点的degree(neighbor数量)是不确定的,数据是不工整的。网络的数学描述是通过图论的理论,即用网络的边和顶点来描述顶点之间的连接关系。
那么问题就来了。传统ConvNet在Euclidean data上的卷积操作,是完全对称的工整的。一个3*3的Conv filter,就是一个九宫格,要求每个pixel都有8个工整的neighbor(抛去边沿效应)。
因此,CNN可以很好地在image这种euclidean的数据上进行feature learning & extraction。可是,如果input是不工整的graph时,该怎么办呢?该怎么继续使用CNN来提graph里含有的特征呢?
这就引出了Graph CNN的理论,即可以在graph数据上操作的CNN。
好。对于GCNN,我们的期待也很简单。给你输入一个graph,你用某种filtering的操作,给我把这个input graph刷一遍,刷出一个output graph来。
对于euclidea