导航:首页 > 数据分析 > 神经网络的数据从哪里来

神经网络的数据从哪里来

发布时间:2023-07-20 07:42:58

① 大脑是如何进行数据处理的

如果将人和计算机比较的话,确实有些相似之处:人的四肢和五官都是输入和输出设备,全身的神经网络相当于大脑的数据线大脑左半区相当于CPU海马体相当于内存

大脑拥有各种处理算法,如视觉处理模块、听觉处理模块、语言处理模块、运动处理模块、空间方位处理模块等。从某种意义上来说,人的大脑,确实是一台无与伦比的超级电脑。然而,人的大脑工作机制至今还是一个前沿课题,种种不解之谜尚未完全揭开

我们从能记事开始,脑中就开始保存各种看到和感知的事情,就像是在存档一个个视频快照,只要意念一起,大脑中的神经元就能启动播放程序,不想看来了,就放回去,这就是我们的记忆。

人脑的神经元是生物形态的神经网络,比起计算机的CPU要高级几个维度,它们在意识的参与下,是如何完成记忆、计算和学习的,到目前为止还没有一个很确定的答案

如果完全弄清楚了人脑的工作机制,那目前最具划时代意义的学科——人工智能,将会出现飞跃式的发展。

② 神经网络是什么

神经网络可以指向两种,一个是生物神经网络,一个是人工神经网络。
生物神经网络:一般指生物的大脑神经元,细胞,触点等组成的网络,用于产生生物的意识,帮助生物进行思考和行动。
人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
人工神经网络:是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界也常直接简称为“神经网络”或类神经网络。

③ 神经网络从何而来

【嵌牛导读】神经网络从何而来?这里说的『从何而来』,并不仅仅是从技术上去介绍一个方法的创造或发展,而更想探讨方法背后所蕴含的思想基础与演变之路。

【嵌牛鼻子】神经网络、深度学习

【嵌牛提问】神经网络的由来?

【嵌牛正文】深度学习与神经网络是近几年来计算机与人工智能领域最炙手可热的话题了。为了蹭这波热度,博主也打算分享一些自己的经验与思考。第一篇文章想探讨一个非常基础的问题:神经网络从何而来?这里说的『从何而来』,并不仅仅是从技术上去介绍一个方法的创造或发展,而更想探讨方法背后所蕴含的思想基础与演变之路。

首先,需要为『神经网络』正一下名。在人工智能领域,我们通常所说的神经网络(Neural Networks)全称是人工神经网络(Artificial Neural Network),与之对应的是我们用肉长成的生物神经网络(Biology Neural Network)。众所周知,人工神经网络受生物神经网络的启发而产生,并在几十年间不断进步演化。可要论人类对人工智能的探索历史,却远远长于这几十年。为了深刻了解神经网络出现的背景,我们有必要从更早的历史开始说起。

简单说,人工智能想做的事情就是去总结和提炼人类思考的过程,使之能够机械化、可重复。从各种神话、传说来看,我们的祖先在几千年前就对这件事儿充满了好奇与遐想。到两千多年前,一大批伟大的哲学家在希腊、中国和印度相继诞生,并将人类对这一问题的认识推向了新的高度。为避免本文成为枯燥的哲学史,这里不想举太多的例子。伟大的希腊哲学家亚里士多德在他的《前分析篇》中提出了著名的三段论(sollygism),类似于:

所有希腊人是人

所有人终有一死

因此所有希腊人终有一死

虽然这是我们现在已经无比熟悉的推理模式,但是要在2000年前从无到有系统总结出一系列这样的命题与推理模式,却着实不易。有了『三段论』这种的武器,人们对问题的认识与决策就能从感性真正走向理性,做到可以重复。此外,我们熟悉的欧式几何也是当时这种逻辑推理学派的代表。欧式几何以一系列的公理为基础,基于一套严密的逻辑推理体系,最终得到结论的证明,现在仍然是每个学生需要反复训练的思维体操。

