特征图
- 绿色的图是执行结果
- 可以有多种特征提取的方法,可以用多个卷积核
- 可以让特征更加丰富
- 得到6个特征图,得到比较丰富的特征
FILTER W0和W1的规格是相同的,在做计算的时候可以选择不同的卷积层,但是在同一个卷积层中必须是相同的
3*3*2
2表示的是输出结果的深度
3表示输出结果的深度和宽度
继续对别的区域做运算
step=2
把所有区域都滑动完成后,区域就做出来了,得到当前特征图的结果
选定指定大小计算内积
步长与卷积核大小对结果的影响
做一次卷积是不够的
卷积的结果是特征图
h*w*c
得到的特征图的深度是6,结果是由6个图叠加到一起的
- 卷积是一步一步做出来的。
- 卷积核的第三个值一定是和输出一摸一样的
- 在卷积中可以无限次进行堆叠
卷积神经网络中涉及的参数
- 滑动窗口的步长
- 当步长小的时候,是慢慢的细腻的提取特征,得到丰富的特征
- 选择步长的时候根据实际情况选择即可。一般为1
- 卷积核尺寸
- 卷积核最小,越细腻的一种提取3*3
边缘填充方法
+pad1
pad:填充
- 原始输入数据的特点:有重合点
- 重合点对最终结果影响多
- 有些地方只会计算一次
- 越往边界的点被利用的次数越少
- 越在中间的点被利用的次数越多,公平吗?
- 希望边界点利用的多一点
0代替边界成为新边界
- 在旁边加一圈0
卷积核个数
- 最终要得到多少个特征图
- 如10,每个卷积核中的数值都是不一样的
- 随机初始化,进行各自初始化的更新
特征图尺寸计算与参数共享
卷积结果的计算公式
- 长度
- 宽度
- p 表示加几圈0
w1,h1表示输出的宽度长度,f表示卷积核长和宽的大小,S表示滑动窗口的步长,P表示边界的填充
- c表示的是channel
- p padding
经过卷积后,输出的规模不一定变小,输出结果是
32*32*10
10是从10个filter中来的
卷积参数共享
对于不同区域,卷积核中的值应该是不同的
数据使用图像,使用10个xx规模的filter来进行卷积操作,所需要的权重参数有多少个?
每一个位置都选择相同的卷积核
- 如何计算需要的权重参数个数
- 每一个卷积核需要的参数,卷积核自身带有75个参数
- 再乘以不同的卷积核的个数
- 最后再加上每个卷积核对应的偏置参数b
- 最终得到需要的权重参数
比全连接网络的参数少的多,好训练!!!
池化层的作用
64表示得到64的特征图
池化层:做压缩的,下采样 downsampling
体积变成原来的四分之一倍
是要有选择性的压缩
在原始得到的特征基础上进行筛选。CHANNEL变了,但是长和宽不会发生改变。
MAX POOLING
选择不同区域,每个区域选择最大的值,只是做了一个筛选工作而已。
神经网络中大的值代表这个东西比较重要,只选大的,只挑比较重要的
- MAX POOLING的表现效果是最好的
- 这样就可以把区域变小的,没有涉及到任何矩阵的计算,只是一个筛选作用。
AVERAGE POOLING 不常用
- 只要最好的特征
整体网络架构
数一下网络有多少层
卷积层都会跟RELU函数搭在一起
- 两次卷积,一次池化,得到一个特征图
- 再卷积,再压缩,再池化
- 不断把所有家当都用上
如何对结果进行分类
想得到一个结果,还是需要一个全连接层
把之前提取出来的东西,拉成一个特征向量,很长,特征向量中的每一个东西都是一个值。【10240,5】,把10240个特征转换成5个类别的东西。
什么是一层?
- 带参数计算的才能称之为一层
- CONV卷积层带参数 ,乘内积带参数b
- relu层没有参数,表示的是激活层
- POOL池化层,没有参数计算
- FC全连接层需要进行参数计算
特征图的变化
转换:把长方体
转换成一条向量
向量才能进入全连接层,最终得到分类的实际结果