卷积神经网络(CNN)

卷积神经网络主要就是应用于计算机视觉(CV)当中!

可以做啥?

检测任务:检测追踪

分类与检索:分类看图像是啥,检索比如说淘宝里面识别一张图片得到类似商品

超分辨率重构

医学任务等

无人驾驶

人脸识别

传统神经网络与卷积神经网络的区别

卷积神经网络(CNN)_第1张图片

卷积神经网络拿到一张图像直接进行处理,不需要将图像中的点拉成一维向量;

整体架构

卷积神经网络(CNN)_第2张图片

卷积层:提取特征

池化层:压缩特征

卷积

卷积神经网络(CNN)_第3张图片

h*w*c

上面的一块小区域的样本点矩阵:

\begin{bmatrix} 3 &1 &2 \\ 2 & 0 & 0\\ 2& 0& 0 \end{bmatrix}

小区域处的权重矩阵:

\begin{bmatrix} 0 &1 & 2\\ 2&2 & 0\\ 0& 1& 2 \end{bmatrix}

图像颜色通道:平时见到的图像是由R,G,B三种通道构成的(即可以把图像看为一个三维的)

在实际计算的时候要对三种通道分别计算,最终把每个通道卷积得到的结果加在一起!

卷积神经网络(CNN)_第4张图片

例:三颜色通道分别计算:

卷积神经网络(CNN)_第5张图片

注意:输入图像的第三个维度和Filter中的第三个维度的大小必须保持一致!!!

         Filter中的前两个维度代表从输入图像中取多大的一个区域取一个特征值,第三个维度相当于对输入图像的RGB三个通道进行三次计算。

卷积的计算:矩阵内积(对应位置相乘,最后数据相加)

三个通道分别进行卷积完成后,相加,然后再加一个偏置就得到该区域的特征值了!

对于计算的到的特征图个数的情况:

卷积神经网络(CNN)_第6张图片

对于相同的数据使用不同的filter可以得到不同的特征图,然后将这些不同的特征图堆叠在一起,可以用不同的filter使得提取的特征更加丰富;

上面生成了一个28*28*6的特征图;

堆叠的卷积层

卷积神经网络(CNN)_第7张图片

卷积层设计参数

  • 滑动窗口步长

卷积神经网络(CNN)_第8张图片

  • 卷积核尺寸
  • 边缘填充

用0填充:保证原始边缘的数据得到充分的利用;

  • 卷积核个数

特征图的个数

卷积结果计算公式

长度:H2=\frac{H1-F_{H}+2P}{S}+1

宽度:W2=\frac{W1-F_{W}+2P}{S}+1

其中,H1,W1分别是输入的长度和宽度;H2、W2表示输出特征图的长度和宽度;F表示卷积核的长度和宽度;S表示滑动窗口的步长;P表示边界填充(加几圈0)。

卷积参数共享

实际中,对于一次输入图像的卷积,每个小区域所使用的卷积核是相同的;

例如对于一个7*7*3的输入图像,如果使用卷积核3*3*3,对于RGB三个通道,R通道每个小区域使用的卷积核权重参数是相同的;G通道每个小区域卷积的时候使用的权重参数是相同的;B也是;但是三个通道的权重参数是不同的。而这三个通道的权重参数组成了一个Filter(3*3*3)。

卷积神经网络(CNN)_第9张图片

池化层

卷积神经网络(CNN)_第10张图片

只会改变长和宽,C不变;

最大池化:

卷积神经网络(CNN)_第11张图片

还有average池化,但是研究表明,最大池化效果最好;

池化没有涉及到任何矩阵的计算,只是对数据进行了压缩筛选;

感受野

该层的数据是由前面多少个数据参与计算得到的(即感受到的数据)

卷积神经网络(CNN)_第12张图片

图中最后的一个红色区域的感受野是5*5;

感受野越大越好!!!

卷积神经网络(CNN)_第13张图片

你可能感兴趣的:(cnn,人工智能,神经网络)