0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

Wildesbeast 来源:Imagination 作者:Raodi饶弟 2020-05-24 10:11 次阅读

卷积神经网络,简称CNN,常用于视觉图像分析的深度学习的人工神经网络。形象地来说,这些网络结构就是由生物的神经元抽象拟合而成的。正如,每个生物神经元可以相互通信一般,CNN根据输入产生类似的通信输出。若要论CNN的起源,那大概就是1980年代初了,随着最近技术的迅猛进步和计算能力的不断强大,CNN就此流行起来。简而言之,CNN技术允许在合理的时间内,利用其自身性和扩展性的算法对大量数据和复杂训练进行卷积维度的“神经”运算。目前,CNN主要应用于:基于人工智能的虚拟助手、自动照片标记、视频标记和自动驾驶汽车等方面。

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

CNN能处理分辨率更高的图像,解决常规神经网络不能解决的巨大计算开销问题;举个例子:如果考虑一个大小为224224个和3个通道的图像,它对应于224x224x3=150528的输入特性。一个典型的具有1000个节点的隐层神经网络在第一层本身就有150528×1000个参数。这对于常规神经网络来说,根本就难以估量;

具有检测不变性(Translation invariance)的特性,不管在识别过程中的哪个微时间阶段,或者图像识别的局部区域大小,都具有客观识物不变性质。

二、CNN的工作机制和原理

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

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

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

首先,卷积神经网络由许许多多的卷积层进行组建,卷积层是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倍不止。

四、 卷积神经网络的设计

在充分了解了CNN的组成要素和工作机制之后,我们就可以建立一个卷积神经网络了。例如:我们可以使用CIFAR 10,这是一个由50,000个示例和10,000个示例组成的训练集的数据集。每个示例是一个32×32彩色图像,均来自10个相互关联的标签类中。在数据训练与模型的拟合过程中,我们采用了数据增强的方法。在所构建的网络中,使用了分批层次,通过采取具有强制性质的高斯单位分布,避免了权重矩阵初始化不当的问题。用于实现的CNN模型的体系结构:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    158

    文章

    7326

    浏览量

    174751
  • 神经网络
    +关注

    关注

    42

    文章

    4570

    浏览量

    98709
  • 自动驾驶
    +关注

    关注

    773

    文章

    13022

    浏览量

    163186
收藏 人收藏

    评论

    相关推荐

    【PYNQ-Z2申请】基于PYNQ的卷积神经网络加速

    项目名称:基于PYNQ的卷积神经网络加速试用计划:申请理由:本人研究生在读,想要利用PYNQ深入探索卷积神经网络的硬件加速,在PYNQ上实现
    发表于 12-19 11:37

    卷积神经网络入门资料

    卷积神经网络入门详解
    发表于 02-12 13:58

    全连接神经网络卷积神经网络有什么区别

    全连接神经网络卷积神经网络的区别
    发表于 06-06 14:21

    基于赛灵思FPGA的卷积神经网络实现设计

    FPGA 上实现卷积神经网络 (CNN)。CNN 是一类深度神经网络,在处理大规模图像识别任务以及与机器学习类似的其他问题方面已大获成功。在当前案例中,针对在 FPGA 上
    发表于 06-19 07:24

    卷积神经网络如何使用

    卷积神经网络(CNN)究竟是什么,鉴于神经网络在工程上经历了曲折的历史,您为什么还会在意它呢? 对于这些非常中肯的问题,我们似乎可以给出相对简明的答案。
    发表于 07-17 07:21

    什么是图卷积神经网络

    卷积神经网络
    发表于 08-20 12:05

    卷积神经网络的优点是什么

    卷积神经网络的优点
    发表于 05-05 18:12

    请问为什么要用卷积神经网络

    为什么要用卷积神经网络
    发表于 06-13 13:11

    卷积神经网络CNN介绍

    【深度学习】卷积神经网络CNN
    发表于 06-14 18:55

    卷积神经网络的层级结构和常用框架

      卷积神经网络的层级结构  卷积神经网络的常用框架
    发表于 12-29 06:16

    卷积神经网络(CNN)是如何定义的?

    什么是卷积神经网络?ImageNet-2010网络结构是如何构成的?有哪些基本参数?
    发表于 06-17 11:48

    卷积神经网络一维卷积的处理过程

    。本文就以一维卷积神经网络为例谈谈怎么来进一步优化卷积神经网络使用的memory。文章(卷积神经网络
    发表于 12-23 06:16

    卷积神经网络模型发展及应用

    network,DBN)[24], 从此拉开了深度学习大幕。随着深度学习理论的研究和发展,研究人员提 出了一系列卷积神经网络模型。为了比较不同模型 的质量,收集并整理了文献中模型在分类任务上的 识别率,如图 1
    发表于 08-02 10:39

    卷积神经网络为什么适合图像处理?

    卷积神经网络为什么适合图像处理?
    发表于 09-08 10:23

    卷积神经网络简介:什么是机器学习?

    抽象人工智能 (AI) 的世界正在迅速发展,人工智能越来越多地支持以前无法实现或非常难以实现的应用程序。本系列文章解释了卷积神经网络 (CNN) 及其在 AI 系统中机器学习中的重要性
    发表于 02-23 20:11