什么是人工神经网络及其算法实现方式

人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。

最近十多年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。

人工智能,机器学习,神经网络,深度神经网络之间的关系是什么?

这些概念大家经常碰到,可能会有一些混淆,我这里解释下。

人工智能,顾名思义ArtificialIntelligence,缩写是大家熟知的AI。是让计算机具备人类拥有的能力——感知、学习、记忆、推理、决策等。细分的话,机器感知包括机器视觉、NLP,学习有模式识别、机器学习、增强学习、迁移学习等,记忆如知识表示,决策包括规划、数据挖掘、专家系统等。上述划分可能会有一定逻辑上的重叠,但更利于大家理解。

其中,机器学习(MachineLearning,ML)逐渐成为热门学科,主要目的是设计和分析一些学习算法,让计算机从数据中获得一些决策函数,从而可以帮助人们解决一些特定任务,提高效率。它的研究领域涉及了概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。

神经网络,主要指人工神经网络(ArtificialNeural Network,ANN),是机器学习算法中比较接近生物神经网络特性的数学模型。通过模拟人类神经网络的结构和功能,由大量“神经元”构成了一个复杂的神经网络,模拟神经元的刺激和抑制的过程,最终完成复杂运算。

深度神经网络,大家可以理解为更加复杂的神经网络,随着深度学习的快速发展,它已经超越了传统的多层感知机神经网络,而拥有对空间结构进行处理(卷积神经网络)和时间序列进行处理(递归神经网络)的能力。

所以上面的四种概念中,人工智能是最宽泛的概念,机器学习是其中最重要的学科,神经网络是机器学习的一种方式,而深度神经网络是神经网络的加强版。记住这个即可。

AI爱发猫

神经网络、深度学习、机器学习是什么?有什么区别和联系?

深度学习是由深层神经网络+机器学习造出来的词。深度最早出现在deep belief network(深度(层)置信网络)。其出现使得沉寂多年的神经网络又焕发了青春。GPU使得深层网络随机初始化训练成为可能。resnet的出现打破了层次限制的魔咒,使得训练更深层次的神经网络成为可能。

深度学习是神经网络的唯一发展和延续。在现在的语言环境下,深度学习泛指神经网络,神经网络泛指深度学习。

在当前的语境下没有区别。

定义

生物神经网络主要是指人脑的神经网络,它是人工神经网络的技术原型。人脑是人类思维的物质基础,思维的功能定位在大脑皮层,后者含有大约10^11个神经元,每个神经元又通过神经突触与大约103个其它神经元相连,形成一个高度复杂高度灵活的动态网络。

作为一门学科,生物神经网络主要研究人脑神经网络的结构、功能及其工作机制,意在探索人脑思维和智能活动的规律。

人工神经网络是生物神经网络在某种简化意义下的技术复现,作为一门学科,它的主要任务是根据生物神经网络的原理和实际应用的需要建造实用的人工神经网络模型,设计相应的学习算法,模拟人脑的某种智能活动,然后在技术上实现出来用以解决实际问题。

因此,生物神经网络主要研究智能的机理;人工神经网络主要研究智能机理的实现,两者相辅相成。

人工智能是什么? 人工智能算法是什么?

人工智能和人工智能算法的官方定义相信你已经看过了。

就我个人理解。人工智能,是人类赋予了本身不具备思考学习能力的机器/算法一些学习和思考的能力。人工智能算法没有统一定义,其实就是神经网络算法和机器学习算法的统称。同时,注意人工智能算法和智能算法大不一样,智能算法主要是指一系列的启发式算法。

希望对你有帮助

一篇文章讲清楚人工智能,机器学习和深度学习的区别

先看一下三者的关系:

对于人工智能,我们可以从广义和狭义两个层面来理解。广义层面来讲,AI应该具备人类智力的所有特征,包括上述的能力。狭义层面的人工智能则只具备部分人类智力某些方面的能力,并且能在这些领域内做的非常出众,但可能缺乏其他领域的能力。比如说,一个人工智能机器可能拥有强大的图像识别功能,但除此之外并无他用,这就是狭义层面AI的例子。

从核心上来说,机器学习是实现人工智能的一种途径。

实际上,机器学习是一种“训练”算法的方式,目的是使机器能够向算法传送大量的数据,并允许算法进行自我调整和改进,而不是利用具有特定指令的编码软件例程来完成指定的任务。