随着时间的演进,认知哲学与逻辑学也在不断的发展。在17世纪时,以笛卡尔、莱布尼茨为代表的哲学家进一步提出通过数学的方式对逻辑推演进行标准化,这也是对人脑推理与思考的再次抽象,为后续以后基于数字电路的人工智能打下了基础。之后,数理逻辑进一步发展,而到了20世纪中期,数理逻辑又一次取得了巨大的突破,哥德尔不完备理论、图灵机模型等的相继提出,科学家们既认识到了数理逻辑的局限性,也看到了将推理机械化的无限可能性,一种新的计算方式呼之欲出。

在图灵机的思想指导下,第一台电子计算机很快被设计出来,为人工智能的真正实现提供了物质上的基础。其实回望人工智能历史上的历次重大飞跃,硬件技术的发展无不扮演者重要的作用。很多看似有效的算法都苦于没有足够强大的计算平台支持无疾而终,而计算能力的提升也可以促进科学家们们摆脱束缚,在算法的研究道路上天马行空。深度学习这些年的迅猛发展,很大程度就是得益于大规模集群和图形处理器等技术的成熟,使得用复杂模型快速处理大规模数据成为可能。

1956年达特茅斯会议上,斯坦福大学科学家约翰·麦卡锡(John McCarthy)正式提出了『人工智能』这一概念, 标志着一个学科的正式诞生,也标志着人工智能的发展开始进入了快车道。如果说逻辑符号操作是对人类思维的本质的抽象,那么利用电子计算机技术来模拟人类的符号推理计算也是一个自然而然的想法。在艾伦·纽威尔(Alan Newell)和赫伯特·西蒙(Herbert A.Simon)等大师的推动下,以逻辑推演为核心符号主义(symbolicism)流派很快占据了人工智能领域的重要地位。符号主义在很多领域取得了成功,比如在80年代风靡一时的专家系统,通过知识库和基于知识库的推理系统模拟专家进行决策,得到了广泛的应用。而本世纪初热炒的语义网络以及当下最流行的知识图谱,也可以看做这一流派的延续与发展。

符号主义最大的特点是知识的表示直观,推理的过程清晰,但是也存在着许多局限性。除去在计算能力方面的困扰,一个很大的问题就在于虽然我们可以通过逻辑推理解决一些复杂的问题,但是对一些看似简单的问题,比如人脸识别,却无能为力。当看到一张人脸的照片,我们可以毫不费力的识别出这个人是谁,可这个过程并不需要做什么复杂的推理,它在我们的大脑中瞬间完成,以至于我们对这个过程的细节却一无所知。看起来想通过挖掘一系列严密的推理规则解决这类问题是相对困难的,这也促使很多人去探索与人脑工作更加贴合的解决方案。实际上在符号主义出现的同时,人工智能的另一重要学派联结主义(Connectionism)也开始蓬勃发展,本文的『主角』神经网络终于可以登场了。

在文章的一开始就提到,我们现在所说的人工神经网络是受生物神经网络启发而设计出来的。在1890年,实验心理学先驱William James在他的巨著《心理学原理》中第一次详细论述人脑结构及功能。其中提到神经细胞受到刺激激活后可以把刺激传播到另一个神经细胞,并且神经细胞激活是细胞所有输入叠加的结果。这一后来得到验证的假说也成为了人工神经网络设计的生物学基础。基于这一假说,一系列模拟人脑神经计算的模型被相继提出,具有代表性的有Hebbian Learning Rule, Oja's Rule和MCP Neural Model等,他们与现在通用的神经网络模型已经非常相似,例如在Hebbian Learning模型中,已经可以支持神经元之间权重的自动学习。而在1958年,Rosenblatt将这些模型付诸于实施,利用电子设备构建了真正意义上的第一个神经网络模型:感知机(Perceptron)。Rosenblatt现场演示了其学习识别简单图像的过程,在当时的社会引起了轰动,并带来了神经网络的第一次大繁荣。此后的几十年里,神经网络又经历了数次起起伏伏,既有春风得意一统天下的岁月,也有被打入冷宫无人问津的日子,当然,这些都是后话了。

