
Z = f ( X , A ) = s o f t m a x ( A ^ ReLU ( A ^ X W ( 0 ) ) W ( 1 ) ) . . . . . . . . . . . ( 1 ) Z = f\left( X,A \right) = softmax(\widehat{A}\text{\ ReLU}\left( \widehat{A}\text{\ X}W^{(0)} \right)W^{(1)})...........(1) Z=f(X,A)=softmax(A ReLU(A XW(0))W(1))...........(1)
一、公式说明
式(1)就代表着一个单隐藏层的图卷积神经网络的数学模型。下面对这个公式中每个变量的含义进行说明:
其中 A ^ \widehat{A} A
是邻接矩阵的一个变体,但是本质上还是邻接矩阵,把它当邻接矩阵看就行,在整个图卷积网络运行过程中, A ^ \widehat{A} A
是不会变化的; X X X代表的就是输入的图结构中全部节点组合而成的特征矩阵; W ( 0 ) W^{(0)} W(0)是输入层 C C C与第1层隐藏层之间的连接权值矩阵, W ( 1 ) \ W^{(1)} W(1)是第1层隐藏层与输出层 Z Z Z之间的连接权值矩阵; R e L U ( ) ReLU() ReLU()和 s o f t m a x ( ) softmax() softmax()是激活函数,目的在于引入非线性; ReLU ( A ^ X W ( 0 ) ) \text{ReLU}\left( \widehat{A}\text{\ X}W^{(0)} \right) ReLU(A
XW(0))这个整体就是输入图结构处在第1层隐藏层时,全部节点组合而成的特征矩阵,如果参照公式中 W W W的标号方法,那么 ReLU ( A ^ X W ( 0 ) ) = X ( 1 ) \text{ReLU}\left( \widehat{A}\text{\ X}W^{(0)} \right) = X^{(1)} ReLU(A
XW(0))=X(1),这样如果再叠加一层隐藏层,上面的公式怎么改也明了了。
二、实例假设
随机举个图结构的例子,如图2所示。
那么邻接矩阵 A ^ \widehat{A} A 的维度就是 5 × 5 5 \times 5 5×5(5个节点)。对于图2, A ^ \widehat{A} A 就为(考虑了归一化等等因素,其实节点之间的权值分配就相当于 a ij = 1 d e g ( v i ) d e g ( v j ) a_{\text{ij}} = \frac{1}{\sqrt{deg(v_{i})deg(v_{j})}} aij=deg(v