您的位置:首页 > 其它

关于CNN的一点理解

2017-09-30 10:06 218 查看
一、卷积网络:即模拟人的视觉神经系统。(人看物体即为一个卷积过程)
CNN组成:CONV卷积层、RELU激活函数、Pooling池化层、FC全连接层
(一共8层,一般后三层是全连接层,前五层是卷积层,激活函数,池化层都有。即:前五层,每一层都有卷积层、激活函数、池化层,但是每一层中有多少层卷积层、多少层激活函数层、多少层池化层不知道。)
1、卷积层:上一层的特征图(Feature Map)被一个可学习的卷积核进行卷积。然后通过一个激活函数,就可以得到输出特征图像。
2、激活函数:(可以规范输出数值)主要有三种:RELU、sigmoid、tanh
(1)RELU:把卷积后的结果压缩为1个固定的区间(0到正无穷)。保证每一层数据运算下去都是可控的。RELU函数是例如y=kx这种形式。
(2)Sigmoid:数据在(0到1)之间
(3)Tanh:数据在(-1到1)之间(这个有点不确定), 但是sigmoid和tan会饱和(不利于反向传播梯度下降法),而RELU,只要>0,就可以学习,收敛很快。
但是sigmoid和tanh会饱和(不利于反向传播梯度下降法),而RELU,只要>0,就可以学习,收敛很快。
反向传播算法(BP)我也不太懂…
只知道它的作用是更改权值。



3、池化层(即下采样层/降采样层)
    池化层可以使特征减少,同时保持特征的局部不变性。可以减少数据量,减少运算量。选取最有代表性的数据,代替这个区域的值。常用的是平均值池化和最大值池化。池化是对上一层特征图的降采样过程。通过对上一层的特征图中相邻的小区域的聚合统计,可以获得低维的特征表示。实现了用小尺寸描述大尺寸的特征图的目的。
4、全连接层(FC):(相当于整个CNN中的分类器)
(1)是CNN的最后面部分。它是把所有节点,用一些带权重的值连接起来。
(2)其中有softmax分类器(用来形成固定长度的一维向量。固定长度是看数据集有多少类,那么就是多长。如:长度为1000:意思是只有一行,一共1000类)
(3)即:全连接层之前得到的是分布式特征图,然后经过softmax分类器,形成一维向量。
 
    一般地,CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。
  
二、过拟合(Overfitting):(RELU可以避免过拟合)
所谓过拟合,就是机器过度学习一些不必要的局部特征,造成测试集上的误判。
 
局部特征:有一部分是噪声特征
全局特征:正确的特征
 
例:天鹅:
全局特征:脖子长,身形像2(都是正确的特征)
局部特征:很不巧的,特征集中,恰好都是白色天鹅。那么就说天鹅都是白色的。(显然这是错误的,因为机器过度学习,产生了过拟合。)

三、神经网络网络基础说明:
    深度学习是机器学习的一个分支,主要指深度神经网络算法,深度神经网络比普通神经网络层次更多,能够更好地捕捉数据中的深层次关系,得到的模型较为准确,主要用来进行特征学习。
    神经网络是模仿人的神经元而建立的人工神经元系统,多输入单输出,同时输出又作为下一个神经元的输入。
    下图表示的是一个单个神经元:



把这些单个神经元组织在一起,便形成了神经网络。下图便是一个三层神经网络结构:



    上图中最左边的原始输入信息称之为输入层,最右边的神经元称之为输出层(上图中输出层只有一个神经元),中间的叫隐藏层。深度神经网络系统中的层数比较多,达到8-10层(普通神经网络的层数通常3-4层)。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: