- AI加速器架构设计与实现
- 甄建勇 王路业
- 367字
- 2023-11-13 15:21:15
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)两种运算单元之间的负载。
❑图的动态切分。
![](https://epubservercos.yuewen.com/37A34B/27732794007146006/epubprivate/OEBPS/Images/15_01.jpg?sign=1739002032-L4joYzEi25uDnyqs3kYbBPPbJv3Hq4cp-0-839f085e965702c7c9a039f2512287cb)
图1-2 GCN模块分布
![](https://epubservercos.yuewen.com/37A34B/27732794007146006/epubprivate/OEBPS/Images/16_01.jpg?sign=1739002032-blA3SVedkJiRHll9XX1j7wmcL3pva7Qo-0-7f5701124a5cbd3a7470d8e731d76cfa)
图1-3 GCN模块之间的关系