举个例子,机器学习已经被用于计算机视觉(机器具备识别图像或视频中的对象的能力)方面,并已经有了显著的进步。你可以收集数十万甚至数百万张图片,然后让人标记它们。例如,让人标记出其中含有猫的图片。对于算法,它也能够尝试建立一个模型,可以像人一样准确地标记出含有猫的图片。一旦精度水平足够高,机器就相当于“掌握”了猫的样子。

深度学习是机器学习的众多方法之一。其他方法包括决策树学习、归纳逻辑编程、聚类、强化学习和贝叶斯网络等。

深度学习的灵感来自大脑的结构和功能,即许多神经元的互连。人工神经网络(ANN)是模拟大脑生物结构的算法。

在ANN中,存在具有离散层和与其他“神经元”连接的“神经元”。每个图层挑选出一个要学习的特征,如图像识别中的曲线/边缘。 正是这种分层赋予了“深度学习”这样的名字,深度就是通过使用多层创建的,而不是单层。

人工智能和物联网密不可分

我认为人工智能和物联网之间的关系类似于人类的大脑和身体之间的关系。

我们的身体收集感官输入,如视觉、声音和触摸。我们的大脑接收、处理这些数据并寻求它们的意义,比如:把光变成可识别的对象、把声音变成可以理解的语言。然后大脑会做出决定、向身体发送信号,命令身体执行一些运动,例如捡起物品或对他人说话。

构成物联网的所有传感器都像我们的身体,它们提供了来自世界各处的原始数据。人工智能就像我们的大脑,需要能够了解这些数据并决定要执行的操作。同时,物联网的连接设备又像是我们的身体,能够进行物理动作或与他人进行交流,以释放彼此的潜力。

神经网络算法的人工神经网络

人工神经网络(Artificial Neural Networks,ANN)系统是 20 世纪 40 年代后出现的。它是由众多的神经元可调的连接权值连接而成,具有大规模并行处理、分布式信 息存储、良好的自组织自学习能力等特点。BP(Back Propagation)算法又称为误差 反向传播算法,是人工神经网络中的一种监督式的学习算法。BP 神经网络算法在理 论上可以逼近任意函数,基本的结构由非线性变化单元组成,具有很强的非线性映射能力。而且网络的中间层数、各层的处理单元数及网络的学习系数等参数可根据具体情况设定,灵活性很大,在优化、信号处理与模式识别、智能控制、故障诊断等许 多领域都有着广泛的应用前景。 人工神经元的研究起源于脑神经元学说。19世纪末,在生物、生理学领域,Waldeger等人创建了神经元学说。人们认识到复杂的神经系统是由数目繁多的神经元组合而成。大脑皮层包括有100亿个以上的神经元,每立方毫米约有数万个,它们互相联结形成神经网络,通过感觉器官和神经接受来自身体内外的各种信息,传递至中枢神经系统内,经过对信息的分析和综合,再通过运动神经发出控制信息,以此来实现机体与内外环境的联系,协调全身的各种机能活动。

神经元也和其他类型的细胞一样,包括有细胞膜、细胞质和细胞核。但是神经细胞的形态比较特殊,具有许多突起,因此又分为细胞体、轴突和树突三部分。细胞体内有细胞核,突起的作用是传递信息。树突是作为引入输入信号的突起,而轴突是作为输出端的突起,它只有一个。

树突是细胞体的延伸部分,它由细胞体发出后逐渐变细,全长各部位都可与其他神经元的轴突末梢相互联系,形成所谓“突触”。在突触处两神经元并未连通,它只是发生信息传递功能的结合部,联系界面之间间隙约为(15~50)×10米。突触可分为兴奋性与抑制性两种类型,它相应于神经元之间耦合的极性。每个神经元的突触数目正常,最高可达10个。各神经元之间的连接强度和极性有所不同,并且都可调整、基于这一特性,人脑具有存储信息的功能。利用大量神经元相互联接组成人工神经网络可显示出人的大脑的某些特征。

人工神经网络是由大量的简单基本元件——神经元相互联接而成的自适应非线性动态系统。每个神经元的结构和功能比较简单,但大量神经元组合产生的系统行为却非常复杂。

人工神经网络反映了人脑功能的若干基本特性,但并非生物系统的逼真描述,只是某种模仿、简化和抽象。

