首页 > > > 5.2.1.2 卷积核
卷积的数学的含义我们能够理解之后,那理解卷积核就会简单多了,因为我们只要理解它是在滑动中去提取特征就足够了。
我们先看卷积核的表达方式,它的表达式为

可能有人说我是不是写错了,这个不是卷积核,这个就是一个普通的神经元的前半部分线性处理的部分。其实你这么看倒是也不能算错,因为从计算逻辑的角度来看还真差不多。

我们先想象这里有一张图片,图片一共就 5×5 一共25个像素点,每个像素点只有1和0两种取值。当然了,这种“图片”是我们精心设计出来,我们权且假设有这样一种图片。那么提取这样的一种图的特征,我们可以先随便设计一个卷积核来看看到底会产生什么结果,我们设计一个特别简单的卷积核。

w由9个1构成,在这个场景里,就是左边的这“全1”的矩阵(这里只画出了w矩阵,没有画b矩阵)。右边图中黄色部分的这个3×3的小方框是指当计算的时候,让左边这个小的矩阵“盖住”右边的这个图,用卷积矩阵中的每个点与被盖住的点挨个相乘完成内积操作,并与b相加。这个过程就是这样了:

那么左上角的这个黄色小方框就会输出一个6,我们把6单独存在一个存储空间里,这个存储空间就叫做这个卷积层的Feature Map,也就是图中所示的Convoluted Feature这个部分。我们看在这样一个操作下,9个点的信息被ldquo;压缩rdquo;成了一个点。请注意,这个操作的本意不是为了我们一般意义上理解的压缩。从数学角度来说,它做了一个线性变换,一个向量在做了一次 f(x)=wx+b 的操作后,投射到了一个新的空间中去,而且变成了一个实数值,而它的目的其实是为了做特征提取。注意ldquo;特征提取rdquo;这个功能,后面我们会详细演示给大家看。
好,继续,我们把这个小黄方框的操作继续从左到右一个一个方格挪过去,挪一格扫描一次,产生一个在Feature Map上的值。挪到头再转行,从上到下每行都扫描过去。这其实就相当于前面我们说的 f(t)和 g(x-t)两个函数通过x变化来滑动一样做这样一个卷积操作,那么右侧的Feature Map的每个点的值也都能对应产生结果了。根据我们设计的卷积核的w和b的值,剩下的8个输出值应该分别是:7、6、4、7、7、4、6、6。这样一来25个点的信息量就变成了9个点。这就是卷积层工作的大致方式。
我们这里是为了简化说明卷积计算的工作方式,故意用了

这样的特殊值。而这些参数应该取什么值呢,不言而喻,那当然是在训练中,根据输入的数据和输出的目标,一轮一轮不断算出来的。
在卷积核的 f(x)=wx+b 输出后通常还会跟着一个激励函数而且也一般会定义一个激励函数跟随其后,现在的CNN网络中的激励函数非常喜欢用ReLU。主要也是因为ReLU有非常好的特性,这两个特性在后面很快就会介绍,大家别着急。
当然了,除了图上画的这种 3×3 的卷积核以外,还可以有别的尺寸的,什么 5×5 的 1×1……在不同的经常下,不同的卷积核会有不同的应用特性。从直观感觉上,卷积核就好像是用这“一眼”看过去对于视野中不同位置的关注程度或者采纳程度是不同的,而这个关注程度或者采纳程度就是用w、b来量化表示。纯粹的感性层面这样理解也问题不大。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69954080/viewspace-3137322/ ,如需转载,请注明出处,否则将追究法律责任。