深层的神经网络
深度学习网络与更常见的单一隐藏层神经网络的区别在于深度,深度学习网络中,每一个节点层在前一层输出的基础上学习识别一组特定的特征。随着神经网络深度增加,节点所能识别的特征也就越来越复杂。
卷积神经网络介绍:一文让你理解什么是卷积神经网络 - 简书
卷积神经网络
1、卷积神经网络的层级结构
- 数据输入层/ Input layer
- 卷积计算层/ CONV layer
- ReLU激励层 / ReLU layer
- 池化层 / Pooling layer
- 全连接层 / FC layer
全连接神经网络的缺点:
1、参数太多,在cifar-10的数据集中,只有32*32*3,就会有这么多权重,如果说更大的图片,比如200*200*3就需要120000多个,这完全是浪费
2、没有利用像素之间的位置信息,对于图像识别任务来说,每个像素与周围的像素都是联系比较紧密的。
3、层数限制(层数多了,反而可能效果不好)
神经网络的基本组成包括输入层、隐藏层、输出层。而卷积神经网络的特点在于隐藏层分为卷积层和池化层(pooling layer,又叫下采样层)
卷积层:通过在原始图像上平移来提取特征
池化层:通过特征后稀疏参数来减少学习的参数,降低网络的复杂度(最大池化和平均池化)
2、卷积层
卷积层的零填充:
卷积核在提取特征映射时的动作称之为padding(零填充),由于移动步长不一定能整出整张图的像素宽度。其中有两种方式,SAME和VALID。
- SAME:越过边缘取样,取样的面积和输入图像的像素宽度一致。
- VALID:不越过边缘取样,取样的面积小于输入的图像的像素宽度
下面的动态图形象地展示了卷积层的计算过程:
结论:
- 大小表示方式 [长, 宽, 通道数]
- 偏置数和filter个数相等
- filter个数和最后输出的通道数相等
- 上图中的filter是2,相当于有2个人去观察5*5*3的图片(3通道) ,每个filter进行内积之和加上偏置得出一个结果。最后形成2个结果(2个通道)
怎么计算卷积输出体积大小:
- 输入体积大小 H1 * W1 * D1
- 四个超参数:
- Filter数量 K
- Filter大小 F
- 步长 S
- 零填充大小 P
- 输出体积大小 H2 * W2 * D2
- H2 = (H1 - F + 2P)/S + 1
- W2 = (W1 - F + 2P)/S + 1
- D2 = K
例如:输入的图片的大小为 28 * 28 * 1(长,宽,通道数),过滤器的大小为3 * 3,有32个,步长=1,填充P=1
H2 = (28 -