本文更想讨论这样一个问题:神经网络产生的动机仅仅是对生物学中对神经机制的模仿吗?在神经网络产生的背后,还蕴含着一代代科学家怎么样的思想与情怀呢?事实上,在神经网络为代表的一类方法在人工智能中又被称为联结主义(Connectionism)。关于联结主义的历史,一般的文献介绍按照惯例会追溯到希腊时期哲学家们对关联性的定义与研究,例如我们的老朋友亚里士多德等等。然而当时哲学家研究的关联其实并不特指神经元之间的这种关联,比如前文提到的符号推理本身也是一种形式关联,在希腊哲学中并没有对这两者进行专门的区分。所以硬要把这些说成是连接主义的思想起源略微有一些牵强。

前文提到,在数理逻辑发展过程中,17世纪的欧陆理性主义起到了重要的作用。以笛卡尔、莱布尼茨等为代表的哲学家,主张在理性中存在着天赋观念,以此为原则并严格按照逻辑必然性进行推理就可以得到普遍必然的知识。与此同时,以洛克、休谟等哲学家为代表的英国经验主义,则强调人类的知识来自于对感知和经验归纳。这一定程度上是对绝对的真理的一种否定,人类的认识是存在主观的,随经验而变化的部分的。如果在这个思想的指导下,我们与其去寻找一套普世且完备的推理系统,不如去构造一套虽不完美但能够随着经验积累不断完善的学习系统。而休谟甚至提出了放弃揭示自然界的因果联系和必然规律,而是依据“习惯性联想”去描绘一连串的感觉印象。这其实和神经网络设计的初衷是非常类似的:重视经验的获得与归纳(通过样本进行学习),但对模型本身的严谨性与可解释行则没有那么关注,正如有时候我们愿意把神经网络模型看做是一个『黑箱』。

然而单单一个『黑箱』是不能成为经验的学习与整理的系统的,我们还需要去寻找构建『黑箱』的一种方法论。现代哲学发展到20世纪初期时,在维特根斯坦和罗素等哲学家的倡导下,产生了逻辑经验主义学派。依托当时逻辑学的迅猛发展,这一主义既强调经验的作用,也重视通过严密的逻辑推理来得到结论,而非简单的归纳。在数理逻辑领域颇有建树的罗素有一位大名鼎鼎的学生诺伯特·维纳,他创立的控制论与系统论、信息论一道,为信息科学的发展提供了坚实的理论基础。而神经网络模型的创立也深受这『三论』的影响。前文提到MCP神经元模型的两位创始人分别是罗素和维纳的学生。作为一个系统,神经网络接受外部的输入,得到输出,并根据环境进行反馈,对系统进行更新,直到达到稳定状态。这个过程,同样也是神经网络对环境信息传递的接受和重新编码的过程。如果如果把神经网络当做一个『黑盒』,那么我们首先关心该是这个黑盒的输入与输出,以及如何根据环境给黑盒一个合理的反馈,使之能够进行调整。而黑盒内部的结构,则更多的成为了形式的问题。我们借鉴生物神经网络构造这个黑盒,恰好是一个好的解决方案,但这未必是唯一的解决方案或者说与人类大脑的神经元结构存在必然的联系。比如在统计学习领域中最著名的支持向量机(Support Vector Machines),最终是作为一种特殊的神经网络而提出的。可当其羽翼丰满之后,则和神经网络逐渐脱离关系,开启了机器学习的另一个门派。不同的模型形式之间可以互相转化,但是重视经验(样本),强调反馈的思想却一直保留下来。

