视频链接:1-图神经网络应用领域分析_哔哩哔哩_bilibili
GNN
应用领域:
- 场景分析与问题推理、推荐系统、欺诈检测、知识图谱、道路交通、自动驾驶、化学医疗场景
图
- GNN 又称图神经网络,是一种直接作用于图结构的神经网络,我们可以把图中的每一个节点 V 当作个体对象,而每一条边 E 当作个体与个体间的某种联系,所有节点组成的关系网就是最后的图 U
- GNN主要用于解决输入数据不规则的时候,由于图像和文本任务中输入格式很固定,因此图模型并不常用。 图网络和其他的神经网络类似都是需要进行特征提取
邻接矩阵
用于表示节点之间相邻的情况,由于图的稀疏性,因此一般的邻接矩阵不是一个N*N的矩阵,而保留了(source,target)的形式。
GNN的更新
每个点通过与它相邻的邻居来进行更新,更新的方式可以自己设置。GNN也可以设置为多层结构,此时输入和输出都是特征,邻接矩阵不会改变,但每个点上面的特征会发生改变。多层的GNN会包含更多的邻居,相当于此时的感受野增大,当每个点具有全局的特征时,此时类似于transformer的形式。
GCN
- GCN是GNN 形式的一种,区别是两者聚合的形式不一样,GCN通过采用卷积来进行汇总。
- 在图中每个点的邻居是不确定的,GCN也要完成特征提取操作,只不过输入的对象不是固定格式,GCN通过神经网络来获取特征。通常只需要交给GCN两样东西:各节点输入特征、网络结构图
GCN的优势
Semi-supervised learning。GCN 不需要全部标签,用少量标签也能训练,计算损失时只用有标签的。
因为有标签和无标签之间具有连续,当有标签得到的结果较好,无标签的形式也要非常好。
基本思想
平均其邻居特征(包括自身)然后传入神经网络中得到新的特征,每次进行更新的时候邻接矩阵的结构都不发生改变,只是点上的向量发生改变。
网络层数
和卷积类似,GCN也可以做多层,每一层的输入也是节点特征,然后将当前特征与网络结构图继续传入下层就可以不断算下去了。
图中的基本组成
节点的度:用于表示每个点与多少个节点具有关系
特征计算方法
邻接矩阵和特征矩阵进行乘法操作,表示聚合邻居信息。由于每个节点的度不一样,如果直接相加进行计算会导致度大的节点特征较大,与实际情况不符合,因此对矩阵左乘以度矩阵(各节点的度矩阵加上单位矩阵)的倒数 ,相当于对行进行归一化操作,为了保持一致性,我们还需要右乘对列进行归一化操作,由于一个数值做了两遍归一化的操作,因此我们可以左右的矩阵都开根号处理。
其中H代表更新后的特征,W代表神经网络上的权重,σ是激活函数。