卷积神经网络基础知识(一)
文前白话
这个系列根据哔站博主<神秘的wz>主讲的课程制作而成,主要以笔记的形式呈现,添加自己的理解以及一些思维导图,巩固所学。文末附有视频链接。\
跟小姐姐一起加油学习呀!
卷积神经网络的发展
卷积神经网络的发展简史:
反向传播机制:
LeNet 网络结构:
卷积神经网络广泛应用于图像检测、分类、分割等等方面
卷积神经网络的结构
1、全连接层
① 神经元概念
基本概念: 神经元
② 隐层
神经网络中,输入层神经元只是接受输入,不进行函数处理,所以输入层不计入层数,如果只有一个隐层,则称为单隐层神经网络。
如果只有一个隐层(两层神经元的神经网络),则称为单隐层神经网络。
如果两个隐层则称为双隐层神经网络。而只需包含隐层,就可称为多层神经网络。
用一个例子来理解 输入 / 输出 网络中的信息 的概念
① 输入图像,进行灰度化、二值化处理
注释: 原始图片有3个channel,灰度化处理以后图象只有一个channel了, 再进行二值化处理,可以理解为:二值化将像素点分为特征点和分特征点进行区分识别
② 进行特征提取:这里用用 5×3 的框进行滑移,计算白色像素点(特征点)占整个框像素点的比例, 对于边缘不够的填充框的部分进行补0处理(padding),或者提前进行预判,在边缘处重新设置框的大小
③ 对于得到的特征矩阵按行展开,得到一个 1×25 的矩阵,作为神经网络的输入
这里为什么要用行展开,可以进行深入的了解。
④ 神经网络的输出
先理解:
one-hot 编码方式:按照序列,需要表示几,相应的位置就是 1 ,其他位置都是 0
这种编码方式,可以表示神经网络输出端的结果,有了输入的特征和期望的输出,就可以使用神经网络的框架进行训练,然后输出结果。
至于输入/输出的节点数可以根据实际的需求进行设定。
2、卷积层
①卷积操作的过程
卷积的目的:对图像的特征进行提取
(上述的车牌识别案例中,用框平移,计算框内白色像素的比例就是卷积的实质过程)
进行卷积操作,需要提前选定好卷积核(滤波器)的大小, 就是框的大小,而且卷积操作的方式不唯一!!!
计算过程如下:对应位置相乘,再累加
②卷积操作的特点与注意点
卷积的特点:
①局部感知机
②权值共享(简化计算)
卷积的注意点:
① 卷积核的channel与输入特征层的channel相同
② 输出的特征矩阵channel与卷积核的数目相同
实例:
③ 附加条件下的卷积操作
问题:
解决方法:
① 对于偏移量的附件,直接在卷积得到的结果上进行运算相加减即可。
为什么要使用激活函数:
因为,线性组合的线性组合,还是线性组合。如果是线性激活函数,那么神经网络无论多少层,最后还是线性组合,而线性组合能解决的问题范围是很狭窄的。(深度学习的所谓深度就无法发挥作用了),所以,通过激活函数引入非线性因素,可以用来解决非线性问题。
常见的激活函数:
鉴于ReLU激活函数的缺点,在开始进行训练的时候,学习率大的话,容易导致激活函数失活。
③ 针对卷积过程中出现的越界现象,进行padding处理:
3、池化层
① 池化操作方式
池化层的作用:对图像的特征进行稀疏处理,以减少运算量,同时维持图像的特征
下图处理 为:取特征最大值
下图处理 为:取平均特征值
② 池化的特点
① 不像卷积(卷积核)一样,有训练参数,池化过程没有训练参数
② 池化操作只改变了特征矩阵的 宽W 和 高h
③ 一般 poolsize 的大小和 stride 步长相同
持续更新ing…
哔站up主视频链接: https://www.bilibili.com/video/BV1M7411M7D2