遥不可及|如何在图上进行卷积网络的深度学习(一)( 二 )
问题浮出水面!
你可能已经发现问题了:
节点的聚合表示不包括它自己的特征!表示是邻居节点特征的集合 , 因此只有具有自循环的节点才会在集合中包含自己的特征度大的节点的特征表示值较大 , 度小的节点的特征表示值较小 。 这可能导致梯度消失或爆炸 , 对于随机梯度下降算法也存在问题 , 这些算法通常用于训练此类网络 , 并且对每个输入特征的尺度(或值范围)敏感 。下面 , 我将分别讨论这些问题 。
加入自循环
要解决第一个问题 , 只需向每个节点添加一个自循环 。 实际上 , 这是通过在应用传播规则之前将单位矩阵I添加到邻接矩阵A来实现的 。
In[4]:I=np.matrix(np.eye(A.shape[0]))IOut[4]:matrix([[1.,0.,0.,0.],[0.,1.,0.,0.],[0.,0.,1.,0.],[0.,0.,0.,1.]])In[8]:A_hat=A+IA_hat*XOut[8]:matrix([[1.,-1.],[6.,-6.],[3.,-3.],[5.,-5.]])由于节点现在是其自身的邻居 , 所以在聚合其邻居的特征时将包含该节点自己的特征!
特征表示的归一化
特征表示可以通过节点的度来归一化 , 将邻接矩阵A与度矩阵D的逆矩阵相乘进行转换 。 因此 , 我们的简化传播规则是这样的:
之前
A=np.matrix([[0,1,0,0],[0,0,1,1],[0,1,0,0],[1,0,1,0]],dtype=float)之后
In[10]:D**-1*AOut[10]:matrix([[0.,1.,0.,0.],[0.,0.,0.5,0.5],[0.,0.5,0.,0.],[0.5,0.,0.5,0.]])我们发现邻接矩阵中的每一行的权值都除以了对于行的节点的度 。 我们在变换后的邻接矩阵上应用传播法则
In[11]:D**-1*A*XOut[11]:matrix([[1.,-1.],[2.5,-2.5],[0.5,-0.5],[2.,-2.]])得到与相邻节点特征均值对应的节点表示 。 这是因为(转换后的)邻接矩阵中的权值对应于相邻节点特征加权和中的权值 。 我再次鼓励你亲自验证这一观察结果 。
合在一起
现在我们结合了自循环和归一化技巧 。 此外 , 我们还将重新介绍先前为简化讨论而放弃的权值和激活函数 。
把权值加回来
首先要做的是使用权重 。 注意这里D_hat是A_hat=A+I的度矩阵 , 即加了自循环的A的度矩阵 。
In[45]:W=np.matrix([[1,-1],[-1,1]])D_hat**-1*A_hat*X*WOut[45]:matrix([[1.,-1.],[4.,-4.],[2.,-2.],[5.,-5.]])如果我们想减小输出特征表示的维数 , 我们可以减小权值矩阵W的大小:
In[46]:W=np.matrix([[1],[-1]])D_hat**-1*A_hat*X*WOut[46]:matrix([[1.],[4.],[2.],[5.]])添加激活函数
我们选择保留特征表示的维数 , 并应用ReLU激活函数 。
In[51]:W=np.matrix([[1,-1],[-1,1]])relu(D_hat**-1*A_hat*X*W)Out[51]:matrix([[1.,0.],[4.,0.],[2.,0.],[5.,0.]])看!一个完整的带有邻接矩阵 , 输入特征 , 权重和激活函数的隐藏层!
回到现实中
最后 , 我们可以把一个图卷积网络应用到一个真实的图上 。 我将向你展示如何生成我们在本文前面看到的特征表示 。
Zachary的空手道俱乐部
Zachary的空手道俱乐部是一个常用的社交网络 , 每个节点代表一个空手道俱乐部的成员 , 并将他们之间的关系用边来表示 。 在Zachary学习空手道的时候 , 管理员和教练发生了冲突 , 导致空手道俱乐部一分为二 。 下图显示了网络的图表示 , 节点的标记表示了这个人属于俱乐部的哪个部分 。 管理员和教练分别用“A”和“I”标记 。
推荐阅读
- 遥不可及|5G却爆出三大致命短板,三大运营商火力全开!半年投资880亿
- 兔子|世界最大的“兔子”:曾在卫星地图上都能看到,现在却成了这样!
- 遥不可及|任正非:我们心存感激,比尔盖茨预言成真?中科院已入局光刻机
- 遥不可及|台积电传来一则消息,真的太不容易了!事关继续供货华为芯片一事
- 雨中女郎|太阳每小时会“烧”掉144亿吨物质,为何在未来还会越来越大?
- 木子又李|华为为何在法国就设立了6家研发中心?
- cnBeta|NASA详细介绍“毅力号”将如何在火星地表下寻找生命
- 暗淡青春|主流手机原神流畅度测试,60帧运行遥不可及
- 站长之家|可在导航中显示剩余变灯秒数,百度地图上线红绿灯倒计时
- 高通骁龙|从2499元跌至584元,昔日骁龙835老旗舰,为何在二手市场一机难求