47、处理EEG数据的隐藏王者:手推图神经网络GCN[CNN宗主不过如此!]

1、概念提出:

在国际学习表征会议-ICLR2017,深度学习顶会:

2、GCN做什么:

DL的经典模型CNN、RNN在CV和NLP领域都取得了优秀的结果,但是两者在图结构的数据中处理并不理想。

CNN做图像识别,图像是一个二维的结构,CNN使用Kernel和Stride在图片上平移,通过卷积的方式来提取特征。关键在于图片结构的平移不变性,一个kernel小窗口无论移动到图片的哪个位置,它的内部结构都是一样的,所以CNN可以实现参数共享。

RNN处理对象是自然语言这种序列信息,它是一种一维结构,RNN通过各种门的操作,使序列前后的信息互相影响,从而捕获序列的特征。

所以,CNN和RNN处理的图片和语言数据都是欧式空间的数据,所以才有维度的概念,其特点就是数据结构很规则,但是在现实生活中,还是以不规则的数据为主,典型的是图结构,又称栝拓扑结构,比如:

1、社交网络

2、化学分子结构

3、知识图谱

对于图片和语言:

图片:做目标检测识别时,我们关注的是图片上的需要识别的关键点,把这些点连接组成也是一种图

语言:语言内部也有着复杂的树结构,也是图结构

3、图结构数据特点:

1、数据不规则,无限维度

2、不存在平移不变性,CNNRNN瞬间无效

所以,GCN的发明和提出,是为了处理图结构这种数据的

(为了处理这种数据,从上个世纪人们就开始研究了,也有一些其他方法:GNN、DeepWalk等)

4、GCN作用领域:

GCN实际和CNN一样,都是一个特征提取器,只不过对象是图数据,GCN巧妙的设计了一种从图数据中提取特征的方法,从而让我们可以对图数据进行:

1、节点分类(node classification)

2、图分类(graph classification)

3、边预测(link prediction)

4、还可以顺便得到图的嵌入表示(graph embedding)

GCN及其变体在交通运输、视觉关系检测、用户推荐、文本分类等均有应用

5、GCN公式图解:

5.1、GCN层与层之间的传播公式:

假设,图数据有N个节点,每个节点都有自己的特征,有:

N个节点的特征矩阵X = N * D

N节点之间的邻域矩阵A = N * N

拓扑结构数据正是通过构建邻域矩阵A来计算节点之间的特征,X和A正是我们GCN模型的输入

A波浪 = A+I(单位阵E)

D波浪 = A+I的度矩阵(degree matrix)

H = 每层GCN的特征

注:

度矩阵是一个对角阵,对角上的元素是各个顶点的度,例:

1,3,3,2,3分别对应v1,v2,v3,v4,v5节点的相邻节点个数

5.2、GCN图解:

以A节点为例,搭建计算图:

左侧为原图,右侧是每个节点的各阶邻域

A节点的一阶邻域:B、C、D

B节点一阶邻域:A、C(C、D的依次类推)

此图GCN三层,另有两层神经网络

每一个节点都可以分别构建自己的计算图,有多少个节点计算图,就有多少个训练样本数据:

6个节点计算图 = 6个GCN训练样本

每个节点计算图之间:

黑色小盒子之间共享一套参数,代表一层卷积

灰色盒子之间共享一套参数,代表第二层卷积

我们要做的就是训练这两层神经网络

注意:

GCN训练的是节点计算图中的各阶邻域,而不是黑色、灰色的神经网络其中黑色、灰色包含的神经网络可以随意设置,在Layer-1中设置100层卷积、或者在Layer-2中设置512层卷积

其中,输入的节点属性特征是训练数据自己带的,例如EEG-MI数据的左、右属性,不需要特征提取得到,

说到这里,对于处理EEG数据:

我们可以把EEG-MI数据的每个样本当作节点,计算每个样本(节点)计算图,通过GCN的消息表征结构, 最终得到每个样本(节点)的低纬度的表征特征,最后用于分类。

5.3、直观表示GCN节点与层数的关系:

GCN计算图层数越多,则节点能够连接的相邻节点就越多,感受野就越大,一般2-3层即可,过大则最后每个节点计算的表征特征都集合到一个数值

5.4、GCN每层提取特征公式:

1、第一层,hv表示最开始的图卷积,v代表输入的原始特征数据

2、第二层,篮筐内,以C节点为例,u表示C的所有领域节点A,B,E,F,篮筐分子表示4个领域节点之和,分母表示个数四,也就是领域求平均值,再*参数矩阵W,再非线性激活,作为特征值

3、Zv表示之后的更深的卷积,步骤和第二层一致

蓝框矩阵表达:

A = 邻域矩阵

D = 对角阵

Hk = 所有节点嵌入特征的集合,一行是一个节点所有的嵌入表征

H左 * A = 获得该行节点所有的邻接节点

再左 * D的逆 = 求表征平均

也就完成了一开始GCN公式的推导式

5.5、GCN在处理EEG数据的潜在优势:

GCN原论文无非是设计了一个巧妙地数学公式,用来提取图数据,其余的公式是为了讲解说明这个核心公式的,使得在数学逻辑上贯通,但论文附录中,作者做了一个实验,完全使用随机初始化参数W,用于提取一个俱乐部会员的关系图数据,得到各个节点的嵌入特征,然后可视化结果如下:

可以发现,在原数据中同类别的node,经过GCN的提取出的embedding,已经在空间上自动聚类了。

而这种聚类结果,可以和DeepWalk、node2vec这种经过复杂训练得到的node embedding的效果媲美了。

也就是说GCN还没有训练,结果就已经超过别的训练好的模型了,若GCN在处理EEG信号上表现也如此强大,那就太好了。

  • 23
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是馒头阿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值