卷积神经网络CNN

一、结构

结构:卷积层----->池化层----->全链接层

二、卷积层

卷积层:提取出图像的特征
卷积核、填充(padding)、步长(stride)------>三者共同决定了卷积层输出特征图的尺寸
卷积层级之间的神经元是局部链接和权值共享,这样设计很大程度上减小了(w,b)的数量,加快了训练。
填充(padding)---->实现输入和输出图像大小一致 p=(f-1)/2
通道(channel):一般彩色图像有三个颜色通道,对应红、绿、蓝三种颜色
多过滤器(Multiple Filters):当检测不同特征时使用,多过滤器的个数决定了输出图像的个数。

假设输入图像:n x n
	过滤器(卷积核):f x f
	填充(padding):p x p
	步长:s x s
则输出图像:O=(n-f+2p)/s +1

卷积过程为
卷积神经网络CNN
卷积神经网络CNN

二、激活函数

(过滤器之后需要一个激活层)

定义:在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数。
作用:不使用激活函数的话,神经网络的每层都只是做线性变换,多层输入叠加后也还是线性变换。因为线性模型的表达能力通常不够,所以这时候就体现了激活函数的作用了,激活函数可以引入非线性因素。
卷积神经网络CNN

1.Sigmoid函数

Sigmoid是常用的非线性的激活函数,它的数学形式如公式:
卷积神经网络CNN
卷积神经网络CNN

2. tanh函数

tanh函数是sigmoid的变形,
卷积神经网络CNN
原公式为:
卷积神经网络CNN

其函数图像为:
卷积神经网络CNN

3.ReLU函数

中文名字:修正线性单元。其公式为:
卷积神经网络CNN
函数图像为:
卷积神经网络CNN

三、池化层(pooling)

作用:降维
是一种降采样操作(subsampling),对输入张量的各个子矩阵进行压缩,主要目标是降低feature maps的特征空间。
常见的池化标准
1.最大值池化Max pooling
卷积神经网络CNN
2.平均值池化Average pooling
3.L2池化 L2 pooling: 即取均方值保留

四、全链接层(Fully Connected Layer, 简称FC)

全连接就是个矩阵乘法,相当于一个特征空间变换,可以把有用的信息提取整合。再加上激活函数的非线性映射,多层全连接层理论上可以模拟任何非线性变换。

全连接层 每个神经元与前一层所有的神经元全部连接, 而卷积神经网络只和输入数据中的一个局部区域连接,并且输出的神经元每个深度切片共享参数。一般经过了一系列的卷积层和池化层之后,提取出图片的特征图, 比如说特征图的大小是3×3×512, 这个时候, 将特征图中的所有神经元变成全连接层的样子, 直观上也就是将一个3D的立方体重新排列, 变成一个全连接层, 里面有3×3×512=4608个神经元,再经过几个隐藏层,最后输出结果。在这个过程中为了防止过拟合会引入Dropout。 最近的研究表明, 在进入全连接层之前, 使用全局平均池化能够有效地降低过拟合。
码字不易,多多点赞

上一篇:XML,HTML,XHTML


下一篇:卷积神经网络CNN(二)