前面说了这些,到底神经网络从何而来呢?总结下来就是三个方面吧:1.对理性逻辑的追求,对样本实证的重视,为神经网络的诞生提供了思想的基础。2.生物学与神经科学的发展为神经网络形式的出现提供了启发。3.计算机硬件的发展与计算能力的提升使神经网络从理想变成了现实。而这三方面的发展也催生着神经网络的进一步发展与深度学习的成熟:更大规模的数据,更完善的优化算法使网络能够学习到更多更准确的信息;对人脑的认识的提升启发设计出层次更深,结构更高效的网络结构;硬件存储与计算能力提升使海量数据的高效训练成为可能。而未来神经网络给我们带来的更多惊喜,也很大可能源自于这三个方面,让我们不妨多一些期待吧。

④ 神经网络的来源

       神经网络技术起源于上世纪五、六十年代,当时叫 感知机 (perceptron),包含有输入层、输出层和一个隐藏层。输入的特征向量通过隐藏层变换到达输出层,由输出层得到分类结果。但早期的单层感知机存在一个严重的问题——它对稍微复杂一些的函数都无能为力(如异或操作)。直到上世纪八十年代才被Hition、Rumelhart等人发明的多层感知机克服,就是具有多层隐藏层的感知机。

      多层感知机可以摆脱早期离散传输函数的束缚,使用sigmoid或tanh等连续函数模拟神经元对激励的响应,在训练算法上则使用Werbos发明的反向传播BP算法。这就是现在所说的神经网络NN。

      神经网络的层数直接决定了它对现实的刻画能力 ——利用每层更少的神经元拟合更加复杂的函数。但问题出现了——随着神经网络层数的加深, 优化函数越来越容易陷入局部最优解 ,并且这个“陷阱”越来越偏离真正的全局最优。利用有限数据训练的深层网络,性能还不如较浅层网络。同时,另一个不可忽略的问题是随着网络层数增加, “梯度消失”现象更加严重 。(具体来说,我们常常使用sigmoid作为神经元的输入输出函数。对于幅度为1的信号,在BP反向传播梯度时,每传递一层,梯度衰减为原来的0.25。层数一多,梯度指数衰减后低层基本上接受不到有效的训练信号。)

      2006年,Hition提出了深度学习的概念,引发了深度学习的热潮。具体是利用预训练的方式缓解了局部最优解的问题,将隐藏层增加到了7层,实现了真正意义上的“深度”。

DNN形成

        为了克服梯度消失,ReLU、maxout等传输函数代替了sigmoid,形成了如今DNN的基本形式。结构跟多层感知机一样,如下图所示:

       我们看到 全连接DNN的结构里下层神经元和所有上层神经元都能够形成连接,从而导致参数数量膨胀 。假设输入的是一幅像素为1K*1K的图像,隐含层有1M个节点,光这一层就有10^12个权重需要训练,这不仅容易过拟合,而且极容易陷入局部最优。

CNN形成

       由于图像中存在固有的局部模式(如人脸中的眼睛、鼻子、嘴巴等),所以将图像处理和神将网络结合引出卷积神经网络CNN。CNN是通过卷积核将上下层进行链接,同一个卷积核在所有图像中是共享的,图像通过卷积操作后仍然保留原先的位置关系。

        通过一个例子简单说明卷积神经网络的结构。假设我们需要识别一幅彩色图像,这幅图像具有四个通道ARGB(透明度和红绿蓝,对应了四幅相同大小的图像),假设卷积核大小为100*100,共使用100个卷积核w1到w100(从直觉来看,每个卷积核应该学习到不同的结构特征)。

       用w1在ARGB图像上进行卷积操作,可以得到隐含层的第一幅图像;这幅隐含层图像左上角第一个像素是四幅输入图像左上角100*100区域内像素的加权求和,以此类推。

