卷积核

科技工作者之家 2020-11-17

卷积核就是图像处理时,给定输入图像,在输出图像中每一个像素是输入图像中一个小区域中像素的加权平均,其中权值由一个函数定义,这个函数称为卷积核。

卷积核的意义卷积核其实在图像处理中并不是新事物,Sobel 算子等一系列滤波算子,一直都在被用于边缘检测等工作中,只是以前被称为 Filter。做图像处理的同学应该有印象。

卷积核具有的一个属性就是局部性。即它只关注局部特征,局部的程度取决于卷积核的大小。比如用 Sobel 算子进行边缘检测,本质就是比较图像邻近像素的相似性。

也可以从另外一个角度理解卷积核的意义。学过信号处理的同学应该记得,时域卷积对应频域相乘。所以原图像与卷积核的卷积,其实是对频域信息进行选择。比如,图像中的边缘和轮廓属于是高频信息,图像中某区域强度的综合考量属于低频信息。在传统图像处理里,这是指导设计卷积核的一个重要方面。

CNN中的卷积核CNN 中的卷积核跟传统的卷积核本质没有什么不同。仍然以图像为例,卷积核依次与输入不同位置的图像块做卷积,得到输出,如图一。

同时,CNN 有一些它独特的地方,比如各种定义:

CNN 可以看作是 DNN 的一种简化形式,即这里卷积核中的每一个权值就可以看成是 DNN 中的 ,且与 DNN 一样,会多一个参数偏置。

一个卷积核在与 Input 不同区域做卷积时,它的参数是固定不变的。放在 DNN 的框架中理解,就是对同一层 Layer 中的神经元而言,它们的 和 是相同的,只是所连接的节点在改变。因此在 CNN 里,这叫做 共享权值偏置。

在 CNN 中,卷积核可能是高维的。假如输入是 维的,那么一般 卷积核就会选择为 维,也就是与输入的 Depth 一致。

最重要的一点,在 CNN 中,卷积核的权值不需要提前设计,而是跟 DNN 一样利用 GD 来优化,我们只需要初始化。

如上面所说,其实卷积核卷积后得到的会是原图的某些特征(如边缘信息),所以在 CNN 中,卷积核卷积得到的 Layer 称作特征图。

一般 CNN 中两层之间会含有多个卷积核,目的是学习出 Input 的不同特征,对应得到多个特征图。又由于卷积核中的参数是通过 GD 优化得到而非我们设定的,于是初始化就显得格外重要了。1

本词条内容贡献者为:

李嘉骞 - 博士 - 同济大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。