1. 首页 > 汽车 >

卷积核是什么_卷积核是什么意思

卷积神经网络中的池化是什么意思?

每个滤波器在空间上(宽度和高度)都比较小,但是深度和输入数据保持一致(特征图的通道数),当卷积核在原图像滑动时,会生成一个二维激活图,激活图上每个空间位置代表原图像对该卷积核的反应。每个卷积层,会有一整个的卷积核,有多少个卷积核,输出就有多少个通道。每个卷积核生成一个特征图,这些特征图堆叠起来组成整个输出结果。

理论在于,图像中相邻位置的像素是相关的。对一幅图像每隔一行采样,得到的结果依然能看。

卷积核是什么_卷积核是什么意思卷积核是什么_卷积核是什么意思


一、卷积神经网

受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络上述等式成立的原因是 ,其中(),Yann Lecun 最早将用于手写数字识别并一直保持了其在该问题的霸主地位。近年来卷积神经网络在多个方向持续发力,在语音识别、人脸识别、通用物体识别、运动分析、自然语言处理甚至脑电波分析方面均有突破。

卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在的一个卷积层中,通常包含若干个特征平面(featureMap),每个特征平面由一些矩形排列的的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也叫做池化(pooling),通常有均值子采样(mean pooling)和值子采样(max pooling)两种形式。子采样可以看作一种特殊的卷积过程。卷积和子采样大大简化了模型复杂度,减少了模型的参数。

三、卷积神经网络的原理

3.1 神经网络

首先介绍神经网络,这一步的详细可以参考资源1。简要介绍下。神经网络的每个单元如下:

对应的公式如下:

其对应的公式如下:

比较类似的,可以拓展到有2,3,4,5,…个隐含层。

神经网络的训练方法也同Logistic类似,不过由于其多层性,还需要利用链式求导法则对隐含层的节点进行求导,即梯度下降+链式求导法则,专业名称为反向传播。关于训练算法,本文暂不涉及。

图像卷积与边缘检测

以下图例:卷积作可以看做是一种滑窗法,首先,输入维度是4×4,输入中红色部分,先和核函数中的元素对应相乘,就是输出中左上角的元素值s1,即 s1 = a×k1+b×k2+e×k3+f×k4。

边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。

先灰度化,再用低通滤波器降噪,用高通滤波器提取边缘,二值化。

低通滤波器见前面我发布的图像预处理,下面讲的都是高通滤波器。

为了提取到图像的边缘,我们需要滤波器的帮助。这类滤波器以矩阵的形式存在,通常被称为卷积核,就是一些值网格,能够对图像进行修改三、全连接层。

对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值。这样就完成了滤波过程。这种计算被称为图像卷积。

滤波器的大小应该是奇数,这样它才有一个中心,例如3x3,5x5或者7x7。有中心了,也有了半径的称呼,例如5x5大小的核的半径就是2。

索贝尔过滤器常用于边缘检测和发现图像中的强度模式。向图像中应用索贝尔过滤器就相当于沿着 x 或 y 方向求图像的(近似)导数。

Sobel_x和 Sobel_y的运算符分别如下所示:

Laplace算子是一种各向同性算子,二阶微分算子,在只关心边缘的位置而不考虑其周围的像素灰度值时比较合适。

Laplace算子对孤立象素的响应要比对边缘或线的响应要更强烈,因此只适用于无噪声图象。存在噪声情况下,使用Laplacian算子检测边缘之前需要先进行低通滤波。

了解更多

首先,图像降噪。我们知道梯度算子可以用于增强图像,本质上是通过增强边缘轮廓来实现的,也就是说是可以检测到边缘的。但是,它们受噪声的影响都很大。那么,我们步就是想到要先去除噪声,因为噪声就是灰度变化很大的地方,所以容易被识别为伪边缘。

第二步,计算图像梯度,得到可能边缘。计算图像梯度能够得到图像的边缘,因为梯度是灰度变化明显的地方,而边缘也是灰度变化明显的地方。当然这一步只能得到可能的边缘。因为灰度变化的地方可能是边缘,也可能不是边缘。这一步就有了所有可能是边缘的。