同理,算上其他卷积核,隐含层对应100幅“图像”。每幅图像对是对原始图像中不同特征的响应。按照这样的结构继续传递下去。CNN中还有max-pooling等操作进一步提高鲁棒性。

      注意到最后一层实际上是一个全连接层,在这个例子里,我们注意到输入层到隐藏层的参数瞬间降低到了100*100*100=10^6个!这使得我们能够用已有的训练数据得到良好的模型。题主所说的适用于图像识别,正是由于CNN模型限制参数了个数并挖掘了局部结构的这个特点。顺着同样的思路,利用语音语谱结构中的局部信息,CNN照样能应用在语音识别中。

RNN形成

      DNN无法对时间序列上的变化进行建模。然而,样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要。为了适应这种需求,就出现了大家所说的另一种神经网络结构——循环神经网络RNN。

      在普通的全连接网络或CNN中,每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此又被成为前向神经网络(Feed-forward Neural Networks)。而在RNN中,神经元的输出可以在下一个时间段直接作用到自身,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出!表示成图就是这样的:

为方便分析,按照时间段展开如下图所示:

(t+1)时刻网络的最终结果O(t+1)是该时刻输入和所有历史共同作用的结果!这就达到了对时间序列建模的目的。RNN可以看成一个在时间上传递的神经网络,它的深度是时间的长度!正如我们上面所说,“梯度消失”现象又要出现了,只不过这次发生在时间轴上。

       所以RNN存在无法解决长时依赖的问题。为解决上述问题,提出了LSTM(长短时记忆单元),通过cell门开关实现时间上的记忆功能,并防止梯度消失,LSTM单元结构如下图所示:

       除了DNN、CNN、RNN、ResNet(深度残差)、LSTM之外,还有很多其他结构的神经网络。如因为在序列信号分析中,如果我能预知未来,对识别一定也是有所帮助的。因此就有了双向RNN、双向LSTM,同时利用历史和未来的信息。

       事实上,不论是哪种网络,他们在实际应用中常常都混合着使用,比如CNN和RNN在上层输出之前往往会接上全连接层,很难说某个网络到底属于哪个类别。不难想象随着深度学习热度的延续,更灵活的组合方式、更多的网络结构将被发展出来。

参考链接:https://www.leiphone.com/news/201702/ZwcjmiJ45aW27ULB.html

⑤ 神经网络:卷积神经网络(CNN)

神经网络 最早是由心理学家和神经学家提出的,旨在寻求开发和测试神经的计算模拟。

粗略地说, 神经网络 是一组连接的 输入/输出单元 ,其中每个连接都与一个 权 相关联。在学习阶段,通过调整权值,使得神经网络的预测准确性逐步提高。由于单元之间的连接,神经网络学习又称 连接者学习。

神经网络是以模拟人脑神经元的数学模型为基础而建立的,它由一系列神经元组成,单元之间彼此连接。从信息处理角度看,神经元可以看作是一个多输入单输出的信息处理单元,根据神经元的特性和功能,可以把神经元抽象成一个简单的数学模型。

神经网络有三个要素: 拓扑结构、连接方式、学习规则

神经网络的拓扑结构 :神经网络的单元通常按照层次排列,根据网络的层次数,可以将神经网络分为单层神经网络、两层神经网络、三层神经网络等。结构简单的神经网络,在学习时收敛的速度快,但准确度低。

神经网络的层数和每层的单元数由问题的复杂程度而定。问题越复杂,神经网络的层数就越多。例如,两层神经网络常用来解决线性问题,而多层网络就可以解决多元非线性问题

神经网络的连接 :包括层次之间的连接和每一层内部的连接,连接的强度用权来表示。

根据层次之间的连接方式,分为:

1)前馈式网络:连接是单向的,上层单元的输出是下层单元的输入,如反向传播网络,Kohonen网络

2)反馈式网络:除了单项的连接外,还把最后一层单元的输出作为第一层单元的输入,如Hopfield网络

