目录
2. 卷积神经网络(Convolutional Neural Networks, CNN)
1. 神经网络(Neural Network)
神经网络,也称为人工神经网络 (ANN) 或模拟神经网络 (SNN),是机器学习的子集,并且是深度学习算法的核心。
人工神经元结构图:
人工神经网络中的神经元模仿了生物神经元的这一特性,利用激活函数将输入结果映射到一定的范围,若映射后的结果大于阈值,则神经元被激活。
一个经典的神经网络包含三个层次:输入层、隐藏层、输出层。
图中的连接线表示神经元之间的连接,每一个连接线对应一个不同的权重(其值称为权值),需通过训练得到的。
2. 卷积神经网络(Convolutional Neural Networks, CNN)
卷积神经网络是一种带有卷积结构的深度神经网络。
深度学习以及卷积神经网络的适用需要大量的有效训练数据。卷积结构可以减少深层网络占用的内存量,其三个关键的操作,其一是局部感受野,其二是权值共享,其三是 pooling 层,有效的减少了网络的参数个数,缓解了模型的过拟合问题。
图中左边是全连接,右边是局部连接
感受野:每个神经元其实只需对上一层图像的局部区域进行感知,而不需要对全局图像进行感知
权值共享:使与图像进行局部连接的所有神经元使用同一组参数
卷积神经网络整体架构:
输入层
卷积层(特征提取)
池化层(压缩特征)
全连接层
卷积神经网络的典型结构
1)输入层
对于图像的输入,不会把图像拉成一维,而是直接对图像进行提取。
如灰度图像输入为二维矩阵,矩阵的数值表示明暗。
彩色图像则为三维矩阵,带颜色通道。
2)卷积层
卷积是干嘛的?
:提取特征的。
一张图,对于不同的区域会有不同的特征
使用同一组权重参数矩阵,按一定的步长,对图中的每一个区域做卷积,得到特征图
如图为一次卷积后的结果,有实现权值共享
三维矩阵
如图,不同的通道有W参数与之对应
每个通道的二维矩阵分别与对应的W进行内积计算(对应位相乘再相加)
最后将三个通道计算的结果值相加,得到特征值
图中有W1,W2得到两张对应的特征图
卷积层涉及的参数:
滑动窗口步长
卷积核尺寸,就是滑动窗口的大小,尺寸越小,粒度越细。
边缘填充(zero padding),以0为值填充,在一定程度上弥补了一些边界信息缺失的问题。
比如,图像中间区域的信息肯定比边界区域的计算次数更多。
卷积核个数,当前卷积层有多少张特征图
现在为了方便,基本都把一个filter叫成卷积核。
3)池化层
池化也叫下采样(subsampling),概念类似于选举,本质作用是压缩。选取最具代表性的像素值替代一个区域的像素值,这样做的好出时能有效的减少特征图的参数量,减少计算量,在保障特征信息的情况下缩小特征图。
常用操作的有两种:
1、一块区域取最大,MAX POOLING(效果更好)
经过卷积后得到的特征值比较大,相当于整个网络认为这个值是比较重要的
2、一块区域取平均
最大池化示意图:
4)全连接层
卷积神经网络结构图:一次卷积一次RELU激活函数,两次卷积组合一次池化
全连接层之前的作用是提取特征,而全连接层的作用是分类
将得到的特征图拉成一维的特征向量,作为全连接层的输入
3. 常用模型
简单的介绍几种常用模型。
LeNet5
第一个CNN。
LeNet5 一共由7 层组成,分别是C1、C3、C5 卷积层,S2、S4 降采样层(降采样层又称池化层),F6 为一个全连接层,输出是一个高斯连接层,该层使用softmax 函数对输出图像进行分类。层数较少,但探索出了CNN用于分类的基本机制。
AlexNet
赢得了2012届图像识别大赛的冠军,使得CNN成为在图像分类上的核心算法模型(历史性突破)。
三个要点:
激活函数,ReLU(训练速度快,一定程度上减小了梯度消失的问题)
Dropout,解决过拟合
LRN(归一化),有助于快速收敛
引入数据增强、池化相互之间有覆盖
VGGNet
VGGNet探索了卷积神经网络深度与其性能之间的关系,成功构建出16-19层深度的CNN。VGGNet相比之前的CNN网络结构,错误率大幅下降
采用 1x1 和 3x3 的卷积核以及 2x2 的最大池化使得层数变得更深。常用 VGGNet-16 和 VGGNet19
GoogLeNet
一般来说,提升网络性能最直接的办法就是增加网络深度和宽度,这也就意味着巨量的参数。但是,巨量参数容易产生过拟合也会大大增加计算量。
GoogLeNet共22层。核心思想是在增加网络的深度和宽度的同时,减少网络的参数
(1)增加两个loss:为解决深度加深,难以优化的问题,GoogLeNet巧妙的在不同深度处增加了两个loss来避免梯度消失的现象。
(2)全局池化:使用全局池化代替全连接层,大大减小了模型参数量,同时避免了过拟合。
(3) Inception:核心亮点,是一种网中网的结构。该结构将多种尺寸的卷积及池化堆叠在一起,融合了不同尺度特征。增加了宽度的同时也增加了网络对尺度的适应性。代替人工确定卷积尺寸以及是否需要创建卷积层和池化层。不需要人为决定使用何种尺寸的卷积核,是否需要池化层等,由网络自行决定这些参数。
后续引入了1×1卷积降维升维,卷积核堆叠,残差结构的改进。
ResNet
前提:随着网络的加深,出现了训练集准确率下降的现象,且不是由过拟合造成的
残差跳跃式的结构,打破了传统的神经网络第N层的输出只能给N+1层作为输入的惯例,使某一层的输出可以直接跨过几层作为后面某一层的输入。
这样在保存了前的特征(X),同时叠加了新的特征(F(X),相对于X会损失一些细节)
如果新特征的loss很高,学习后可设置参数将F(X)的值设为0,从而保证效果不会变差
简单来说,就是如果F(X)效果好,两者叠加到一块,相当于增强了特征;如果F(X)效果不好,那
让你F(X)为零,直接用原来的X,没有损失。
参考:
卷积神经网络(CNN)详细介绍及其原理详解
神经网络:全连接层
卷积神经网络超详细介绍【深度学习】用人话讲一讲残差网络(Resnet)与梯度消失与梯度爆炸_哔哩哔哩_bilibili
1-卷积神经网络应用领域_哔哩哔哩_bilibili