精华内容
下载资源
问答
  • #资源达人分享计划#
  • 基于生物启发神经网络的多AUV目标搜索.pdf
  • 基于改进生物启发神经网络的机器人目标搜索方法.pdf
  • 行业分类-物理装置-基于生物启发神经网络和强化学习的无人艇路径规划方法.zip
  • 动态生物启发神经网络,用于未知环境中的多机器人编队控制
  • 基于生物启发自组织神经网络的任务分配与路径规划.pdf
  • 第五章 卷积神经网络

    千次阅读 多人点赞 2020-01-13 07:49:37
    第五章 卷积神经网络第五章 卷积神经网络卷积一维卷积二维卷积互相关卷积的变种卷积的数学性质交换性导数卷积神经网络用卷积来代替全连接卷积层汇聚层(池化层)典型的卷积网络结构参数学习误差项的计算几种典型的卷积...

    第五章 卷积神经网络

    卷积神经网络(Convolutional Neural Network,CNN或ConvNet)是一种具有局部连接、权重共享等特性的深层前馈神经网络。

    卷积神经网络最早是主要用来处理图像信息。在用全连接前馈网络来处理图像时,会存在以下两个问题:

    (1)参数太多:如果输入图像大小为 100 × 100 × 3(即图像高度为 100,宽度 为 100,3 个颜色通道:RGB)。在全连接前馈网络中,第一个隐藏层的每个神经元到输入层都有 100 × 100 × 3 = 30, 000 个互相独立的连接,每个连接都对应一个权重参数。随着隐藏层神经元数量的增多,参数的规模也会急剧增加。这会导致整个神经网络的训练效率非常低,也很容易出现过拟合。

    (2)局部不变性特征:自然图像中的物体都具有局部不变性特征,比如尺度缩放、平移、旋转等操作不影响其语义信息。而全连接前馈网络很难提取这些局部不变性特征,一般需要进行数据增强来提高性能。

    卷积神经网络是受生物学上感受野机制的启发而提出的。感受野(Receptive Field)主要是指听觉、视觉等神经系统中一些神经元的特性,即神经元只接受其所支配的刺激区域内的信号。在视觉神经系统中,视觉皮层中的神经细胞的输出依赖于视网膜上的光感受器。视网膜上的光感受器受刺激兴奋时,将神经冲 动信号传到视觉皮层,但不是所有视觉皮层中的神经元都会接受这些信号。一个 神经元的感受野是指视网膜上的特定区域,只有这个区域内的刺激才能够激活该神经元。

    目前的卷积神经网络一般是由卷积层、汇聚层和全连接层交叉堆叠而成的前馈神经网络,使用反向传播算法进行训练。

    卷积神经网络有三个结构上的特性:局部连接权重共享以及汇聚。这些特性使得卷积神经网络具有一定程度上的平移、缩放和旋转不变性。和前馈神经网络相比,卷积神经网络的参数更少

    卷积神经网络主要使用在图像和视频分析的各种任务(比如图像分类、人脸 识别、物体识别、图像分割等)上,其准确率一般也远远超出了其它的神经网络模 型。近年来卷积神经网络也广泛地应用到自然语言处理、推荐系统等领域。

    卷积

    卷积(Convolution),也叫摺积,是分析数学中一种重要的运算。在信号处理或图像处理中,经常使用一维或二维卷积。

    一维卷积

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    二维卷积

    在机器学习和图像处理领域,卷积的主要功能是在一个图像(或某种特征) 上滑动一个卷积核(即滤波器),通过卷积操作得到一组新的特征。在计算卷积 的过程中,需要进行卷积核翻转。在具体实现上,一般会以互相关操作来代替卷 积,从而会减少一些不必要的操作或开销。

    互相关(Cross-Correlation)是一个衡量两个序列相关性的函数,通常是用滑动窗口的点积计算来实现。

    在这里插入图片描述

    互相关

    在这里插入图片描述
    在这里插入图片描述

    卷积的变种

    在卷积的标准定义基础上,还可以引入滤波器的滑动步长零填充来增加卷积的多样性,可以更灵活地进行特征抽取
    在这里插入图片描述
    在这里插入图片描述

    卷积的数学性质

    卷积有很多很好的数学性质。在本节中,我们介绍一些二维卷积的数学性 质,这些数学性质同样可以适用到一维卷积的情况。

    交换性

    在这里插入图片描述

    导数

    在这里插入图片描述
    在这里插入图片描述

    卷积神经网络

    卷积神经网络一般由卷积层、汇聚层和全连接层构成。

    用卷积来代替全连接

    根据卷积的定义,卷积层有两个很重要的性质:
    在这里插入图片描述
    在这里插入图片描述

    卷积层

    卷积层的作用是提取一个局部区域的特征,不同的卷积核相当于不同的特征提取器。上一节中描述的卷积层的神经元和全连接网络一样都是一维结构。由于卷积网络主要应用在图像处理上,而图像为两维结构,因此为了更充分地利用图像的局部信息,通常将神经元组织为三维结构的神经层,其大小为高度 M × 宽度N×深度D,由D个M ×N大小的特征映射构成。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    汇聚层(池化层)

    汇聚层(Pooling Layer)也叫子采样层(Subsampling Layer),其作用是进行特征选择,降低特征数量,从而减少参数数量。

    卷积层虽然可以显著减少网络中连接的数量,但特征映射组中的神经元个数并没有显著减少。如果后面接一个分类器,分类器的输入维数依然很高,很容易出现过拟合。为了解决这个问题,可以在卷积层之后加上一个汇聚层,从而降低特征维数,避免过拟合。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    典型的卷积网络结构

    一个典型的卷积网络是由卷积层、汇聚层、全连接层交叉堆叠而成。目前常用的卷积网络结构如图5.9所示。一个卷积块为连续 M 个卷积层和 b 个汇聚层(M通常设置为2 ∼ 5,b为0或1)。一个卷积网络中可以堆叠N个连续的卷积块, 然后在后面接着K个全连接层(N的取值区间比较大,比如1 ∼ 100或者更大; K一般为0 ∼ 2)。

    目前,整个网络结构趋向于使用更小的卷积核(比如1 × 1和3 × 3)以及更深的结构(比如层数大于 50)。此外,由于卷积的操作性越来越灵活(比如不同的步长),汇聚层的作用也变得越来越小,因此目前比较流行的卷积网络中,汇聚层的比例正在逐渐降低,趋向于全卷积网络。
    在这里插入图片描述

    参数学习

    在卷积网络中,参数为卷积核中权重以及偏置。和全连接前馈网络类似,卷 积网络也可以通过误差反向传播算法来进行参数学习。

    在全连接前馈神经网络中,梯度主要通过每一层的误差项 δ 进行反向传播, 并进一步计算每层参数的梯度。

    在卷积神经网络中,主要有两种不同功能的神经层:卷积层和汇聚层。而参数为卷积核以及偏置,因此只需要计算卷积层中参数的梯度。

    在这里插入图片描述

    误差项的计算

    卷积层和汇聚层中误差项的计算有所不同,因此我们分别计算其误差项。
    在这里插入图片描述
    在这里插入图片描述

    几种典型的卷积神经网络

    LeNet-5

    LeNet-5[LeCun 等人,1998] 虽然提出的时间比较早,但它是一个非常成功的 神经网络模型。基于 LeNet-5 的手写数字识别系统在 20 世纪 90 年代被美国很多 银行使用,用来识别支票上面的手写数字。LeNet-5 的网络结构如图5.10所示。
    在这里插入图片描述
    LeNet-5共有7层,接受输入图像大小为32 × 32 = 1024,输出对应10个类别的得分。LeNet-5 中的每一层结构如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    AlexNet

    AlexNet[Krizhevsky 等人,2012] 是第一个现代深度卷积网络模型,其首次 使用了很多现代深度卷积网络的技术方法,比如使用 GPU 进行并行训练,采用 了 ReLU 作为非线性激活函数,使用 Dropout 防止过拟合,使用数据增强来提高 模型准确率等。AlexNet 赢得了 2012 年 ImageNet 图像分类竞赛的冠军。

    AlexNet 的结构如图5.12所示,包括 5 个卷积层、3 个汇聚层和 3 个全连接层 (其中最后一层是使用 Softmax 函数的输出层)。因为网络规模超出了当时的单个 GPU 的内存限制,AlexNet 将网络拆为两半,分别放在两个 GPU 上,GPU 间
    只在某些层(比如第 3 层)进行通讯。

    在这里插入图片描述

    AlexNet 的输入为 224 × 224 × 3 的图像,输出为 1000 个类别的条件概率,具体结构如下:
    在这里插入图片描述
    此外,AlexNet 还在前两个汇聚层之后进行了局部响应归一化以增强模型的泛化能力。

    Inception 网络

    在卷积网络中,如何设置卷积层的卷积核大小是一个十分关键的问题。在 Inception网络中,一个卷积层包含多个不同大小的卷积操作,称为Inception模 块。Inception 网络是由有多个 Inception 模块和少量的汇聚层堆叠而成。

    Inception模块同时使用1 × 1、3 × 3、5 × 5等不同大小的卷积核,并将得到 的特征映射在深度上拼接(堆叠)起来作为输出特征映射。

    图5.13给出了 v1 版本的 Inception 模块结构,采用了 4 组平行的特征抽取方 式,分别为1 × 1、3 × 3、5 × 5的卷积和3 × 3的最大汇聚。同时,为了提高计算效 率,减少参数数量,Inception模块在进行3×3、5×5的卷积之前、3×3的最大汇 聚之后,进行一次1 × 1的卷积来减少特征映射的深度。如果输入特征映射之间 存在冗余信息,1 × 1的卷积相当于先进行一次特征抽取。
    在这里插入图片描述
    Inception网络最早的v1版本就是非常著名的GoogLeNet [Szegedy等人,2015]。GoogLeNet 赢得了 2014 年 ImageNet 图像分类竞赛的冠军。

    GoogLeNet由9个Inception v1模块和5个汇聚层以及其它一些卷积层和全 连接层构成,总共为 22 层网络,如图5.14所示。为了解决梯度消失问题,GoogLeNet 在网络中间层引入两个辅助分类器来加强监督信息。

    在这里插入图片描述
    Inception网络有多个改进版本,其中比较有代表性的有Inception v3网络[Szegedy等人,2016]。Inception v3网络用多层的小卷积核来替换大的卷积核,以减少计算量和参数量,并保持感受野不变。具体包括:(1)使用两层3 × 3的卷积 来替换v1中的5 × 5的卷积(;2)使用连续的n × 1和1 × n来替换n × n的卷积。 此外,Inception v3网络同时也引入了标签平滑以及批量归一化等优化方法进行训练。

    残差网络

    在这里插入图片描述
    在这里插入图片描述

    其它卷积方式

    转置卷积

    我们一般可以通过卷积操作来实现高维特征到低维特征的转换。比如在一 维卷积中,一个 5 维的输入特征,经过一个大小为 3 的卷积核,其输出为 3 维特征。 如果设置步长大于 1,可以进一步降低输出特征的维数。但在一些任务中,我们需 要将低维特征映射到高维特征,并且依然希望通过卷积操作来实现。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    微步卷积 我们可以通过增加卷积操作的步长s > 1来实现对输入特征的下采 样操作,大幅降低特征维数。同样,我们也可以通过减少转置卷积的步长s < 1 来实现上采样操作,大幅提高特征维数。步长s < 1的转置卷积也称为微步卷积Fractionally-Strided Convolution)[Long等人,2015]。为了实现微步卷积,我们
    可以在输入特征之间插入 0 来间接地使得步长变小。

    在这里插入图片描述

    在这里插入图片描述

    空洞卷积

    对于一个卷积层,如果希望增加输出单元的感受野,一般可以通过三种方式实现
    (:1)增加卷积核的大小
    (;2)增加层数,比如两层 3 × 3 的卷积可以近似一层 5 × 5 卷积的效果
    (;3)在卷积之前进行汇聚操作。前两种方式会增加参数数量,而第三种方式会丢失一些信息。

    空洞卷积(Atrous Convolution)是一种不增加参数数量,同时增加输出单 元感受野的一种方法,也称为膨胀卷积(Dilated Convolution)[Chen等人; Yu等 人,2018; 2015]。

    空洞卷积通过给卷积核插入“空洞”来变相地增加其大小。如果在卷积核的 每两个元素之间插入d − 1个空洞,卷积核的有效大小为
    在这里插入图片描述
    其中d称为膨胀率(Dilation Rate)。当d = 1时卷积核为普通的卷积核。
    在这里插入图片描述

    展开全文
  • 同样,人工神经网络和它的生物版本也有很大差异。甚至有些研究者认为应该放弃对生物类比的使用 ( 比如,称其为"单元"而不是"神经元" ),以免我们将创造力限制在生物学上。 人工神经网络是深度学习的核心。它们用途...

    点上方蓝字人工智能算法与Python大数据获取更多干货

    在右上方 ··· 设为星标 ★,第一时间获取资源

    仅做学术分享,如有侵权,联系删除

    转载于 :机器学习实战

    [ 导读 ] 我们从鸟类那里得到启发,学会了飞翔,从牛蒡那里得到启发,发明了魔术贴,还有很多其他的发明都是被自然所启发。这么说来看看大脑的组成,并期望因此而得到启发来构建智能机器就显得很合乎逻辑了。这也是人工神经网络 ( ANN ) 思想的根本来源。不过,虽然飞机的发明受鸟类的启发,但是它并不用扇动翅膀来飞翔。同样,人工神经网络和它的生物版本也有很大差异。甚至有些研究者认为应该放弃对生物类比的使用 ( 比如,称其为"单元"而不是"神经元" ),以免我们将创造力限制在生物学上。

    人工神经网络是深度学习的核心。它们用途广泛,功能强大且可扩展,使其非常适合处理大型和高度复杂的机器学习任务,例如对数十亿张图像进行分类 ( 例如Google Images ),为语音识别服务 ( 例如Apple的Siri ) 提供支持,每天向成千上万的用户推荐 ( 例如YouTube ) 观看的最佳视频,或学习在围棋游戏 ( DeepMind的AlphaGo ) 中击败世界冠军。

    那么这一切都起源自哪里呢?让我来看看人工神经网络是如何发展的!下面开始我们今天介绍的核心:

    从生物学到神经元

    令人惊讶的是,人工神经网络已经存在很长一段时间了:它们于1943年由神经生理学家沃伦·麦卡洛克 ( Warren McCulloch ) 和数学家沃尔特·皮茨 ( Walter Pitts ) 首次提出。McCulloch和Pitts在其具有里程碑意义的论文"神经活动中固有的逻辑演算"中,提出了一种简化的计算模型,该模型计算了生物神经元如何在动物大脑中协同工作,利用命题逻辑进行复杂的计算。这是第一个人工神经网络架构。从那时起,我们看到许多其他架构被发明出来。

    人工神经网络的早期成功导致人们普遍相信,我们很快将与真正的智能机器进行对话。当在1960年代我们清楚地知道不能兑现了这一承诺 ( 至少相当长一段时间 ) 后,资金流向了其他地方,人工神经网络进入了漫长的冬天。在1980年代初期,发明了新的体系结构,并开发了更好的训练技术,从而激发了人们对连接主义 ( 对神经网络的研究 ) 的兴趣。但是进展缓慢,到了1990年代,发明了其他强大的机器学习技术,例如支持向量机。这些技术似乎比人工神经网络提供了更好的结果和更坚实的理论基础,神经网络的研究再次被搁置。

    我们现在目睹了对人工神经网络的另一波兴趣。这波浪潮会像以前一样消灭吗?好吧,这里有一些充分的理由使我们相信这次是不同的,人们对人工神经网络的重新有兴趣将对我们的生活产生更深远的影响:

    • 现在有大量数据可用于训练神经网络,并且在非常大和复杂的问题上,人工神经网络通常优于其他机器学习技术。

    • 自1990年代以来,计算能力的飞速增长使得现在有可能在合理的时间内训练大型神经网络。这部分是由于摩尔定律(集成电路中的器件数量在过去的50年中,每两年大约增加一倍),这还要归功于游戏产业,这刺激了数百万计强大的GPU卡的生产。此外,云平台已使所有人都可以使用这个功能。

    • 训练算法已得到改进。公平地说,它们仅与1990年代使用的略有不同,但是这些相对较小的调整产生了巨大的积极影响。

    • 在实践中,人工神经网络的一些理论局限性被证明是良性的。例如,许多人认为ANN训练算法注定要失败,因为它们可能会陷入局部最优解,但事实证明,这在实践中相当罕见 ( 而且在这种情况下,它们通常与全局最优解相当接近 )。

    • 人工神经网络似乎已经进入了资金和发展的良性循环。基于人工神经网络的好产品会成为头条新闻,这吸引了越来越多的关注和资金,从而产生了越来越多的进步甚至惊人的产品。

    01、生物神经元

    在讨论人工神经元之前,让我们快速看一下生物神经元 ( 图1 )。它是一种看起来不寻常的细胞,主要存在于动物的大脑中。它由包含核和大多数细胞复杂成分的细胞体组成,其中许多分支延伸称为树突,再加上一个很长的延伸称为轴突。轴突的长度可能比细胞体长几倍,或者长几万倍。轴突在其末端附近分裂成许多分支,称为端粒,在这些分支的顶端是称为突触末端 ( 或简称为突触 ) 的微小结构,与其他神经元的树突或细胞体相连。

    生物神经元产生短的电脉冲称为动作电位 ( AP,或只是信号 ),它们沿着轴突传播,使突触释放称为神经递质的化学信号。当神经元在几毫秒内接收到足够数量的这些神经递质时,它会激发自己的电脉冲 ( 实际上,它取决于神经递质,因为其中一些会抑制神经元的发射 )。

    图1. 生物神经元

    因此,单个生物神经元的行为似乎很简单,但是它们组成了数十亿个庞大的网络,每个神经元都与数千个其他神经元相连。高度复杂的计算可以通过相当简单的神经元网络来执行,就像复杂的蚁丘可以通过简单蚂蚁的共同努力而出现一样。生物神经网络 ( BNNs ) 的架构仍是活跃的研究主题,但大脑的某些部分已被绘制成图,似乎神经元通常组织成连续的层,尤其是在大脑皮层中 ( 大脑的外层 ),如图2所示。

    图2. 生物神经网络 ( 人类皮层 ) 中的很多层

    02、神经元的逻辑计算

    McCulloch和Pitts提出了一个非常简单的生物神经元模型,该模型后来被称为神经元:它具有一个或多个二进制 ( 开/关 ) 输入和一个二进制输出。当超过一定数量的输入处于激活状态时,人工神经元将激活其输出。在他们的论文中,表明即使使用这样的简化模型,也可以构建一个人工神经元网络来计算所需的任何逻辑命题。

    为了了解这种网络的工作原理,让我们构建一些执行各种逻辑计算的ANN ( 图3 ),假设神经元的至少两个输入处于激活状态时,神经元就会被激活。

    图3. ANNs 执行简单的逻辑运算

    让我们看看这些网络的作用:

    • 左边的第一个网络是恒等函数:如果神经元A被激活,那么神经元C也被激活 ( 因为它从神经元A接收到两个输入信号 );但是如果神经元A关闭,那么神经元C也关闭。

    • 第二个网络执行逻辑AND:仅当神经元A和B都被激活 ( 单个输入信号不足以激活神经元C ) 时,神经元C才被激活。

    • 第三个网络执行逻辑OR:如果神经元A或神经元B被激活 ( 或两者都激活 ),则神经元C被激活。

    • 最后,如果我们假设输入连接可以抑制神经元的活动 ( 生物神经元就是这种情况 ),则第四网络计算出一个稍微复杂的逻辑命题:只有在神经元A处于活动状态和神经元B关闭时,神经元C才被激活。如果神经元A一直处于活动状态,那么你会得到逻辑非:神经元B关闭时神经元C处于活动状态,反之亦然。

    你可以想象如何将这些网络组合起来以计算复杂的逻辑表达式。

    03、感知器

    感知器是最简单的ANN架构之一,由Frank Rosenblatt于1957年发明。它基于稍微不同的人工神经元 ( 见图4 ),称为阈值逻辑单元 ( TLU ),有时也称为线性阈值单元 ( LTU )。输入和输出是数字 ( 而不是二进制开/关值 ),并且每个输入连接都与权重相关联。TLU计算其输入的加权总和 ( z = w1x1 + w2x2 + … + wnxn = xTw ),然后将阶跃函数应用于该和并输出结果:hw(x) = step(z),其中z = xTw。

    图4. 阈值逻辑单元:人工神经元,计算其输入的加权和,然后应用阶跃函数

    感知器中最常用的阶跃函数是Heaviside阶跃函数 ( 见公式1 )。有时使用符号函数代替。

    公式1. 感知器中使用的常见阶跃函数 ( 假设阈值=0 )

    单个TLU可用于简单的线性二进制分类。它计算输入的线性组合,如果结果超过阈值,则输出正类。否则,它将输出负类 ( 就像逻辑回归或线性SVM分类器一样 )。例如,你可以使用单个TLU根据花瓣的长度和宽度对鸢尾花进行分类 ( 就像我们在前面的章节中所做的那样,还添加了额外的偏移特征x0=1 )。在这种情况下,训练TLU意味着找到w0,w1和w2的正确值 ( 稍后将讨论训练算法 )。

    感知器仅由单层TLU 组成,每个TLU连接到所有的输入。当一层中的所有神经元都连接到上一层中的每个神经元 ( 即其输入神经元 ) 时,该层称为全连接层或密集层。感知器的输入被送到称为输入神经元的特殊直通神经元:它们输出被送入的任何输入。所有输入神经元形成输入层。此外,通常会添加一个额外的偏置特征 ( x0 = 1 ):通常使用一种称为"偏置神经元"的特殊类型的神经元来表示该特征,该神经元始终输出1。具有两个输入和三个输出的感知器如图5所示。该感知器可以将实例同时分为三个不同的二进制类,这使其成为多输出分类器。

    图5. 具有两个输入神经元,一个偏置神经元和三个输出神经元的感知器的结构

    借助线性代数的魔力,公式10-2使得可以同时为多个实例高效地计算出一层人工神经元的输出。

    公式2  计算全连接层的输出

    在此等式中:

    • 与往常一样,X代表输入特征的矩阵。每个实例一行,每个特征一列。

    • 权重矩阵W包含除偏置神经元外的所有连接权重。在该层中,每个输入神经元一行,每个人工神经元一列。

    • 偏置向量b包含偏置神经元和人工神经元之间的所有连接权重。每个人工神经元有一个偏置项。

    • 函数φ称为激活函数:当人工神经元是TLU时,它是阶跃函数 ( 但我们在后面会讨论其他激活函数 )。

    那么,感知器如何训练?Rosenblatt提出的感知器训练算法在很大程度上受Hebb规则启发。唐纳德·赫布 ( Donald Hebb ) 在其1949年的《行为组织》 ( Wiley ) 中提出,当一个生物神经元经常触发另一个神经元时,这两个神经元之间的联系就会增强。后来,Siegrid Lowel用有名的措辞概括了赫布的思想,即"触发的细胞,连接在一起"。也就是说,两个神经元同时触发时,它们之间的连接权重会增加。该规则后来被称为Hebb规则 ( 或Hebb学习 )。使用此规则的变体训练感知器,该变体考虑了网络进行预测时所犯的错误;感知器学习规则加强了有助于减少错误的连接。更具体地说,感知器一次被送入一个训练实例,并且针对每个实例进行预测。对于产生错误预测的每个输出神经元,它会增强来自输入的连接权重,这些权重将有助于正确的预测。该规则如公式3所示。

    公式3. 感知器学习规则 ( 权重更新 )

    在此等式中:

    • Wi,j是第i个输入神经元和第j个输出神经元之间的连接权重。

    • xi是当前训练实例的第i个输入值。

    • y^j是当前训练实例的第j个输出神经元的输出。

    • yj是当前训练实例的第j个输出神经元的目标输出。

    • η是学习率。

    每个输出神经元的决策边界都是线性的,因此感知器无法学习复杂的模式 ( 就像逻辑回归分类器一样 )。但是,如果训练实例是线性可分的,Rosenblatt证明了该算法将收敛到一个解。这被称为感知器收敛定理。

    Scikit-Learn提供了一个Perceptron类,该类实现了单个TLU网络。它可以像你期望的那样使用,例如,在iris数据集上:

    import numpy as np
    from sklearn.datasets import load_iris
    from sklearn.linear_model import Perceptron
    iris = load_iris()
    X = iris.data[:, (2, 3)] # petal length, petal width
    y = (iris.target == 0).astype(np.int) # Iris setosa?
    per_clf = Perceptron()
    per_clf.fit(X, y)
    y_pred = per_clf.predict([[2, 0.5]])
    

    你可能已经注意到,感知器学习算法非常类似于随机梯度下降。实际上,Scikit-Learn的Perceptron类等效于使用具有以下超参数的SGDClassifier:loss =" perceptron",learning_rate ="constant",eta0 = 1 ( 学习率 ) 和penalty = None ( 无正则化 )。

    请注意,与逻辑回归分类器相反,感知器不输出分类概率;相反,他们基于硬阈值进行预测。这是逻辑回归胜过感知器的原因。

    Marvin Minsky和Seymour Papert在1969年的专着Perceptron中,特别指出了感知器的一些严重缺陷,即它们无法解决一些琐碎的问题 ( 例如,异或 ( XOR ) 分类问题;参见图6的左侧 )。任何其他线性分类模型 ( 例如逻辑回归分类器 ) 都是如此,但是研究人员对感知器的期望更高,有些人感到失望,他们完全放弃了神经网络,转而支持更高层次的问题,例如逻辑,解决问题和搜索。

    事实证明,可以通过堆叠多个感知器来消除感知器的某些局限性。所得的ANN称为多层感知器 ( MLP )。MLP可以解决XOR问题,你可以通过计算图6右侧所示的MLP的输出来验证:输入 ( 0,0 ) 或 ( 1,1 ) ,网络输出0 ,输入 ( 0,1 ) 或 ( 1,0 ) 输出1。所有连接的权重等于1,但显示权重的四个连接除外。尝试验证该网络确实解决了XOR问题!

    图6. XOR分类问题和解决该问题的MLP

    04、多层感知器和反向传播

    MLP由一层 ( 直通 ) 输入层,一层或多层TLU ( 称为隐藏层 ) 和一个TLU的最后一层 ( 称为输出层 ) 组成 ( 请参见图7 )。靠近输入层的层通常称为较低层,靠近输出层的层通常称为较高层。除输出层外的每一层都包含一个偏置神经元,并完全连接到下一层。

    图10-7. 具有两个输入,有四个神经元的一个隐藏层和三个输出神经元的多层感知器的结构 ( 此处显示了偏置神经元,但通常是隐含的 )

    信号仅沿一个方向 ( 从输入到输出 ) 流动,因此该结构是前馈神经网络 ( FNN ) 的例子。

    当一个ANN包含一个深层的隐藏层时,它称为深层神经网络 ( DNN )。深度学习领域研究DNN,更广泛地讲包含深度计算堆栈的模型。即便如此,只要涉及神经网络 ( 甚至是浅层的神经网络 ),许多人就会谈论深度学习。

    多年来,研究人员一直在努力寻找一种训练MLP的方法,但没有成功。但在1986年,大卫·鲁梅尔哈特 ( David Rumelhart ),杰弗里·欣顿 ( Geoffrey Hinton ) 和罗纳德·威廉姆斯 ( Ronald Williams ) 出版了开创性的论文介绍了反向传播训练算法,该算法至今仍在使用。简而言之,它是使用有效的技术自动计算梯度下降:在仅两次通过网络的过程中 ( 一次前向,一次反向 ),反向传播算法能够针对每个模型参数计算网络误差的梯度。换句话说,它可以找出应如何调整每个连接权重和每个偏置项以减少误差。一旦获得了这些梯度,它便会执行常规的梯度下降步骤,然后重复整个过程,直到网络收敛到有解。

    自动计算梯度称为自动微分,或者audodiff 。有各种autodiff技术,各有优缺点。反向传播使用的一种称为反向模式。它快速而精确,并且非常适用于微分函数具有多个变量 

    ( 例如,连接权重 ) 和少量输出 ( 例如,一个损失 ) 的情况。

    让我们更详细地介绍一下该算法:

    • 它一次处理一个小批量 ( 例如,每次包含32个实例 ),并且多次遍历整个训练集。每次遍历都称为一个轮次。

    • 每个小批量都传递到网络的输入层,然后将其送到第一个隐藏层。然后该算法将计算该层中所有神经元的输出 ( 对于小批量中的每个实例 )。结果传递到下一层,计算其输出并传递到下一层,以此类推,直到获得最后一层的输出,即输出层。这就是前向通路:就像进行预测一样,只是保留了所有中间结果,因为反向遍历需要它们。

    • 接下来,该算法测量网络的输出误差 ( 该算法使用一种损失函数,该函数将网络的期望输出与实际输出进行比较,并返回一些误差测量值 )。

    • 然后,它计算每个输出连接对错误的贡献程度。通过应用链式法则 ( 可能是微积分中最基本的规则 ) 来进行分析,从而使此步骤变得快速而精确。

    • 然后,算法再次使用链式法则来测量这些错误贡献中有多少是来自下面层中每个连接的错误贡献,算法一直进行,到达输入层为止。如前所述,这种反向传递通过在网络中向后传播误差梯度,从而有效地测量了网络中所有连接权重上的误差梯度 ( 因此称为算法 )。

    • 最终,该算法执行梯度下降步骤,使用刚刚计算出的误差梯度来调整网络中的所有连接权重。

    该算法非常重要,值得再次总结:对于每个训练实例,反向传播算法首先进行预测 ( 正向传递 ) 并测量误差,然后反向经过每个层以测量来自每个连接的误差贡献 ( 反向传递 ),最后调整连接权重以减少错误 ( 梯度下降步骤 )。

    随机初始化所有隐藏层的连接权重很重要,否则训练将失败。例如,如果将所有权重和偏置初始化为零,则给定层中的所有神经元将完全相同,因此反向传播将以完全相同的方式影响它们,因此它们将保持相同。换句话说,尽管每层有数百个神经元,但是你的模型会像每层只有一个神经元一样工作:不会太聪明。相反,如果你随机初始化权重,则会破坏对称性,并允许反向传播来训练各种各样的神经元。

    为了使该算法正常工作,作者对MLP的体系结构进行了重要更改:他们将阶跃函数替换为逻辑函数 ( sigmoid ),σ(z) = 1 / (1 + exp(–z))。这一点很重要,因为阶跃函数仅包含平坦段,因此没有梯度可使用 ( 梯度下降不能在平面上移动 ),而逻辑函数在各处均具有定义明确的非零导数,从而使梯度下降在每一步都可以有所进展。实际上,反向传播算法可以与许多其他激活函数 ( 不仅是逻辑函数 ) 一起很好地工作。这是另外两个受欢迎的选择:

    双曲正切函数:tanh(z) = 2σ(2z) – 1

    与逻辑函数一样,该激活函数为S形,连续且可微,但其输出值范围为-1至1 ( 而不是逻辑函数的从0到1 )。在训练开始时,该范围倾向于使每一层的输出或多或少地以0为中心,这通常有助于加快收敛速度。

    线性整流单位函数:ReLU(z) = max(0, z)

    ReLU函数是连续的,但不幸的是,在z = 0时,该函数不可微分 ( 斜率会突然变化,这可能使梯度下降反弹 ),并且其导数为0 如果z<0。但是,实际上它运行良好并且具有计算快速的优点,因此它已成为默认值< span="">。最重要的是,它没有最大输出值这一事实有助于减少"梯度下降"期间的某些问题。

    这些流行的激活函数及其派生函数如图8所示。可是等等!为什么我们首先需要激活函数?好吧,如果你连接多个线性变换,那么你得到的只是一个线性变换。例如,如果f(x) = 2x + 3且g(x) = 5x – 1,则连接这两个线性函数可以得到另一个线性函数:f(g(x))= 2 ( 5x – 1 ) + 3 = 10x +1。因此,如果层之间没有非线性,那么即使是很深的层堆叠也等同于单个层,因此你无法解决非常复杂的问题。相反,具有非线性激活的足够大的DNN理论上可以近似任何连续函数。

    图8. 激活函数及其派生

    好!你知道神经网络来自何处,其结构是什么以及如何计算其输出。你还了解了反向传播算法。

    但是,你到底可以使用它们做什么呢?我们将在下次分享~

    ---------♥---------

    声明:本内容来源网络,版权属于原作者

    图片来源网络,不代表本公众号立场。如有侵权,联系删除

    AI博士私人微信,还有少量空位

    如何画出漂亮的深度学习模型图?

    如何画出漂亮的神经网络图?

    一文读懂深度学习中的各种卷积

    点个在看支持一下吧

    展开全文
  • 神经网络 人工神经网络是一种简单的计算机模型,其灵感来自于 生物的神经系统。 我的目标只是以一种简单的方式来解释人工神经网络,首先我们需要从一些历史入手: McCulloch&Pitts(1943)的人工神经元模型 赫布...
  • CNN卷积神经网络原理详解(上)

    万次阅读 多人点赞 2019-10-18 23:59:17
    CNN卷积神经网络原理详解(上)前言卷积神经网络生物背景我们要让计算机做什么?卷积网络第一层全连接层训练 前言 卷积网络(convolutional network),也叫作卷积神经网络(convolutional neural network,CNN),是...

    前言

    卷积网络(convolutional network),也叫作卷积神经网络(convolutional neural network,CNN),是一种专门用来处理具有类似网格结构的数据的神经网络。卷积网络在诸多应用领域都表现优异。‘卷积神经网络’一词表明该网络使用了卷积(convolutional)这种数学运算。卷积神经网络的运作模式如下图所示:


    上图只是一个卷积神经网络的基本构成,其中卷积层和池化层可以根据实际情况任意增加。当前卷积神经网络的应用场合非常广泛,比如图像识别,自然语言处理,灾难性气候预测甚至围棋人工智能等,但是最主要的应用领域还是图像识别领域。
    那么问题来了,为什么要用卷积神经网络来做这个事情呢?

    卷积神经网络的生物背景

    在这里插入图片描述

    如上图所示,人看到的图像,经过大脑的处理,最后呈现给我们的就是这个图像本身,而电脑看到的图像,实际上是一堆像素点的集合。面对这堆像素点,电脑并不知道这是个什么东西。那么我们需要电脑做什么呢?当然是让电脑辨认出这堆像素点所代表的那个图像。怎么做呢?伟大的科学家们这里借鉴了神经生物学家对猫在观察事物时候大脑皮层的工作原理提出了神经网络的概念。

    关于这个实验,网上和参考书上有详细介绍,这里总结就是,大脑皮层不同部位对外界刺激的敏感程度、反应程度不同。这就很好的启发了神经网络的计算核心,不断的寻找特征点,最终得出输入的到底是什么图像这个问题。

    我们要让计算机做什么?

    我们以图像为例,假定当我们的计算机看到一幅图片的时候,它实际上看到的是一组像素值。根据图像的分辨率和大小,假定它看到的是32x32x3的数组,这里的3代表这是一幅RGB的彩色图像。其中每一个数字的值都是0到255不等,代表了像素值的强弱。这些数字对于我们进行图像分类时毫无意义,这是计算机唯一可用的输入。这个想法是,你给计算机这个数组的输入,它最终会输出数字,描述了图像是一个类的概率(0.85为猫,0.1为狗,0.05为鸟等)。

    现在我们知道这个问题以及输入和输出了,我们来思考如何解决这个问题。我们希望计算机做的是能够区分所有的图像,并找出使狗成为狗或使猫成为猫的独特功能。这也是下意识地在我们的脑海中继续的过程。当我们看一张狗的照片时,如果照片具有可识别的特征,例如爪子或四条腿,我们可以将其分类。以类似的方式,计算机能够通过查找诸如边缘和曲线等低级特征来执行图像分类,然后通过一系列卷积层来构建更抽象的概念。这是一个CNN的一般概述。我们来详细说明一下。

    回到具体细节。有关CNN做的更详细的概述是,您将图像传递给一系列卷积,非线性,汇聚(下采样)和完全连接的图层,并获得输出。正如我们前面所说的那样,输出可以是一个类或者一个最能描述图像的类的概率。那么问题来了,每一层计算机都做了什么呢?

    卷积网络第一层

    这一层的理论意义
    卷积网络的第一层一定是一个卷积层,在研究卷积层是干啥的之前我们首先要明确的是这一层我们的输入是上文提到的图像的像素数值组。现在回到我们的问题,卷积层是干啥的。卷积层就是从这个像素数值组中提取最基本的特征。如何提取呢?我们假定输入的图像是一个32x32x3的数组,我们用一个5x5x3(最后乘以3是为了在深度上保持和输入图像一致,否则数学上无法计算)的模板沿着图像的左上角一次移动一个格子从左上角一直移动到右下角。输入的图像数组我们称为接受域,我们使用的模板叫做滤波器(也叫卷积核)。滤波器也是由数组组成,其中每个数字称为权重。输入的数组经过这一轮卷积输出的数组大小为28x28(32-5+1),深度由卷积核的数量决定。这个过程如下图所示:

    在这里插入图片描述
    这一层的实际意义
    但是,让我们从高层次谈论这个卷积实际上在做什么。每个这些过滤器都可以被认为是功能标识符。当我说功能时,我正在谈论的是直线边缘,简单的颜色和曲线。想想所有图像的共同点,最简单的特点。假设我们的第一个过滤器是5 x 5 x 3并且将成为曲线检测器。(在本节中,为了简单起见,让我们忽略过滤器深度为3单位的事实,并且只考虑过滤器和图像的顶部深度切片)。作为曲线检测器,过滤器将具有像素结构,沿曲线形状的区域是更高的数值(请记住,我们正在讨论的这些滤波器只是数字!)。
    在这里插入图片描述

    全连接层

    这个图层基本上需要一个输入量(无论输出是在其之前的conv或ReLU还是pool层),并输出一个N维向量,其中N是程序必须从中选择的类的数量。例如,如果你想要一个数字分类程序,N将是10,因为有10个数字。这个N维向量中的每个数字表示某个类别的概率。例如,如果用于数字分类程序的结果向量是[0.1.175 0 0 0 0 0 .05],那么这代表10%的概率,即图像是1,10%的概率图像是2,图像是3的概率是75%,图像是9的概率是5%(注意:还有其他方法可以表示输出,但我只是展示了softmax方法)。完全连接图层的工作方式是查看上一层的输出(我们记得它应该代表高级特征的激活图),并确定哪些特征与特定类最相关。例如,如果程序预测某些图像是狗,则在激活图中将具有高值,例如爪子或4条腿等的高级特征。类似地,如果程序预测某图像是鸟,它将在激活地图中具有很高的价值,代表像翅膀或喙等高级特征。基本上,FC层看着什么高级特征与特定类最强关联,并具有特定的权重,以便当你计算权重与上一层之间的乘积。

    在这里插入图片描述

    训练

    在我们搭建完毕神经网络的结构之后,我们需要对这个网络进行训练。训练的过程就是给这个网络模型不断的提供任务,让模型在执行任务的过程中积累经验,最终对类似的事件可以做出正确的判断。通俗的解释就是,假设我们教导一个小孩子认识狗,我们会给他看各种各样的狗,并告诉他,这是狗时间长了之后,当小孩见到狗这个物种的时候,就自然而然的知道是狗了。当然有时候也会有例外。比如来了一只狼,也许就会被误认为也是狗(狼狗)。造成这个误差的原因也许是我们给小孩看的狗的样本还不够多(可以理解为数据量不够,欠拟合),也有可能是我们教的方式不是最好的(选用的模型不是最优的)

    现在回到我们的网络模型问题上,第一个conv层中的过滤器如何知道要查找边和曲线?完全连接的图层如何知道要查看的激活图?每层中的过滤器如何知道有什么值?计算机能够调整其过滤值(或权重)的方式是通过称为反向传播的训练过程。
    在我们进入反向传播之前,我们必须先退后一步,讨论神经网络的工作需求。现在我们都出生了,我们的思想是新鲜的(神经网络搭建好了,但是还未训练)。我们不知道什么是猫,狗或鸟。以类似的方式,在CNN开始之前,权重或筛选值是随机的。过滤器不知道寻找边缘和曲线。在更高层的过滤器不知道寻找爪子和喙。然而,随着年龄的增长,我们的父母和老师向我们展示了不同的图片和图片,并给了我们相应的标签。被赋予形象和标签的想法是CNN经历的培训过程。在深入研究之前,我们假设我们有一套训练集,其中包含成千上万的狗,猫和鸟的图像,每个图像都有一个这个图像是什么动物的标签。

    反向传播可以分为4个不同的部分,正向传递,丢失函数,反向传递和权重更新。在正向传球过程中,您将会看到一张训练图像,我们记得这是一个32 x 32 x 3的数字数组,并将其传递给整个网络。在我们的第一个训练样例中,由于所有的权值或过滤值都是随机初始化的,因此输出结果可能类似[.1.1.1.1.1.1.1.1.1.1],基本上是输出不了任何准确数字。网络以其当前的权重无法查找这些低级特征,因此无法就分类的可能性作出任何合理的结论。这转到损失功能反向传播的一部分。请记住,我们现在使用的是训练数据。这个数据有一个图像和一个标签。例如,假设输入的第一个训练图像是3,图像的标签是[0 0 0 1 0 0 0 0 0 0]。损失函数可以用许多不同的方式来定义,但常见的是MSE(均方误差)。

    假设变量L等于该值。正如你可以想象的那样,第一对训练图像的损失将非常高。现在,让我们直观地思考这个问题。我们希望达到预测的标签(ConvNet的输出)与训练标签相同的点(这意味着我们的网络得到了预测权)。为了达到这个目的,我们希望最小化损失量我们有。将这看作是微积分中的一个优化问题,我们想要找出哪些输入(权重在我们的情况下)是最直接导致网络损失(或错误)的因素。

    tips
    关于卷积神经网络的数学含义,我会在CNN卷积神经网络原理详解(下)里面详细解释。
    传送门:
    CNN卷积神经网络原理详解(中)
    CNN卷积神经网络原理详解(下)

    展开全文
  • 生物神经系统和人工神经网络 (ANN) 的启发,提出了一种新的元启发式优化算法来解决复杂的优化问题。 所提出的方法称为神经网络算法 (NNA),它是基于 ANN 的独特结构开发的。 NNA 受益于 ANN 及其运算符的复杂结构...
  • 首先建立三维生物启发神经网络模型, 利用此模型表示AUV的三维工作环境, 神经网络中的每一个神经元与栅格地图中的位置单元一一对应; 然后, 根据神经网络中神经元的活性输出值分布情况自主规划AUV的运动路径. 静态...
  • Bionet 模拟了一个受生物启发神经网络,由可以以任意配置连接的感觉神经元、中间神经元和运动神经元组成。 信号一次一个突触通过网络传播。 网络行为被定义为一系列感觉运动神经元放电。 Bionet 还具有网络形态...
  • 图像识别技术原理和神经网络的图像识别技术

    万次阅读 多人点赞 2019-03-03 19:44:58
    图像识别技术是信息时代的一门...简单分析了图像识别技术的引入、其技术原理以及模式识别等,之后介绍了神经网络的图像识别技术和非线性降维的图像识别技术及图像识别技术的应用。从中可以总结出图像处理技术的应用...

    图像识别技术是信息时代的一门重要的技术,其产生目的是为了让计算机代替人类去处理大量的物理信息。随着计算机技术的发展,人类对图像识别技术的认识越来越深刻。图像识别技术的过程分为信息的获取、预处理、特征抽取和选择、分类器设计和分类决策。简单分析了图像识别技术的引入、其技术原理以及模式识别等,之后介绍了神经网络的图像识别技术和非线性降维的图像识别技术及图像识别技术的应用。从中可以总结出图像处理技术的应用广泛,人类的生活将无法离开图像识别技术,研究图像识别技术具有重大意义。

    1图像识别技术的引入

    图像识别是人工智能的一个重要领域。图像识别的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。图像识别,顾名思义,就是对图像做出各种处理、分析,最终识别我们所要研究的目标。今天所指的图像识别并不仅仅是用人类的肉眼,而是借助计算机技术进行识别。虽然人类的识别能力很强大,但是对于高速发展的社会,人类自身识别能力已经满足不了我们的需求,于是就产生了基于计算机的图像识别技术。这就像人类研究生物细胞,完全靠肉眼观察细胞是不现实的,这样自然就产生了显微镜等用于精确观测的仪器。通常一个领域有固有技术无法解决的需求时,就会产生相应的新技术。图像识别技术也是如此,此技术的产生就是为了让计算机代替人类去处理大量的物理信息,解决人类无法识别或者识别率特别低的信息。

    1.1图像识别技术原理

    其实,图像识别技术背后的原理并不是很难,只是其要处理的信息比较繁琐。计算机的任何处理技术都不是凭空产生的,它都是学者们从生活实践中得到启发而利用程序将其模拟实现的。计算机的图像识别技术和人类的图像识别在原理上并没有本质的区别,只是机器缺少人类在感觉与视觉差上的影响罢了。人类的图像识别也不单单是凭借整个图像存储在脑海中的记忆来识别的,我们识别图像都是依靠图像所具有的本身特征而先将这些图像分了类,然后通过各个类别所具有的特征将图像识别出来的,只是很多时候我们没有意识到这一点。当看到一张图片时,我们的大脑会迅速感应到是否见过此图片或与其相似的图片。其实在“看到”与“感应到”的中间经历了一个迅速识别过程,这个识别的过程和搜索有些类似。在这个过程中,我们的大脑会根据存储记忆中已经分好的类别进行识别,查看是否有与该图像具有相同或类似特征的存储记忆,从而识别出是否见过该图像。机器的图像识别技术也是如此,通过分类并提取重要特征而排除多余的信息来识别图像。机器所提取出的这些特征有时会非常明显,有时又是很普通,这在很大的程度上影响了机器识别的速率。总之,在计算机的视觉识别中,图像的内容通常是用图像特征进行描述。

    1.2模式识别

    模式识别是人工智能和信息科学的重要组成部分。模式识别是指对表示事物或现象的不同形式的信息做分析和处理从而得到一个对事物或现象做出描述、辨认和分类等的过程。

    计算机的图像识别技术就是模拟人类的图像识别过程。在图像识别的过程中进行模式识别是必不可少的。模式识别原本是人类的一项基本智能。但随着计算机的发展和人工智能的兴起,人类本身的模式识别已经满足不了生活的需要,于是人类就希望用计算机来代替或扩展人类的部分脑力劳动。这样计算机的模式识别就产生了。简单地说,模式识别就是对数据进行分类,它是一门与数学紧密结合的科学,其中所用的思想大部分是概率与统计。模式识别主要分为三种:统计模式识别、句法模式识别、模糊模式识别。

    2图像识别技术的过程

    既然计算机的图像识别技术与人类的图像识别原理相同,那它们的过程也是大同小异的。图像识别技术的过程分以下几步:信息的获取、预处理、特征抽取和选择、分类器设计和分类决策。

    信息的获取是指通过传感器,将光或声音等信息转化为电信息。也就是获取研究对象的基本信息并通过某种方法将其转变为机器能够认识的信息。

    预处理主要是指图像处理中的去噪、平滑、变换等的操作,从而加强图像的重要特征。

    特征抽取和选择是指在模式识别中,需要进行特征的抽取和选择。简单的理解就是我们所研究的图像是各式各样的,如果要利用某种方法将它们区分开,就要通过这些图像所具有的本身特征来识别,而获取这些特征的过程就是特征抽取。在特征抽取中所得到的特征也许对此次识别并不都是有用的,这个时候就要提取有用的特征,这就是特征的选择。特征抽取和选择在图像识别过程中是非常关键的技术之一,所以对这一步的理解是图像识别的重点。

    分类器设计是指通过训练而得到一种识别规则,通过此识别规则可以得到一种特征分类,使图像识别技术能够得到高识别率。分类决策是指在特征空间中对被识别对象进行分类,从而更好地识别所研究的对象具体属于哪一类。

    3图像识别技术的分析

    随着计算机技术的迅速发展和科技的不断进步,图像识别技术已经在众多领域中得到了应用。2015年2月15日新浪科技发布一条新闻:“微软最近公布了一篇关于图像识别的研究论文,在一项图像识别的基准测试中,电脑系统识别能力已经超越了人类。人类在归类数据库Image Net中的图像识别错误率为5.1%,而微软研究小组的这个深度学习系统可以达到4.94%的错误率。”从这则新闻中我们可以看出图像识别技术在图像识别方面已经有要超越人类的图像识别能力的趋势。这也说明未来图像识别技术有更大的研究意义与潜力。而且,计算机在很多方面确实具有人类所无法超越的优势,也正是因为这样,图像识别技术才能为人类社会带来更多的应用。

    3.1神经网络的图像识别技术

    神经网络图像识别技术是一种比较新型的图像识别技术,是在传统的图像识别方法和基础上融合神经网络算法的一种图像识别方法。这里的神经网络是指人工神经网络,也就是说这种神经网络并不是动物本身所具有的真正的神经网络,而是人类模仿动物神经网络后人工生成的。在神经网络图像识别技术中,遗传算法与BP网络相融合的神经网络图像识别模型是非常经典的,在很多领域都有它的应用。在图像识别系统中利用神经网络系统,一般会先提取图像的特征,再利用图像所具有的特征映射到神经网络进行图像识别分类。以汽车拍照自动识别技术为例,当汽车通过的时候,汽车自身具有的检测设备会有所感应。此时检测设备就会启用图像采集装置来获取汽车正反面的图像。获取了图像后必须将图像上传到计算机进行保存以便识别。最后车牌定位模块就会提取车牌信息,对车牌上的字符进行识别并显示最终的结果。在对车牌上的字符进行识别的过程中就用到了基于模板匹配算法和基于人工神经网络算法。
      3.2非线性降维的图像识别技术

    计算机的图像识别技术是一个异常高维的识别技术。不管图像本身的分辨率如何,其产生的数据经常是多维性的,这给计算机的识别带来了非常大的困难。想让计算机具有高效地识别能力,最直接有效的方法就是降维。降维分为线性降维和非线性降维。例如主成分分析(PCA)和线性奇异分析(LDA)等就是常见的线性降维方法,它们的特点是简单、易于理解。但是通过线性降维处理的是整体的数据集合,所求的是整个数据集合的最优低维投影。经过验证,这种线性的降维策略计算复杂度高而且占用相对较多的时间和空间,因此就产生了基于非线性降维的图像识别技术,它是一种极其有效的非线性特征提取方法。此技术可以发现图像的非线性结构而且可以在不破坏其本征结构的基础上对其进行降维,使计算机的图像识别在尽量低的维度上进行,这样就提高了识别速率。例如人脸图像识别系统所需的维数通常很高,其复杂度之高对计算机来说无疑是巨大的“灾难”。由于在高维度空间中人脸图像的不均匀分布,使得人类可以通过非线性降维技术来得到分布紧凑的人脸图像,从而提高人脸识别技术的高效性。

    3.3图像识别技术的应用及前景

    计算机的图像识别技术在公共安全、生物、工业、农业、交通、医疗等很多领域都有应用。例如交通方面的车牌识别系统;公共安全方面的人脸识别技术、指纹识别技术;农业方面的种子识别技术、食品品质检测技术;医学方面的心电图识别技术等。随着计算机技术的不断发展,图像识别技术也在不断地优化,其算法也在不断地改进。图像是人类获取和交换信息的主要来源,因此与图像相关的图像识别技术必定也是未来的研究重点。以后计算机的图像识别技术很有可能在更多的领域崭露头角,它的应用前景也是不可限量的,人类的生活也将更加离不开图像识别技术。

    图像识别技术虽然是刚兴起的技术,但其应用已是相当广泛。并且,图像识别技术也在不断地成长,随着科技的不断进步,人类对图像识别技术的认识也会更加深刻。未来图像识别技术将会更加强大,更加智能地出现在我们的生活中,为人类社会的更多领域带来重大的应用。在21世纪这个信息化的时代,我们无法想象离开了图像识别技术以后我们的生活会变成什么样。图像识别技术是人类现在以及未来生活必不可少的一项技术。
      人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
      AI可以识别图像,但它能理解标题吗?
    http://www.duozhishidai.com/article-10635-1.html
      图像识别经历了哪几个阶段,主要应用在哪些领域?
    http://www.duozhishidai.com/article-6461-1.html
      图像识别技术是什么,应用于智能家居哪些领域
    http://www.duozhishidai.com/article-133-1.html


    多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

    多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台
    展开全文
  • 基于人工神经网络和遗传算法的生物启发探测器在相干光通信中的系统损伤补偿
  • 然而,从神经科学家的角度来看,深度学习神经元和生物神经元之间的差异是众多且不同的。 本文将首先描述生物神经元的一些关键特征,以及如何简化它们以获得深度学习神经元。然后我们将推测这些差异...
  • 文末有数据派THU福利哦[ 导读 ]我们从鸟类那里得到启发,学会了飞翔,从牛蒡那里得到启发,发明了魔术贴,还有很多其他的发明都是被自然所启发。这么说来看看大脑的组成,并期望因此而得到启...
  • 生物神经系统和人工神经网络 (ANN) 的启发,提出了一种新的元启发式优化算法来解决复杂的优化问题。 所提出的方法称为神经网络算法 (NNA),它是基于 ANN 的独特结构开发的。 NNA 受益于 ANN 及其运算符的复杂结构...
  • 该评估旨在提高您对人工神经网络(ANN)和粒子群优化(PSO)的理解,这是本课程涵盖的两种受生物启发的技术。 它涉及从头开始实现ANN和PSO,并实验研究如何使用PSO优化ANN以执行指定任务。 在开始之前,请仔细阅读...
  • 原文作者:MADELINESCHIAPPA译者:李凌概要:通过对生物学习与人工智能进行的比较,我们可以建立一个更安全的基础设施系统。 通过对生物学习与人工智能进行的比较,我们可以建立一个更安全的基础设施系统。 本文由...
  • 一种新颖的优化算法,了解更多详情请访问https://www.sciencedirect.com/science/article/pii/S1568494618304277
  • 而在移动应用中,人工智能广泛使用的最大障碍之一是人工神经网络的学习活动需要消耗大量能量,而解决这一问题的一种方法可以从大脑中获得灵感。这是因为大脑具有超级计算能力,而且大脑神经元之间可以通过短的电脉冲...
  • 神经网络

    千次阅读 2017-11-03 14:44:40
    神经网络7.1 什么是人工神经网络人工神经网络受到生物神经网络启发。构造人工神经元来模仿生物神经元来工作。生物神经网络的基本工作原理:一个神经元的输入端有多个树突,主要是用来接收输入信息的。输入信息进过...
  • 神经网络架构 分层组织 前馈计算示例 神经网络的表示能力 设置图层数量及其大小 概要 引用 概述 无需类比大脑的机制我们也能介绍神经网络。本节我们通过线性分类器,通过公式s=Wxs=Wxs=Wx(其中WWW是一个...
  • 使用具有自动调整激活功能和自我成长神经元的生物启发网络来跟踪非仿射系统的控制
  • 该软件包用作在生物启发神经和动力系统 (BINDS) 实验室中将 SNN 应用于机器学习 (ML) 和强化学习 (RL) 问题的持续研究的一部分。 查看 BindsNET 示例,了解一系列实验、结果分析函数、实验结果图等。 可以在此处...
  • 点上方人工智能算法与Python大数据获取更多干货在右上方···设为星标★,第一时间获取资源仅做学术分享,如有侵权,联系删除转载于 :新智元从社交网络生物信息学,再到机器人学中的导...
  • MALAB神经网络仿真

    2018-08-15 11:25:55
    本书使用 MATLAB神经网络工具箱作为开发平台,以神经网络理论为基础,利用 MATLAB脚本语言构造出典型神经网络的激活函数,如线性、竟争性和饱和线性等激活函数,使设计者对所选定网络输出的计算变成对激活函数的调用。...
  • Matlab神经网络工具箱应用简介

    千次阅读 2012-12-17 09:22:49
    神经网络 神经网络是单个并行处理元素的集合,我们从生物学神经系统得到启发。在自然界,网络功能主要由神经节决定,我们可以通过改变连接点的权重来训练神经网络完成特定的功能。 一般的神经网络都是可调节的,或者...
  • 神经网络原理及应用(看完就理解了)

    千次阅读 多人点赞 2020-12-23 21:45:58
    神经网络的定义神经网络,是机器学习的一个分支,学名应该叫人工神经网络,与之相对应的是生物神经网络(Biological Neural Networks, BNN),我们将模拟生物神经网络的数学模型统称为人工神经网络模型,简称人工神经...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,203
精华内容 4,481
关键字:

生物启发神经网络