根据连接的范围,分为:

1)全连接神经网络:每个单元和相邻层上的所有单元相连

2)局部连接网络:每个单元只和相邻层上的部分单元相连

神经网络的学习

根据学习方法分:

感知器:有监督的学习方法,训练样本的类别是已知的,并在学习的过程中指导模型的训练

认知器:无监督的学习方法,训练样本类别未知,各单元通过竞争学习。

根据学习时间分:

离线网络:学习过程和使用过程是独立的

在线网络:学习过程和使用过程是同时进行的

根据学习规则分:

相关学习网络:根据连接间的激活水平改变权系数

纠错学习网络:根据输出单元的外部反馈改变权系数

自组织学习网络:对输入进行自适应地学习

摘自《数学之美》对人工神经网络的通俗理解:

神经网络种类很多,常用的有如下四种:

1)Hopfield网络,典型的反馈网络,结构单层,有相同的单元组成

2)反向传播网络,前馈网络,结构多层,采用最小均方差的纠错学习规则,常用于语言识别和分类等问题

3)Kohonen网络:典型的自组织网络,由输入层和输出层构成,全连接

4)ART网络:自组织网络

深度神经网络:

Convolutional Neural Networks(CNN)卷积神经网络

Recurrent neural Network(RNN)循环神经网络

Deep Belief Networks(DBN)深度信念网络

深度学习是指多层神经网络上运用各种机器学习算法解决图像,文本等各种问题的算法集合。深度学习从大类上可以归入神经网络,不过在具体实现上有许多变化。

深度学习的核心是特征学习,旨在通过分层网络获取分层次的特征信息,从而解决以往需要人工设计特征的重要难题。

Machine Learning vs. Deep Learning 

神经网络(主要是感知器)经常用于 分类

神经网络的分类知识体现在网络连接上,被隐式地存储在连接的权值中。

神经网络的学习就是通过迭代算法,对权值逐步修改的优化过程,学习的目标就是通过改变权值使训练集的样本都能被正确分类。

神经网络特别适用于下列情况的分类问题:

1) 数据量比较小,缺少足够的样本建立模型

2) 数据的结构难以用传统的统计方法来描述

3) 分类模型难以表示为传统的统计模型

缺点:

1) 需要很长的训练时间,因而对于有足够长训练时间的应用更合适。

2) 需要大量的参数,这些通常主要靠经验确定,如网络拓扑或“结构”。

3)  可解释性差 。该特点使得神经网络在数据挖掘的初期并不看好。

优点:

1) 分类的准确度高

2)并行分布处理能力强

3)分布存储及学习能力高

4)对噪音数据有很强的鲁棒性和容错能力

最流行的基于神经网络的分类算法是80年代提出的 后向传播算法 。后向传播算法在多路前馈神经网络上学习。 

定义网络拓扑

在开始训练之前,用户必须说明输入层的单元数、隐藏层数(如果多于一层)、每一隐藏层的单元数和输出层的单元数,以确定网络拓扑。

对训练样本中每个属性的值进行规格化将有助于加快学习过程。通常,对输入值规格化,使得它们落入0.0和1.0之间。

离散值属性可以重新编码,使得每个域值一个输入单元。例如,如果属性A的定义域为(a0,a1,a2),则可以分配三个输入单元表示A。即,我们可以用I0 ,I1 ,I2作为输入单元。每个单元初始化为0。如果A = a0,则I0置为1;如果A = a1,I1置1;如此下去。

一个输出单元可以用来表示两个类(值1代表一个类,而值0代表另一个)。如果多于两个类,则每个类使用一个输出单元。

隐藏层单元数设多少个“最好” ,没有明确的规则。

网络设计是一个实验过程,并可能影响准确性。权的初值也可能影响准确性。如果某个经过训练的网络的准确率太低,则通常需要采用不同的网络拓扑或使用不同的初始权值,重复进行训练。

