卷积神经网络简介
计算机视觉,简称CV
卷积神经网络主要应用于计算机视觉任务中
深度学习大大减少了计算机视觉邻域的错误率
卷积神经网络应用:一些传统计算机视觉任务或者以后出现的计算机视觉任务,如:图像的检测和追踪,分类和检索,超分辨重构,医学任务,无人驾驶
卷积神经网络:特征提取
核心点:怎么样进行特征提取
传统神经网络问题:权重参数矩阵大,花费训练时间多,而且过拟合风险大
卷积神经网络无非就是做卷积,做全连接,做各种运算
卷积神经网络与传统网络的区别:
传统神经网络先把数据拉成一个向量,而卷积神经网络直接对图像数据进行特征提取
整体架构:
输入层
卷积层(提取特征)
池化层(压缩特征)
全连接层
卷积层:
卷积无非就是要进行特征提取
先把图像分割成多个小块,每个区域再进行特征提取(通过权重参数矩阵,找到最好的权重参数矩阵,使得特征提取后效果能够最好)
图像颜色通道
通常是RGB三元通道(如32*32*3),R,B,G三个通道分别算一遍,再进行相加
执行卷积后得到feature map,可以使用多个卷积核,选择不同的特征矩阵得到的特征结果是不同的 比如32*32*3 可以得到6个28*28*1的特征图,即得到28*28*6的丰富的特征
多次卷积得到高级特征
卷积层涉及参数:
滑动窗口步长:步长较小,提取特征丰富
卷积核尺寸:尺寸越小越细腻
边缘填充:越往边界的点利用的次数越少,越往中间的点被最终结果利用的次数多。这不公平。所以为使边界点和中间的点同样重要,利用的机会同等多,再图像外面加一圈0,一定程度上弥补了一些边界信息的缺失的问题
卷积核个数:就是最终在算的过程中要得到多少个特征图,每个卷积核里面的数值是不一样的,一开始随机数,然后分别进行各自参数的更新
卷积结果计算公式
长度:H2=(H1-FH+2P)/S +1
宽度:W2=(W1-FW+2P)/S +1
其中W1,H1表示输入的宽度,长度;W2,H2表示输出特征图的宽度,长度;F表示卷积核长和宽的大小;S表示滑动窗口的步长;P表示边界填充(加几圈0)
卷积参数共享:实际当中,每个区域都是用相同的卷积核来进行卷积操作
池化层:
作用:压缩,选择重要的留下来
最大池化(max pooling):不同的区域里只选最大的
平均池化
如何把立体的特征图转化为5分类的概率值,卷积神经网络只是进行特征提取的,最好还得是靠全连接层
神经网络怎么样才能称为一层:带参数计算的才能称为一层。如激活层,不需要反向传播去更新一些东西,所以不算一层。池化层也不算
主流经典网络——restnet 多用
感受野:形成的特征层是由原始数据多少个参与计算得到的
很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致,加入的非线性变换也会随着增多,还不会增大权重参数个数,这就是VGG网络的基本出发点,用小的卷积核来完成体特征提取操作,还可以增多激活层层数。
7*7--->1 与 7*7--->5*5--->3*3--->1(经过三个3*3卷积核)
构建简单卷积神经网络:
一般卷积层,relu层,池化层可以写成一个套餐
注意卷积最后结果还是一个特征图,需要把图转化为向量才能做分类或者回归任务