与数字计算机比较,人工神经网络在构成原理和功能特点等方面更加接近人脑,它不是按给定的程序一步一步地执行运算,而是能够自身适应环境、总结规律、完成某种运算、识别或过程控制。

人工神经网络首先要以一定的学习准则进行学习,然后才能工作。现以人工神经网络对于写“A”、“B”两个字母的识别为例进行说明,规定当“A”输入网络时,应该输出“1”,而当输入为“B”时,输出为“0”。

所以网络学习的准则应该是:如果网络作出错误的的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。

如果输出为“0”(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给网络轮番输入若干个手写字母“A”、“B”后,经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够作出迅速、准确的判断和识别。一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。 (1)人类大脑有很强的自适应与自组织特性,后天的学习与训练可以开发许多各具特色的活动功能。如盲人的听觉和触觉非常灵敏;聋哑人善于运用手势;训练有素的运动员可以表现出非凡的运动技巧等等。

普通计算机的功能取决于程序中给出的知识和能力。显然,对于智能活动要通过总结编制程序将十分困难。

人工神经网络也具有初步的自适应与自组织能力。在学习或训练过程中改变突触权重值,以适应周围环境的要求。同一网络因学习方式及内容不同可具有不同的功能。人工神经网络是一个具有学习能力的系统,可以发展知识,以致超过设计者原有的知识水平。通常,它的学习训练方式可分为两种,一种是有监督或称有导师的学习,这时利用给定的样本标准进行分类或模仿;另一种是无监督学习或称无为导师学习,这时,只规定学习方式或某些规则,则具体的学习内容随系统所处环境 (即输入信号情况)而异,系统可以自动发现环境特征和规律性,具有更近似人脑的功能。

(2)泛化能力

泛化能力指对没有训练过的样本,有很好的预测能力和控制能力。特别是,当存在一些有噪声的样本,网络具备很好的预测能力。

(3)非线性映射能力

当对系统对于设计人员来说,很透彻或者很清楚时,则一般利用数值分析,偏微分方程等数学工具建立精确的数学模型,但当对系统很复杂,或者系统未知,系统信息量很少时,建立精确的数学模型很困难时,神经网络的非线性映射能力则表现出优势,因为它不需要对系统进行透彻的了解,但是同时能达到输入与输出的映射关系,这就大大简化设计的难度。

(4)高度并行性

并行性具有一定的争议性。承认具有并行性理由:神经网络是根据人的大脑而抽象出来的数学模型,由于人可以同时做一些事,所以从功能的模拟角度上看,神经网络也应具备很强的并行性。

多少年以来,人们从医学、生物学、生理学、哲学、信息学、计算机科学、认知学、组织协同学等各个角度企图认识并解答上述问题。在寻找上述问题答案的研究过程中,这些年来逐渐形成了一个新兴的多学科交叉技术领域,称之为“神经网络”。神经网络的研究涉及众多学科领域,这些领域互相结合、相互渗透并相互推动。不同领域的科学家又从各自学科的兴趣与特色出发,提出不同的问题,从不同的角度进行研究。

下面将人工神经网络与通用的计算机工作特点来对比一下:

若从速度的角度出发,人脑神经元之间传递信息的速度要远低于计算机,前者为毫秒量级,而后者的频率往往可达几百兆赫。但是,由于人脑是一个大规模并行与串行组合处理系统,因而,在许多问题上可以作出快速判断、决策和处理,其速度则远高于串行结构的普通计算机。人工神经网络的基本结构模仿人脑,具有并行处理特征,可以大大提高工作速度。

人脑存贮信息的特点为利用突触效能的变化来调整存贮内容,也即信息存贮在神经元之间连接强度的分布上,存贮区与计算机区合为一体。虽然人脑每日有大量神经细胞死亡 (平均每小时约一千个),但不影响大脑的正常思维活动。

普通计算机是具有相互独立的存贮器和运算器,知识存贮与数据运算互不相关,只有通过人编出的程序使之沟通,这种沟通不能超越程序编制者的预想。元器件的局部损坏及程序中的微小错误都可能引起严重的失常。 心理学家和认知科学家研究神经网络的目的在于探索人脑加工、储存和搜索信息的机制,弄清人脑功能的机理,建立人类认知过程的微结构理论。

生物学、医学、脑科学专家试图通过神经网络的研究推动脑科学向定量、精确和理论化体系发展,同时也寄希望于临床医学的新突破;信息处理和计算机科学家研究这一问题的目的在于寻求新的途径以解决不能解决或解决起来有极大困难的大量问题,构造更加逼近人脑功能的新一代计算机。

人工神经网络早期的研究工作应追溯至上世纪40年代。下面以时间顺序,以著名的人物或某一方面突出的研究成果为线索,简要介绍人工神经网络的发展历史。

1943年,心理学家W·Mcculloch和数理逻辑学家W·Pitts在分析、总结神经元基本特性的基础上首先提出神经元的数学模型。此模型沿用至今,并且直接影响着这一领域研究的进展。因而,他们两人可称为人工神经网络研究的先驱。

1945年冯·诺依曼领导的设计小组试制成功存储程序式电子计算机,标志着电子计算机时代的开始。1948年,他在研究工作中比较了人脑结构与存储程序式计算机的根本区别,提出了以简单神经元构成的再生自动机网络结构。但是,由于指令存储式计算机技术的发展非常迅速,迫使他放弃了神经网络研究的新途径,继续投身于指令存储式计算机技术的研究,并在此领域作出了巨大贡献。虽然,冯·诺依曼的名字是与普通计算机联系在一起的,但他也是人工神经网络研究的先驱之一。

50年代末,F·Rosenblatt设计制作了“感知机”,它是一种多层的神经网络。这项工作首次把人工神经网络的研究从理论探讨付诸工程实践。当时,世界上许多实验室仿效制作感知机,分别应用于文字识别、声音识别、声纳信号识别以及学习记忆问题的研究。然而,这次人工神经网络的研究高潮未能持续很久,许多人陆续放弃了这方面的研究工作,这是因为当时数字计算机的发展处于全盛时期,许多人误以为数字计算机可以解决人工智能、模式识别、专家系统等方面的一切问题,使感知机的工作得不到重视;其次,当时的电子技术工艺水平比较落后,主要的元件是电子管或晶体管,利用它们制作的神经网络体积庞大,价格昂贵,要制作在规模上与真实的神经网络相似是完全不可能的;另外,在1968年一本名为《感知机》的著作中指出线性感知机功能是有限的,它不能解决如异感这样的基本问题,而且多层网络还不能找到有效的计算方法,这些论点促使大批研究人员对于人工神经网络的前景失去信心。60年代末期,人工神经网络的研究进入了低潮。

另外,在60年代初期,Widrow提出了自适应线性元件网络,这是一种连续取值的线性加权求和阈值网络。后来,在此基础上发展了非线性多层自适应网络。当时,这些工作虽未标出神经网络的名称,而实际上就是一种人工神经网络模型。

随着人们对感知机兴趣的衰退,神经网络的研究沉寂了相当长的时间。80年代初期,模拟与数字混合的超大规模集成电路制作技术提高到新的水平,完全付诸实用化,此外,数字计算机的发展在若干应用领域遇到困难。这一背景预示,向人工神经网络寻求出路的时机已经成熟。美国的物理学家Hopfield于1982年和1984年在美国科学院院刊上发表了两篇关于人工神经网络研究的论文,引起了巨大的反响。人们重新认识到神经网络的威力以及付诸应用的现实性。随即,一大批学者和研究人员围绕着 Hopfield提出的方法展开了进一步的工作,形成了80年代中期以来人工神经网络的研究热潮。

1985年,Ackley、Hinton和Sejnowski将模拟退火算法应用到神经网络训练中,提出了Boltzmann机,该算法具有逃离极值的优点,但是训练时间需要很长。

1986年,Rumelhart、Hinton和Williams提出了多层前馈神经网络的学习算法,即BP算法。它从证明的角度推导算法的正确性,是学习算法有理论依据。从学习算法角度上看,是一个很大的进步。

1988年,Broomhead和Lowe第一次提出了径向基网络:RBF网络。

总体来说,神经网络经历了从高潮到低谷,再到高潮的阶段,充满曲折的过程。

人工神经网络算法与机器算法是相同的算法吗相关推荐

  1. 人工神经网络发展历史及算法应用综述

    作者:柯悦 简 介: 人工神经网络概念自提起以来,它的发展经历了起起落落,而如今人工神经网络也与各个领域相结合,实现它的价值.人工神经网络主要用来处理分类与回归的问题.决定神经网络发展的三个基本要素主 ...

  2. 基于C++的简单深度学习ANN(人工神经网络)模型

    使用C++实现的简单ANN(人工神经网络) github地址 使用C++实现的最简单的人工神经网络,包含梯度下降的反向传播算法(BP).内有部分注释,适合初学学习.至于为什么不用python?还是觉得 ...

  3. 人工神经网络算法的应用,神经网络是机器算法吗

    神经网络算法的人工神经网络 人工神经网络(ArtificialNeuralNetworks,ANN)系统是20世纪40年代后出现的. 它是由众多的神经元可调的连接权值连接而成,具有大规模并行处理.分布 ...

  4. 除了神经网络其他的智能算法,人工神经网络算法与机器算法

    神经网络原理及应用 神经网络原理及应用 1. 什么是神经网络? 神经网络是一种模拟动物神经网络行为特征,进行分布式并行信息处理的算法.这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系 ...

  5. 人工神经网络算法与机器算法算两种算法吗

    人工神经网络的特点有哪些 人工神经网络的特点和优越性,主要表现在三个方面:第一,具有自学习功能. 例如实现图像识别时,只在先把许多不同的图像样板和对应的应识别的结果输入人工神经网络,网络就会通过自学习 ...

  6. 多元回归求解 机器学习_金融领域里的机器学习算法介绍:人工神经网络

    人工智能的发展在很大程度上是由神经网络.深度学习和强化学习推动的.这些复杂的算法可以解决高度复杂的机器学习任务,如图像分类.人脸识别.语音识别和自然语言处理等.这些复杂任务一般是非线性的,同时包含着大 ...

  7. 人工神经网络神经元模型,人工神经元算法机制图

    神经网络算法原理 4.2.1概述人工神经网络的研究与计算机的研究几乎是同步发展的. 1943年心理学家McCulloch和数学家Pitts合作提出了形式神经元的数学模型,20世纪50年代末,Rosen ...

  8. 人工神经网络的算法原理,深度神经网络算法原理

    1.人工智能的工作原理是什么? 人工智能的工作原理是:计算机会通过传感器(或人工输入的方式)来收集关于某个情景的事实.计算机将此信息与已存储的信息进行比较,以确定它的含义.计算机会根据收集来的信息计算 ...

  9. 人工神经网络的算法原理,深度神经网络工作原理

    AI是否可以被精神分析?人工智能运行的基础原理到底是什么? AI不可以被精神分析,人工智能的工作原理是,计算机使用传感器(或人工输入),将收集有关一个场景的事实.计算机将把这些信息与已经存储的信息进行 ...

最新文章

  1. 电脑总是死机 报Service Control M Hid input service 服务因下列错误而停止
  2. 小米做的这件事,捍卫了你的隐私
  3. 一次生产事故的优化经历
  4. centos进入单用户模式
  5. 理解微信小程序Wepy框架的三个事件交互$broadcast,$emit,$invoke
  6. 计算机高层应用,计算机网络中高层应用.ppt
  7. stm32程序中的assert_param()的说明
  8. python字母后移5位加密_LabView对字符串进行加密,规则是每个字母后移5位,例如A变为F,b变为g,x变为c,y变为d…...
  9. 接口限流算法:漏桶算法amp;令牌桶算法
  10. react-redux学习笔记
  11. Android让控件位于底部
  12. 锂电池电量百分比计算_锂电池充放电理论及电量计算方法设计
  13. mysql 唯一索引 死锁_MySQL死锁案例_唯一索引
  14. 计算机专业html5的毕业论文范文,5000字计算机专业大专毕业论文参考范文
  15. python求梯形面积_Python - 教你用Python进行简单的面积计算
  16. Ubuntu18.04
  17. ubuntu相关命令速记
  18. [zz]从软件工程师到IT猎头:我的一点经历和感触zt
  19. 西电操作系统上机实验2
  20. keytool生成私钥、公钥、证书详解

热门文章

  1. Linux 实现ssh免密登录--设置后不生效的处理办法
  2. curl -O 下载文件 curl -o 下载文件并重命名
  3. Mac端Charles抓包之后unkown的具体解决方案
  4. 解决Visual Studio输出中文乱码问题
  5. 我的不过范德萨就好过放电
  6. mysql 列转行union all_SQL查询案例:列行转换[列转行, 使用 UNION ALL 处理] | 学步园...
  7. 国外热度高的域名有哪些类?
  8. SKY66111-11低功耗蓝牙芯片
  9. python3的变量和数据类型
  10. 全球与中国吸油产品市场深度研究分析报告