第三步,非极大值抑制。通常灰度变化的地方都比较集中,将局部范围内的梯度方向上,灰度变化的保留下来,其它的不保留,这样可以剔除掉一大部分的点。将有多个像素宽的边缘变成一个单像素宽的边缘。即“胖边缘”变成“瘦边缘”。

第四步,双阈值筛选。通过非极大值抑制后,仍然有很多的可能边缘点,进一步的设置一个双阈值,即低阈值(low),高阈值(high)。灰度变化大于high的,设置为强边缘像素,低于low的,剔除。在low和high之间的设置为弱边缘。进一步判断,如果其领域内有强边缘像素,保留,如果没有,剔除。这样做的目的是只保留强边缘轮廓的话,有些边缘可能不闭合,需要从满足low和high之间的点进行补充,使得边缘尽可能的闭合。

图卷积网络(GCN)原理解析

Graph Convolutional Networks涉及到两个很重要的概念:graph和Convolution。传统的卷积方式在欧式数据空间中大展神威,但是在非欧式数据空间中却哑火,很重要的一个原因就是传统的卷积方式在非欧式的数据空间上无法保持“平移不变性”。为了能够将卷积推广到Graph等非欧式数据结构的拓扑图上,GCN横空出世。在深入理解GCN: 的来龙去脉之前,我觉着我们有必要提前对以下概念有点印象:

论文链接 Semi-supervised Classification with Graph Convolutional Networks

1.拉普拉斯矩阵及其变体

给定一个节点数为 的简单图 , 是 的度矩阵, 是 的邻接矩阵,则 的拉普拉斯矩阵可以表示为 . 中的各个元素表示如下:

1.传统的傅里叶变换

这里的 就是传说中似乎有点神秘的拉普拉斯算子的特征函数(拉普拉斯算子是欧式空间中的二阶微分算子,卸了妆之后的样子是 )。

为何这样说呢?是因为从广义的特征方程定义看 , 本身是一种变换, 是特征向量或者特征函数, 是特征值。我们对基函数 求二阶导, . 可以看出 是变换 的特征函数。

从傅里叶变换的基本思想来看,对 进行傅里叶变换的本质就是将 转换为一组正交基下的坐标表示,进行线性变换,而坐标就是傅里叶变换的结果,下图中的 就是 在个基上的投影分量的大小。

是Graph上第 个节点的特征向量,可得Graph上的傅里叶变换形式:

。此处的 是Graph的拉普拉斯矩阵的特征向量组成的特征矩阵的转置,在拉普拉斯矩阵的优良性质中我们知道拉普拉斯矩阵的特征向量组成的矩阵为正交阵,即满足 ,所以Graph的逆傅里叶变换形式为 ,矩阵形式如下:

到此为止我们已经通过类比从传统的傅里叶变换推广到了Graph上的傅里叶变换。接下来我们就要借助傅里叶变换这个桥梁使得Convolution与Graph把酒言欢了。

在前言中我们了解了大名鼎鼎的卷积定理:函数卷积的傅里叶变换是其傅里叶变换的乘积,即对于 ,两者的卷积是其傅里叶变换的逆变换:

我们把上一节中得到的Graph上的傅里叶变换公式代入得到:

是Hamada积,表示逐点相乘。

我们一般将 看作输入的Graph的节点特征,将 视为可训练且参数共享的卷积核来提取拓扑图的空间特征。为了进一步看清楚卷积核 ,我们将上式改写为:

也许有人对于上式的变换心存疑虑,证明其实很简单,请看这位答主的解答 GCN中的等式证明 - 知乎

至此,我们已经推导出来GCN的雏形。

1. 代GCN

卷积作的核心是由可训练且参数共享的卷积核,所以代GCN是直接把上式中的 中的对角线元素 替换为参数 。先初始化赋值,然后通过反向传播误来调整参数 。

所以代GCN就变成了酱个样子:

是Graph中每个节点特征的表示向量, 是每个节点经过GCN卷积之后的输出。Graph中的每个节点都要经过卷积核卷积来提取其相应的拓扑空间,然后经过激活函数 传播到下一层。

