关于卷积神经网络体系设计的理论实现

  卷积神经网络,简称CNN,经常使用于视觉图像分析的深度学习的人工神经网络。形象地来讲,这些网络结构就是由生物的神经元抽象拟合而成的。正如,每一个生物神经元能够相互通讯通常,CNN根据输入产生相似的通讯输出。算法

  若要论CNN的起源,那大概就是1980年代初了,随着最近技术的迅猛进步和计算能力的不断强大,CNN就此流行起来。简而言之,CNN技术容许在合理的时间内,利用其自身性和扩展性的算法对大量数据和复杂训练进行卷积维度的“神经”运算。目前,CNN主要应用于:基于人工智能的虚拟助手、自动照片标记、视频标记和自动驾驶汽车等方面。网络

1、卷积神经网络与常规神经网络的区别

  • CNN能处理分辨率更高的图像,解决常规神经网络不能解决的巨大计算开销问题;举个例子:若是考虑一个大小为224224个和3个通道的图像,它对应于224x224x3=150528的输入特性。一个典型的具备1000个节点的隐层神经网络在第一层自己就有150528×1000个参数。这对于常规神经网络来讲,根本就难以估量;
  • 具备检测不变性(Translation invariance)的特性,无论在识别过程当中的哪一个微时间阶段,或者图像识别的局部区域大小,都具备客观识物不变性质。

 

 

2、CNN的工做机制和原理

  卷积层都是基于卷积的数学运算。卷积层由一组滤波器组成,就像一个二维数字矩阵。而后,滤波器与输入图像合并以产生输出。在每一个卷积层中,咱们采用一个滤波器并将滤波器滑动到图像上以执行卷积操做。卷积运算的主要任务是对图像的滤波值和像素进行矩阵乘法,并将获得的值相加获得输出。框架

  

   CNN能够帮助咱们寻找特定的局部化图像特征,例如:借助图像中的边缘,咱们能够在网络初始层中,使用这些特征来寻求一个简单的模式。这一过程暂且称之为局部建模。再利用局部模型中的,划分图像的水平和垂直边缘。固然,也能够借助更深的层次结构,进行二度复杂的模式构建。函数

  一个典型的案例,就是垂直边缘检测的示例:学习

    

 

3、卷积神经网络体系结构

    首先,卷积神经网络由许许多多的卷积层进行组建,卷积层是CNN相对基础的部分。它主要负责承载CNN计算的负荷。  这个基础层有助于减小神经定义的空间,这由于符合这一特性,咱们这里姑且将这基础层喻为单元池。这使得咱们在进行相似CNN操做时,大大减小了所需的计算量和权重。目前,最所主流的检测过程也能够说是最大的池,它能检测出就近原理的最大输出。这些单元池提供了咱们前面说起的检测不变性,这也偏偏意味着,一个对象将是可识别的,不管它出如今框架上的任何位置。 人工智能

   咱们这里,能够将部分单元池按照必定的线性规则进行连接而造成新的结构体,称为全链接层(FC)。这一层的神经元与前一层或者后续一层的全部神经元,都有彻底的连通性,就像常规的神经网络中所看到的那样。这就是为何它能够像常规神经网络同样,经过矩阵乘法和偏置效应来计算。FC层还能表示输入和输出之间的映射关系。 而对于非线性的网络层来讲,因为卷积是一种线性运算,并且图像远离线性,所以常将非线性层直接置于卷积层以后,将非线性引入后直接激活映射。设计

  非线性运算有几种,流行的有:视频

  • Sigmoid:这种非线性结构具备数学层面上的表示形式。例如:F(X)=1/1+exp(-x)..它取一个实数并将其压缩到0到1之间。可是,它存在一个致命的问题——就是梯度消失问题,这是一种局部梯度变小而反向传播致使梯度消失的现象。
  • Tanh: 能够将实数压缩到范围内[-1,1]。和Sigmoid同样,触发时是饱和的,但不一样的是它的输出是以零为中心的.
  • ReLU:修正线性单元(Relu),同时计算函数ƒ(κ)=max(0,κ)。换句话说,触发时只是在零处的阈值。与Sigmoid和tanh相比,relu更可靠,收敛速度也提升了6倍不止。

 

4、 卷积神经网络的设计

  在充分了解了CNN的组成要素和工做机制以后,咱们就能够创建一个卷积神经网络了。例如:咱们可使用CIFAR 10,这是一个由50,000个示例和10,000个示例组成的训练集的数据集。每一个示例是一个32×32彩色图像,均来自10个相互关联的标签类中。对象

  在数据训练与模型的拟合过程当中,咱们采用了数据加强的方法。在所构建的网络中,使用了分批层次,经过采起具备强制性质的高斯单位分布,避免了权重矩阵初始化不当的问题。用于实现的CNN模型的体系结构:blog

相关文章
相关标签/搜索