大家好,欢迎来到IT知识分享网。
“ 学习GCN之前,我们都应该先掌握一些基础知识,比如我们的“C”-卷积。”
对于不规则的图,我们想应用卷积操作对其进行特征提取时,第一难点应该是每个节点的出入度不一和节点之间不连续问题。卷积,是我们学习高等数学之后,尤其是对于非图像、非数学领域专业学生接触机器学习以后的一种运算,因为涉及到积分、级数,所以看起来非常的复杂。卷积具有不同的形式,根据现实生活中数据的存在形态和研究的问题,主要分为离散卷积和连续型卷积。
01
—
离散卷积
对于函数 f(x) 和 g(x),记 (f*g)(x) 为函数 f(x) 和 g(x) 的卷积,它是一个关于x的新函数,如下公式所示:
卷积过程:
如下表所示,f(x) 和 g(x) 在x属于[-5,5]的区间取值以及对应的卷积(f*g)(x)。如果x的取值超出此区间范围,则f(x) 、 g(x) 和 (f*g)(x) 的值均为0。针对具体的x和f(x) 、 g(x) 和 (f*g)(x) 取值问题,已经详细的添加在表格当中。
x |
g(x) |
f(x) |
(f*g)(x) |
-5 |
0 |
1 |
4.35 |
-4 |
0 |
4 |
6.9 |
-3 |
0 |
3 |
8.71 |
-2 |
0.05 |
6 |
8.39 |
-1 |
0.8 |
2 |
5.68 |
0 |
1 |
3 |
4.46 |
1 |
0.2 |
1 |
5.07 |
2 |
0.01 |
4 |
8.38 |
3 |
0 |
5 |
8.41 |
4 |
0 |
3 |
7.24 |
5 |
0 |
4 |
4.65 |
根据上述公式和表格,我们可以快速的计算得到整个离散卷积的过程。从g(x-t)中,我们可以结合数轴,在整个卷积的过程中,g是在做水平翻转动作,沿着中心轴0翻转。卷积过程类似下图所示,
卷积结果的通俗解释:
f(x) 是待处理的信号或者数据,通常,该函数的数据量比较大。g(x)是对信号前后相关性的描述的函数,通常,该函数非零数据个数比较少(这个给我们打开了加权操作或者稀疏矩阵思路)。一般具有在(-∞,+∞)内可积且快速收敛的特性。对于本例中的函数 g(x) ,卷积结果可以解释为:在x时刻的值受到x-2, x-1, x, x+1, x+2共5个时刻的影响,其加权系数分别是0.01, 0.2, 1, 0.8和0.05。最终可表示为,(f*g)(x)=f(x-2)*0.01+f(x-1)*0.2+…+f(x+2)*0.05。即,其他所有x的取值都是 g(x)=0,那么乘积项 f(t)*g(x-t)=0。因此,在计算(f*g)(x)时可以不计。
02
—
连续型卷积
连续型卷积的计算公式如下所示:
这里选择引用一个经典例子来做解释—做包子。假设早上包子店的生意太好了,已经达到供不应求的状态,店主就买了一台做包子的机器,不断地生产包子。假设生产的速度函数为f(x),但是由于是夏天,包子可能会随时间的变化发生腐烂,所以我们需要再定一个一个包子的腐烂函数g(x)。
假设某一个时刻生产了100个包子,那么腐败的程度为100*g(x)。根据常识,第一小时生产的包子,一天会经历24小时的腐败;第二小时生产的包子,一天会经历23小时的腐败。如此,我们是数学原理进行推算,一天生产的包子的腐烂情况是:
这就是连续卷积。
卷积的动态过程,这里我们需要习惯地把卷积核想象成一个反转180度的g(x),
卷积的展开,
另外需要注意的是,加权矩阵(尤其是离散卷积),在我们现实当中可以想像成随机初始化的稀疏矩阵。但是矩阵中的所有权重值可在训练的过程中,根据梯度下降算法进行计算和更新。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/167258.html