代GCN的缺点也是显而易见的,主要有以下几点,池化层本质上是下采样,利用图像局部相关性的原理(认为值或者均值代表了这个局部的特征),对图像进行子抽样,可以减少数据处理量同时保留有用信息。这里池化有平均池化,L2范式池化,池化,经过实践,池化的效果要好于平均池化(平均池化一般放在卷积神经网络的一层),池化有利于保存纹理信息。

2. 第二代GCN

面对代GCN参数过多的缺点,第二代GCN进行了针对性的改进。由于Graph上的傅里叶变换是关于特征值的函数 , 也可写作 ,用k阶多项式对卷积核进行改进:

将其代入到 可以得到:

所以第二代GCN是介个样子:

可以看出二代GCN的最终化简结果不需要进行矩阵分解,直接对拉普拉斯矩阵进行变换。参数是 ,k一般情况下远小于Graph中的节点的数量 ,所以和代GCN相比,第二代GCN的参数量明显少于代GCN,减低了模型的复杂度。对于参数 ,先对其进行初始化,然后根据误反向传播来更新参数。但是仍旧需要计算 ,时间复杂度为 .

另外我们知道对于一个矩阵的k次方,我们可以得到与中心节点k-hop相连的节点,即 中的元素是否为0表示Graph中的一个结点经过k跳之后是否能够到达另外一个结点,这里的k其实表示的就是卷积核感受野的大小,通过将每个中心节点k-hop内的邻居节点聚合来更新中心节点的特征表示,而参数 就是第k-hop邻居的权重。

未完待续。

1.在谱域图卷积中,我们对图的拉普拉斯矩阵进行特征分解。通过在傅里叶空间中进行特征分解有助于我们我将上述过程推广到Graph:们理解潜在的子图结构。ChebyNet, GCN是使用谱域卷积的典型深度学习架构。

参考文献

1.

2.

3.

为什么中的卷积核一般都是奇数奇数,没有偶数偶数的

(3)卷积核具有很好的sp在Graph中,拉普拉斯矩阵 可以谱分解(特征分解),其特征向量组成的矩阵是 ,根据特征方程的定义我们可以得到 。通过对比我们可以发现 相当于 , 相当于 。因此在Graph上的傅里叶变换可以写作 .atial localization,特别地,K就是卷积核的receptive field,也就是说每次卷积会将中心顶点K-hop neighbor上的feature进行加权求和,权系数就是

卷积中有一种same convolution,也就是卷积前后尺寸(高x宽)不变。如果卷积核尺寸为 k x k,被卷积张量的尺寸为 n x n,padding为 k-1时,则可实现same convolution(n + padding - k + 1 = n) 。若 k 为偶数,那么padding就为奇数,就不能平均分配到卷积张量两边。此外,奇数尺寸的卷积核便于用中心定位。

卷积神经网络中的stride、padding和channel概念

如图,对6x6的原图像使用3x3的卷积核进行卷积作后得到的图像是一个4x4的图像(6-3+1=4),也就是说每次进行卷积后, 原始图像都会变小失真,所以没有办法设计层数足够多的深度神经网络 ,除此之外还有另一个重要的原因是,原始图像中的边缘像素永远都不会位于卷积核的中心,只有原始图像的4x4的像素会位于中心, 这样会使得边缘像素对网络的影响小于位于中心点的像素的影响 ,不利于抽取特征。

所以为了解决这个问题,一般堆在原始图像的周围填充一圈像素,如图:

一般的图像都是三通道的,分别为R、G、B,所以卷积核也应该为三个通道,通过卷积核作用后生成的图像也会有三个,如图:

得到三个图像后,然后把这三个图像通过矩阵相加的计算得到一个“合成”图像,如图:

,将这个图像与一个偏置项(bias)相加后就会得到一个最终的结果,偏置项不影响结果的矩阵形状只影响矩阵的值,如图:

总结一下 1乘3乘3和3乘3乘3卷积核的区别是高度不同。前两个1乘3和3乘3代表的是图像的高和宽,其中的每一格是一个像素点,由于RGB图像有3个颜色通道,所以该图像的channel为3,就是两者一个3。一共就是1乘3乘3和3乘3乘3。1乘3乘3卷积核的高度是1,3乘3乘3卷积核的高度是3,所以两者的区别是高度不同。:

