其他
【综述专栏】图卷积神经网络(GCN)速览
在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。
地址:https://zhuanlan.zhihu.com/p/374887413
01
正交对角化步骤:
1.求出特征值和特征向量
2.对特征向量施密特正交化(根据一组线性无关向量构建一组正交向量)
3.再单位化
02
def normalization(adjacency):
adjacency += sp.eye(adjacency.shape[0])
degree = np.array(adjacency.sum(1))
d_hat = sp.diags(np.power(degree, -0.5).flatten())
return d_hat.dot(adjacency).dot(d_hat).tocoo()
class GraphConvolution(nn.Module):
def __init__(self, input_dim, output_dim, use_bias=True):
super(GraphConvolution, self).__init__()
self.input_dim = input_dim
self.output_dim = output_dim
self.use_bias = use_bias
self.weight = nn.Parameter(torch.Tensor(input_dim, output_dim))
if self.use_bias:
self.bias = nn.Parameter(torch.Tensor(output_dim))
else:
self.register_parameter('bias', None)
self.reset_parameters()
def reset_parameters(self):
init.kaiming_uniform_(self.weight)
if self.use_bias:
init.zeros_(self.bias)
def forward(self, adjacency, input_feature):
support = torch.mm(input_feature, self.weight)
output = torch.sparse.mm(adjacency, support)
if self.use_bias:
output += self.bias
return output
def __repr__(self):
return self.__class__.__name__ + ' (' \
+ str(self.input_dim) + ' -> ' \
+ str(self.output_dim) + ')'
#in_dim=, hid_dim=, class_num=
class GcnNet(nn.Module):
def __init__(self, input_dim=in_dim):
super(GcnNet, self).__init__()
self.gcn1 = GraphConvolution(input_dim, hid_dim)
self.gcn2 = GraphConvolution(hid_dim, class_num)
def forward(self, adjacency, feature):
h = F.relu(self.gcn1(adjacency, feature))
logits = self.gcn2(adjacency, h)
return logits
参考
本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
“综述专栏”历史文章
从零到一:生成对抗网络GAN完全掌握
目标检测综述整理
Bert向量表示不能直接用于相似度问题的分析
从迁移学习到图像合成
隐私计算的另一个思路:使用差分隐私实现的隐私模型聚合
Transformer 论文详细解读
注意力机制
对比学习入门 A Primer on Contrastive Learning
梯度爆炸与梯度消失
课程学习(Curriculum Learning)简介
基于预训练的推荐系统知识迁移综述
一文回顾Transformer 和 预训练模型
关于Transformer几个内部细节的总结
深入浅出带你读懂图卷积神经网络原理和pytorch代码实现
更多综述专栏文章,
请点击文章底部“阅读原文”查看
分享、点赞、在看,给个三连击呗!