卷积神经网络
计算机视觉
图片分类,目标检测
边缘检测
垂直边缘检测
以图片6x6数字表示,3x3为卷积核filter,卷积运算原理:
从6x6的矩阵中,抽出不同的3x3的矩阵与卷积核进行乘积得到一个值,比如如上图是深色部分的矩阵为第二个3x3矩阵与卷积核进行运算,得到的值为-4,线性运算。
通常边缘检测有几种,分别对应几种不同的卷积核
垂直边缘检测/水平边缘检测
在这里,可以根据机器学习的知识理论,把filter看成是对应模型的参数w。
Padding
卷积运算存在一个缺点,像上图将6x6图片生成为4x4的图片,但是在6x6图片上,相邻选择3x3的矩阵时,对于角落和边缘位置的数值(像素)选取运算的次数较少,可能会丢失到一些有用的信息。
为了解决这样的问题,引出Padding,即在6x6的图片矩阵周围一圈,加上一层数值,使6x6矩阵变成8x8的矩阵,在与之卷积核运算。
卷积步长(stride)
卷积步长即上面提到的对6x6矩阵选取3x3矩阵的方法,当stride为1时,即套入一个3x3矩阵框架,每次框架向上或向下或者向左向右,移动一格,生成一个3x3矩阵。
实际图片
实际图片有二种形式,一种是灰色图像,图像为二维矩阵,还有有一种是彩色图像,图片由R,G,B三种颜色组成,为三维,对应卷积核也会为三维
单层卷积参数对应到线性方程的权重,偏置
卷积网络层类型
一个好的卷积神经网络流程应该是
Conv-Pool-Conv-Pool-Fc-Fc-Fc-softmax
池化层 Pool
最大池化(max pooling)
最大池化,对前一层得到的特征图,进行池化减少,仅当前小区域的最大值代表最终池化后的值
不同的池化方式也有很多种,比如:
平均池化法:取小区域的均值作为区域的值
全连接层 Fc
卷积层 Conv
卷积神经网络与普通神经网络区别
1.卷积网络。参数更少
2.参数共享:一个filter对图片的一部分有用,对图片的另一部分也有用
3.连接稀疏性,对每一层,输出值只取决于少量输入