后向传播算法学习过程:

迭代地处理一组训练样本,将每个样本的网络预测与实际的类标号比较。

每次迭代后,修改权值,使得网络预测和实际类之间的均方差最小。

这种修改“后向”进行。即,由输出层,经由每个隐藏层,到第一个隐藏层(因此称作后向传播)。尽管不能保证,一般地,权将最终收敛,学习过程停止。

算法终止条件:训练集中被正确分类的样本达到一定的比例,或者权系数趋近稳定。

后向传播算法分为如下几步:

1) 初始化权

网络的权通常被初始化为很小的随机数(例如,范围从-1.0到1.0,或从-0.5到0.5)。

每个单元都设有一个偏置(bias),偏置也被初始化为小随机数。

2) 向前传播输入

对于每一个样本X,重复下面两步:

向前传播输入,向后传播误差

计算各层每个单元的输入和输出。输入层:输出=输入=样本X的属性;即,对于单元j,Oj = Ij = Xj。隐藏层和输出层:输入=前一层的输出的线性组合,即,对于单元j, Ij =wij Oi + θj,输出=

3) 向后传播误差

计算各层每个单元的误差。

输出层单元j,误差:

Oj是单元j的实际输出,而Tj是j的真正输出。

隐藏层单元j,误差:

wjk是由j到下一层中单元k的连接的权,Errk是单元k的误差

更新 权 和 偏差 ,以反映传播的误差。

权由下式更新:

 其中,△wij是权wij的改变。l是学习率,通常取0和1之间的值。

 偏置由下式更新:

  其中,△θj是偏置θj的改变。

Example

人类视觉原理:

深度学习的许多研究成果,离不开对大脑认知原理的研究,尤其是视觉原理的研究。1981 年的诺贝尔医学奖,颁发给了 David Hubel(出生于加拿大的美国神经生物学家) 和Torsten Wiesel,以及Roger Sperry。前两位的主要贡献,是“发现了视觉系统的信息处理”, 可视皮层是分级的 。

人类的视觉原理如下:从原始信号摄入开始(瞳孔摄入像素Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球)。

对于不同的物体,人类视觉也是通过这样逐层分级,来进行认知的:

在最底层特征基本上是类似的,就是各种边缘,越往上,越能提取出此类物体的一些特征(轮子、眼睛、躯干等),到最上层,不同的高级特征最终组合成相应的图像,从而能够让人类准确的区分不同的物体。

可以很自然的想到:可以不可以模仿人类大脑的这个特点,构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,最终通过多个层级的组合,最终在顶层做出分类呢?答案是肯定的,这也是许多深度学习算法(包括CNN)的灵感来源。

卷积神经网络是一种多层神经网络,擅长处理图像特别是大图像的相关机器学习问题。卷积网络通过一系列方法,成功将数据量庞大的图像识别问题不断降维,最终使其能够被训练。

CNN最早由Yann LeCun提出并应用在手写字体识别上。LeCun提出的网络称为LeNet,其网络结构如下:

这是一个最典型的卷积网络,由 卷积层、池化层、全连接层 组成。其中卷积层与池化层配合,组成多个卷积组,逐层提取特征,最终通过若干个全连接层完成分类。

CNN通过卷积来模拟特征区分,并且通过卷积的权值共享及池化,来降低网络参数的数量级,最后通过传统神经网络完成分类等任务。

降低参数量级:如果使用传统神经网络方式,对一张图片进行分类,那么,把图片的每个像素都连接到隐藏层节点上,对于一张1000x1000像素的图片,如果有1M隐藏层单元,一共有10^12个参数,这显然是不能接受的。

但是在CNN里,可以大大减少参数个数,基于以下两个假设:

1)最底层特征都是局部性的,也就是说,用10x10这样大小的过滤器就能表示边缘等底层特征

