CNN学习简要总结-2
继续学习CNN连带深度学习的一些的知识,简要记录
CNN架构
输入层-一些卷积层(卷积层-ReLU层-池化层-卷积层-……)-一些全连接层-ReLU层-softmax输出层
CNN中卷积层的意义就在于不断提取原始输入的特征,特征由局部到局部的组合(从多个局部特征中提取),特征由具体到抽象
CNN比传统DNN的参数更少,但同时提取的特征更多
卷积
一般原始输入图像几个通道(channel),卷积核就有几个通道(channel)
卷积核的个数和每个卷积核的通道数不是一个概念
每个卷积核最终都会产生一个feature map
一个卷积核可以有多个channel,共同作用产生该卷积核对应的feature map
卷积核中的值一般不是认为事先设计好的,而是在深度学习过程中训练得到的,所以卷积核越多,越大,需要训练的参数就越多
bias:偏置,为参数,需要训练
池化Pooling
CNN一般会在卷积层后面接池化层
池化的目的:降采样、减少数据量、降低计算负荷、减少参数数量、防止过拟合
减少输入图片大小也使得神经网络可以经受可以经受一点图片位移,不受位置的影响,增强抗干扰的能力
池化层与卷积层非全连接
池化层也有核,但并不需要训练,其计算方式是固定的,没有参数
通常有两种方式,最大池化(一块区域的颜色用该区域最深的颜色代替)和平均池化(把一块区域的颜色模糊)
池化的输入有几个通道,输出就有几个通道
数据增强(Data argumentation)
从现有数据产生一些新的训练样本,人工增大训练集,减少过拟合
如平移、旋转、改变大小、对比度、翻转等操作
dropout
令每一层(除了输出层之外的各种层,可以是输入层,也可以是卷积层)中的每个神经元有一定概率在本次训练中失效,从而提高模型的能力