AI加速器架构设计与实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 GCN

GCN(Graph Convolution Network,图卷积网络)是GNN(Graph Neural Network,图神经网络)中的一种,可以认为是CNN的一种推广。对于CNN,其输入数据(pixel)在空间上是均匀分布的二维阵列,而GCN打破了这种均匀分布,pixel之间通过图的原语—vertex、edge进行描述。GCN和CNN的基本算子有很大的相似性,主要是卷积运算和激活函数。

GCN的特别之处在于引入了图的概念,需要额外的信息来表示图的结构,比如邻接矩阵。卷积运算只作用于图中有连接的vertex,这个过程叫作聚合(Aggregation)。除此之外,GCN一般还有和CNN类似的采样(Sampling)和池化(Pooling)模块。这些模块的分布情况如图1-2所示。

从硬件设计的角度看,GCN模块之间的关系如图1-3所示。

从硬件架构的角度看,GCN加速器主要面临的挑战有以下几个方面。

❑不规则的内存访问。

❑不规则的数据复用情况。

❑平衡卷积和全连接(Fully Connected,FC)两种运算单元之间的负载。

❑图的动态切分。

图1-2 GCN模块分布

图1-3 GCN模块之间的关系