2)图像上不同小片段,以及不同图像上的小片段的特征是类似的,也就是说,能用同样的一组分类器来描述各种各样不同的图像

基于以上两个假设,就能把第一层网络结构简化

用100个10x10的小过滤器,就能够描述整幅图片上的底层特征。

卷积运算的定义如下图所示:

如上图所示,一个5x5的图像,用一个3x3的 卷积核 :

   101

   010

   101

来对图像进行卷积操作(可以理解为有一个滑动窗口,把卷积核与对应的图像像素做乘积然后求和),得到了3x3的卷积结果。

这个过程可以理解为使用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。在实际训练过程中, 卷积核的值是在学习过程中学到的。

在具体应用中,往往有多个卷积核,可以认为, 每个卷积核代表了一种图像模式 ,如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。如果设计了6个卷积核,可以理解为这个图像上有6种底层纹理模式,也就是用6种基础模式就能描绘出一副图像。以下就是24种不同的卷积核的示例:

池化 的过程如下图所示:

可以看到,原始图片是20x20的,对其进行采样,采样窗口为10x10,最终将其采样成为一个2x2大小的特征图。

之所以这么做,是因为即使做完了卷积,图像仍然很大(因为卷积核比较小),所以为了降低数据维度,就进行采样。

即使减少了许多数据,特征的统计属性仍能够描述图像,而且由于降低了数据维度,有效地避免了过拟合。

在实际应用中,分为最大值采样(Max-Pooling)与平均值采样(Mean-Pooling)。

LeNet网络结构:

注意,上图中S2与C3的连接方式并不是全连接,而是部分连接。最后,通过全连接层C5、F6得到10个输出,对应10个数字的概率。

卷积神经网络的训练过程与传统神经网络类似,也是参照了反向传播算法

第一阶段,向前传播阶段:

a)从样本集中取一个样本(X,Yp),将X输入网络;

b)计算相应的实际输出Op

第二阶段,向后传播阶段

a)计算实际输出Op与相应的理想输出Yp的差;

b)按极小化误差的方法反向传播调整权矩阵。

⑥ 神经网络的基本原理是什么

神经网络的基本原理是:每个神经元把最初的输入值乘以一定的权重,并加上其他输入到这个神经元里的值(并结合其他信息值),最后算出一个总和,再经过神经元的偏差调整,最后用激励函数把输出值标准化。基本上,神经网络是由一层一层的不同的计算单位连接起来的。我们把计算单位称为神经元,这些网络可以把数据处理分类,就是我们要的输出。

神经网络常见的工具

以上内容参考:在众多的神经网络工具中,NeuroSolutions始终处于业界领先位置。它是一个可用于windows XP/7高度图形化的神经网络开发工具。其将模块化,基于图标的网络设计界面,先进的学习程序和遗传优化进行了结合。该款可用于研究和解决现实世界的复杂问题的神经网络设计工具在使用上几乎无限制。

以上内容参考:网络-神经网络

阅读全文

与神经网络的数据从哪里来相关的资料

热点内容
加固数据线怎么修 浏览:342
镜像文件游戏怎么安装 浏览:388
java构建函数 浏览:257
excel文件房屋信息 浏览:629
迷你编程更新为什么领不了皮肤 浏览:503
微信公共账号登录入口 浏览:820
蝴蝶钱包app 浏览:681
联通查询账号密码修改 浏览:774
文件头线到上纸边距离是多少 浏览:36
苹果手机怎样备份文件在哪里 浏览:425
zemax在哪里编程ZPL 浏览:563
如何撤销word空白页 浏览:296
什么叫网络连接超时 浏览:49
京东热点代码 浏览:484
慧博app下载的文件放在哪里 浏览:859
PDF文件横向太长显示不出来 浏览:974
js缓存文件怎么打开 浏览:983
网页如何打开编程码 浏览:369
网站被终止安全访问怎么办 浏览:672
用微信送达文件 浏览:655

友情链接