您现在的位置是:首页 >学无止境 >深度学习之卷积神经网络(CNN)网站首页学无止境
深度学习之卷积神经网络(CNN)
大家好,我是带我去滑雪!
卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度学习的前馈神经网络,主要用于图像和视频识别、分类、分割和标注等计算机视觉任务。它主要由卷积层、池化层、全连接层和激活函数层等组成。其中,卷积层通过一组卷积核(权值矩阵)提取输入图像的不同特征、对其进行特征提取和抽象;池化层则通过降采样的方式减小特征图的大小,提高模型的泛化能力;全连接层则负责将卷积层和池化层的输出映射到模型最后的分类结果上。最后,激活函数层利用非线性变换使模型更加具有表达能力和拟合能力。下面依次学习关于卷积神经网络的相关知识。
目录
1、认识图像数据
位图是一种图像文件格式,也叫做栅格图像(Raster Image),它是由象素组成的图像。简单来说,一个位图就是由很多个像素点组成的。每个像素点可以保存图像中的颜色信息和位置信息,其大小和位数决定着位图的清晰度和占用的存储空间。 在位图图像中,每个像素点只能表示一种颜色,且颜色深度是固定的。由于是由固定数量的像素点组成的,所以缩放、旋转等图像变换会使图像出现锯齿等失真现象。位图通常用于存储比较简单的图形、图标、照片等,常见的位图格式有BMP、JPEG、GIF、PNG等。
卷积神经网络处理的就是位图,位图类似矩阵,每一个像素是矩阵中的一个元素,依据像素色彩分为两种:
- 黑白图:每一个像素的元素值为0~255的灰度值;
- 彩色图:每一个像素的元素值为RGB红蓝绿三原色值的向量,称为通道,三个值的范围均为0~255,其中黑色为[0,0,0],白色为[255,255,255],红色为[255,0,0],绿色为[0,255,0],蓝色为[0,0,255]。
卷积神经网络是模仿人脑视觉,使用特征来识别图片,下面学习卷积运算和池化运算。
2、卷积运算与池化运算
(1)卷积运算
卷积运算(Convolutional operation):卷积运算是指利用卷积核在图像或特征图上进行卷积操作,得到一系列新的卷积特征图。卷积核通常是一个小的矩阵,它在原始图像上按照步长移动,并与图片像素一一对应地相乘并求和,最终将卷积核的所有结果汇总在一起形成一个新的特征图。卷积运算通过不断地提取特征,将图像或特征图逐渐压缩和减小,使得后续的神经网络处理更加高效。
(2)池化运算
池化运算(Pooling operation):池化运算是对卷积特征图进行压缩或减小的一种操作,通常使用的是最大池化或平均池化,即在每个小的窗口内求取最大值或平均值,并将这个值作为该窗口的池化结果,池化运算一样采用滑动窗格。池化运算可以降低特征图的数据量,减少运算量,防止过拟合,同时能保留特征图的主要特征,使得神经网络更加易于训练和泛化。
卷积和池化在卷积神经网络中频繁使用,它们相辅相成,相互配合,共同完成图像特征的提取和抽取。
3、卷积神经网络的处理过程
卷积神经网络的处理过程:
卷积神经网络到底学习什么呢?卷积神经网络学习卷积层的权重,即滤波器,首先使用随机数初始化滤波器的矩阵内容,然后使用正向和反向传播学习权重后,滤波器可以自动识别图片所需提取的特征。
4、卷积层
卷积神经网络的卷积层,是卷积神经网络的主要组成部分之一,也是卷积神经网络中最核心的层之一。卷积层的操作是将位图原来点对点的全域比对,转换为滤波器较小范围的局部对比,通过局部小范围一块一块的特征研判来综合出识别的结果。
卷积层和全连接层有合不同:
- 在卷积神经网络中,使用全连接层,神经网络的参数量过大;
- 卷积层相比于全连接层,可以实现局部连接与权重共享;
(1)局部连接
卷积神经网络使用局部连接,从局部扩展至全域,一个一个小区域去认识,通过从各个小区域得到局部特征后,然后汇总局部特征得到完整的全域信息。
(2)权重共享
权重共享是指每一个局部连接的神经元都使用相同的权重,使用权重共享后神经网络的参数个数将会大大下降。
5、多维数据的卷积层输入与输出
(1)卷积层的输入通道数根据图片而定,彩色图的通道数为3,灰度图的通道数为1。
(2)滤波器的通道数和卷积层的输入通道数相同。
(3)卷积层的输出通道数需根据滤波器的数量而定,而卷积层的输出通道就是下一层卷积层的输入通道数。
6、Dropout层
Dropout层是神经网络的一种优化方法,可以在不增加训练数据集的情况下,对抗过拟合问题。Dropout层的目的是在损失函数中加入随机性,破坏各层神经元之间的共适性来修正前一层神经层学习方向的错误,能够让预测模型更加强壮,并提升预测模型的泛化性。
更多优质内容持续发布中,请移步主页查看。
点赞+关注,下次不迷路!