浅聊GNN和CNN的区别
CNN用来处理传统的图像数据,而GNN模仿了CNN,希望能够处理CNN处理不了的结构化数据。
具体地说:CNN用一个可学习的卷积核提取每个卷积滑窗内的特征,也就是说在每个卷积滑窗内加权求和每个像素特征得到一个特定的值。而GNN由于每个节点的邻居数量不一样,无法直接定义统一大小的滑窗,因此在每个节点的邻居范围内,去节点特征的平均值,然后再经过线性变换得到更为精细的节点特征。与CNN不太一样的地方是:CNN的卷积核是可以学习的参数,而GNN(以GCN为例)的卷积核是对于每个节点周围邻居特征取平均。这样会导致最终CNN可以堆叠多层达到很好的特征提取效果,但是GNN堆叠多层往往会出现过度平滑的问题。
CNN只关注像素特征层面的信息提取,而GNN多了一个邻接关系,多了一个维度的信息,往往能够提高模型的结果。在医学影像中,大脑的fRMI数据可以看作图像并用CNN来分类。但是各个脑区之间的关联性对于判断整个大脑的病变程度非常重要。主流的做法是将fRMI中的脑区数据提取出来,并且根据各个脑区之间的关联紧密程度构建脑区节点之间的邻接矩阵,以此构建出整个graph。因此用GNN对大脑的fRMI影像构成的graph进行提取特征和分类,可以很好地捕获大脑脑区之间的结构信息,生成更为高质量的大脑特征进行最终的分类。
还有一些场景下,数据只能方便的抽象成graph结构,例如社交数据和分子数据。以分子数据为例,原子作为节点,原子之间的化学键作为原子之间的邻接矩阵,很容易构成一个包含节点特征矩阵和节点邻接矩阵的graph,这样抽象出来的数据更适合用GNN类型的算法处理。
关注问题写回答
1 个回答
默认排序
YJango
YJango
日本会津大学人机界面实验室 博士在读
17 人赞同了该回答
long dependence方面是LSTM的优势。
比如句子“我在日本生活过五年,我可以说流利的日语”, 单向LSTM可以在之前所说内容的基础上对当前内容进行判断,可以照顾到日本与日语之间的关系。双向LSTM还可以基于未来的内容判断当前内容。主要是这种判断可以在整个句子之间进行。
同时如果用LSTM做回归的话,输出不需要做后续处理就非常平滑。
CNN的语音识别的特征(feature)通常是是频谱图(spectrogram),类似识别的处理方式。同样也可以利用filter size,基于过去和未来的信息判断当前内容。但由于size固定,long dependence方面不如LSTM。不过CNN可以同一信息用不同的feature m