如果对于一个三通道即:32x32x3的图像,使用 一个 :5x5x3的卷积核,最终会得到 一个 : 28x28x1 的特征图,如图:

如果使用 两个 :5x5x3的卷积核,最终会得到 两个 :28x28x1的特征图,即: 28x28x2 ,如图:

这种方法主要的缺点如下:如果使用 六个 :5x5x3的卷积核,最终会得到 六个 :28x28x1的特征图,即: 28x28x6 ,如图:

关于卷积神经网络的卷积核个数问题

式中: 的定义与第五节中的相同

第二个卷积核是 Canny边缘检测是一种非常流行的边缘检测算法,是John Canny在1986年提出的。它是一个多阶段的算法,即由多个步骤构成。16个,每个卷积核是556,也就是说每个卷积核是6通道的

一般情况下,大小(size)是预定义的,参数是学习获得的

那第二个卷积就肯定是5516的啊,也就是16个卷积核

卷积图解法的五个步骤

2.空域卷积作用在节点的邻域上,我们通过节点的k-hop邻居来聚合得到节点的特征表示。空域卷积相比谱域卷积更加简单和高效。GraphSAGE和GAT 是空域卷积的典型代表。

1、输入

卷积作首先需要一个输入数据,可以是图像、音频或其他形式的数据。输入数据是一个数组,图像可以表示为一个二维矩阵。这个输入数据将会被卷积核与之进行卷积运算。通过改变卷积核的权重和尺寸,可以控制卷积作提取的特征种类和感知范围。

2、而在卷积神经网络中,卷积核中的每一个元素将作用于每一个局部输入的特定位置上。根据参数共享的思想,我们只需要学习一组参数,而不需要针对每一个位置的每一个参数来进行优化学习,从而大大降低了模型的存储需求。卷积核

每个卷积核都有不同的权重,这些权重决定了卷积作征提取的方式。通过调整卷积核中的权重,可以控制卷积作提取的特征类型和对输入数据的敏感度。不同的卷积核可以捕捉到不同的特征,边缘、纹理、颜色等。在训练过程中,这些权重会根据任务的需求自动学习调整。

3、卷积计算

在卷积计算中,卷积核在输入数据上进行滑动作,并与每个位置处的数据进行逐元素相乘,然后将所有结果相加。这个过程可以看作是将卷积核与输入数据进行局部的加权求和。通过滑动和相乘的作,卷积计算可以提取输入数据的局部特征信息。

4、激活函数

卷积计算得到的结果将会通过一个激活函数进行非线性变换。激活函数引入了非线性因素,可以增加模型的表达能力。常见的激活函数有ReLU、Sigmoid和Tanh等。它们可以将卷积计算得到的结果映射到一个特定的范围。

5、输出

经过激活函数的处理,卷积作的输出将会是一个新的数组。这个输出可以作为下一层网络的输入,也可以作为最终的预测结果。通过卷积作,输入数据中的特征被提取出来,并且在输出中得到了表示这些特征的新的数据表示。

卷积神经网络的卷积核 怎么确定

一般都是定了一个固定的核的,例如你2929的,就用55的核。 这些都是经验。 当然你也可以用大些的。

然后核的具体的值,就是要训练出来的,

(1) vertex domain(spatial domain) 是非常直观的一种方式。顾名思义:提取拓扑图上的空间特征,那么就把每个顶点相邻的neighbors找出来。这里面蕴含的科学问题有二:

核的初始化的话,若果你的输入是0-1之前,那么核值也可以初始化在0-1之间,不会有太大的误。

《神经网络之家》专讲神经网络这一块

中,1X1卷积核到底有什么作用

我们通过矩阵乘法将Graph上的傅里叶变换推广到矩阵形式:

11卷积的主要Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering ,把 巧妙设计成了 ,也就是:作用有以下几点:

1、降维( dimension reductionality )。比如,一张500 500且厚度depth为100 的在20个filter上做11的卷积,那么结果的大小为50050020。

2、加入非线性。卷积层之后经过激励层,11的卷积在前一层的学习表示上添加了非线性激励( non-linear activation ),提升网络的表达能力;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息