㈠ 神经网络的主要内容特点
(1) 神经网络的一般特点
作为一种正在兴起的新型技术神经网络有着自己的优势,他的主要特点如下:
① 由于神经网络模仿人的大脑,采用自适应算法。使它较之专家系统的固定的推理方式及传统计算机的指令程序方式更能够适应化环境的变化。总结规律,完成某种运算、推理、识别及控制任务。因而它具有更高的智能水平,更接近人的大脑。
② 较强的容错能力,使神经网络能够和人工视觉系统一样,根据对象的主要特征去识别对象。
③ 自学习、自组织功能及归纳能力。
以上三个特点是神经网络能够对不确定的、非结构化的信息及图像进行识别处理。石油勘探中的大量信息就具有这种性质。因而,人工神经网络是十分适合石油勘探的信息处理的。
(2) 自组织神经网络的特点
自组织特征映射神经网络作为神经网络的一种,既有神经网络的通用的上面所述的三个主要的特点又有自己的特色。
① 自组织神经网络共分两层即输入层和输出层。
② 采用竞争学记机制,胜者为王,但是同时近邻也享有特权,可以跟着竞争获胜的神经元一起调整权值,从而使得结果更加光滑,不想前面的那样粗糙。
③ 这一网络同时考虑拓扑结构的问题,即他不仅仅是对输入数据本身的分析,更考虑到数据的拓扑机构。
权值调整的过程中和最后的结果输出都考虑了这些,使得相似的神经元在相邻的位置,从而实现了与人脑类似的大脑分区响应处理不同类型的信号的功能。
④ 采用无导师学记机制,不需要教师信号,直接进行分类操作,使得网络的适应性更强,应用更加的广泛,尤其是那些对于现在的人来说结果还是未知的数据的分类。顽强的生命力使得神经网络的应用范围大大加大。
㈡ 神经网络是什么
神经网络可以指向两种,一个是生物神经网络,一个是人工神经网络。
生物神经网络:一般指生物的大脑神经元,细胞,触点等组成的网络,用于产生生物的意识,帮助生物进行思考和行动。
人工神经网络它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的
㈢ (七)神经网络基本结构
目前为止,我们已经学习了2个机器学习模型。线性回归一般用来处理线性问题,逻辑回归用来处理2分类问题。虽然逻辑回归也可以处理非线性的分类问题,但是当我们有非常多的特征时,例如大于100个变量,将会有数量非常惊人的特征组合。这对于一般的逻辑回归来说需要计算的特征太多了,负荷太大。而神经网络既可以答衫解决复杂的非线性分类问题,又可以避免庞大的计算量。
人工神经网络是由很多神经元(激活单元)构成的,神经元是神经网络的基本元素。
实际上,可以这样理解神经元工作过程,当将输入送进神经元后,神经元将输入与权值线性组合(实际上就是θ T X)输出一个线性表达式,再将这个表达式送哗举拿入激活函数中,便得到了神经元的真实输出。
神经网络由好多个激活单元构成,如下图所示:
激活函数的选择是构建神经网络过程中的重要环节,下面简要介绍常用的激活函数。
(1) 线性函数( Liner Function )
(2) 斜面函数( Ramp Function )**
(3) 阈值函数( Threshold Function )**
以上3个激活函数都属于线性函数,下面介绍两个常用的非线性激活函数。
(4) S形函数( Sigmoid Function )
S形函数与双极S形函数的图像如下:
双极S形函数与S形函数主要区别在于函数的值域,双极S形函数值域是(-1,1),而S形函数值域是(0,1)。由于S形函数与双极S形函数都是 可导的 (导函数是连续函数),因此适合用在BP神经乱搭网络中。(BP算法要求激活函数可导)
人工神经网络中,最常用的激活函数就是sigmoid函数
神经网络是由大量的神经元互联而构成的网络。根据网络中神经元的互联方式,常见网络结构主要可以分为下面3类:
前馈网络也称前向网络,是最常见的神经网络,前文提到的都是前馈网络。称之为前馈是因为它在输出和模型本身之间没有反馈,数据只能向前传送,直到到达输出层,层间没有向后的反馈信号。
反馈型神经网络是一种从输出到输入具有反馈连接的神经网络,其结构比前馈网络要复杂得多。
自组织神经网络是一种无监督学习网络。它通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。
㈣ 神经网络算法
20 世纪五、六⼗年代,科学家 Frank Rosenblatt其受到 Warren McCulloch 和 Walter Pitts早期的⼯作的影响,发明了感知机(Perceptrons)。
⼀个感知器接受⼏个⼆进制输⼊, ,并产⽣⼀个⼆进制输出:
如上图所示的感知机有三个输⼊: 。通常可以有更多或更少输⼊。 我们再引⼊权重: ,衡量输入对输出的重要性。感知机的输出为0 或者 1,则由分配权重后的总和 ⼩于等于或者⼤于阈值决定。和权重⼀样,阈值(threshold)是⼀个实数,⼀个神经元的参数。⽤更精确的代数形式如下:
给三个因素设置权重来作出决定:
可以把这三个因素对应地⽤⼆进制变量 来表⽰。例如,如果天⽓好,我们把
,如果不好, 。类似地,如果你的朋友陪你去, ,否则 。 也类似。
这三个对于可能对你来说,“电影好不好看”对你来说最重要,而天气显得不是那么的重要。所以你会这样分配权值: ,然后定义阈值threshold=5。
现在,你可以使⽤感知器来给这种决策建⽴数学模型。
例如:
随着权重和阈值的变化,你可以得到不同的决策模型。很明显,感知机不是⼈做出决策使⽤的全部模型。但是这个例⼦说明了⼀个感知机如何能权衡不同的依据来决策。这看上去也可以⼤致解释⼀个感知机⽹络有时确实能够做出一些不错的决定。
现在我们队上面的结构做一点变化,令b=-threshold,即把阈值移到不等号左边,变成偏置, 那么感知器的规则可以重写为:
引⼊偏置只是我们描述感知器的⼀个很⼩的变动,但是我们后⾯会看到它引导更进⼀步的符号简化。因此,我们不再⽤阈值,⽽总是使⽤偏置。
感知机是首个可以学习的人工神经网络,它的出现引起的神经网络的第一层高潮。需要指出的是,感知机只能做简单的线性分类任务,而且Minsky在1969年出版的《Perceptron》书中,证明了感知机对XOR(异或)这样的问题都无法解决。但是感知机的提出,对神经网络的发展是具有重要意义的。
通过上面的感知机的观察我们发现一个问题,每个感知机的输出只有0和1,这就意味着有时我们只是在单个感知机上稍微修改了一点点权值w或者偏置b,就可能造成最终输出完全的反转。也就是说,感知机的输出是一个阶跃函数。如下图所示,在0附近的时候,输出的变化是非常明显的,而在远离0的地方,我们可能调整好久参数也不会发生输出的变化。
这样阶跃的跳变并不是我们想要的,我们需要的是当我们队权值w或者偏置b做出微小的调整后,输出也相应的发生微小的改变芹则禅。这同时也意味值我们的输出不再只是0和1,还可以输出小数。由此我们引入了S型神经元。
S型神经元使用 S 型函数,也叫Sigmoid function函数,我们用它作为激活函数。其表达式如下:
图像如下图所示:
利⽤实际的 σ 函数,我们得到⼀个,就像上⾯说明的,平滑的感知器。 σ 函数的平滑特性,正是关键因素,⽽不是其细部形式盯明。 σ 的平滑意味着权重和偏置的微⼩变化,即 ∆w 和 ∆b,会从神经元产⽣⼀个微⼩的输出变化 ∆output。实际上,微积分告诉我们
∆output 可以很好地近似表⽰为:
上面的式子是⼀个反映权重、偏置变化嫌尘和输出变化的线性函数。这⼀线性使得我们可以通过选择权重和偏置的微⼩变化来达到输出的微⼩变化。所以当 S 型神经元和感知器本质上是相同的,但S型神经元在计算处理如何变化权重和偏置来使输出变化的时候会更加容易。
有了对S型神经元的了解,我们就可以介绍神经网络的基本结构了。具体如下:
在⽹络中最左边的称为输⼊层,其中的神经元称为输⼊神经元。最右边的,即输出层包含有输出神经元,在图中,输出层只有⼀个神经元。中间层,既然这层中的神经元既不是输⼊也不是输出,则被称为隐藏层。
这就是神经网络的基本结构,随着后面的发展神经网络的层数也随之不断增加和复杂。
我们回顾一下神经网络发展的历程。神经网络的发展历史曲折荡漾,既有被人捧上天的时刻,也有摔落在街头无人问津的时段,中间经历了数次大起大落。
从单层神经网络(感知机)开始,到包含一个隐藏层的两层神经网络,再到多层的深度神经网络,一共有三次兴起过程。详见下图。
我们希望有⼀个算法,能让我们找到权重和偏置,以⾄于⽹络的输出 y(x) 能够拟合所有的 训练输⼊ x。为了量化我们如何实现这个⽬标,我们定义⼀个代价函数:
这⾥ w 表⽰所有的⽹络中权重的集合, b 是所有的偏置, n 是训练输⼊数据的个数,
a 是表⽰当输⼊为 x 时输出的向量,求和则是在总的训练输⼊ x 上进⾏的。当然,输出 a 取决于 x, w和 b,但是为了保持符号的简洁性,我没有明确地指出这种依赖关系。符号 ∥v∥ 是指向量 v 的模。我们把 C 称为⼆次代价函数;有时也称被称为均⽅误差或者 MSE。观察⼆次代价函数的形式我们可以看到 C(w, b) 是⾮负的,因为求和公式中的每⼀项都是⾮负的。此外,代价函数 C(w,b)的值相当⼩,即 C(w; b) ≈ 0,精确地说,是当对于所有的训练输⼊ x, y(x) 接近于输出 a 时。因
此如果我们的学习算法能找到合适的权重和偏置,使得 C(w; b) ≈ 0,它就能很好地⼯作。相反,当 C(w; b) 很⼤时就不怎么好了,那意味着对于⼤量地输⼊, y(x) 与输出 a 相差很⼤。因此我们的训练算法的⽬的,是最⼩化权重和偏置的代价函数 C(w; b)。换句话说,我们想要找到⼀系列能让代价尽可能⼩的权重和偏置。我们将采⽤称为梯度下降的算法来达到这个⽬的。
下面我们将代价函数简化为C(v)。它可以是任意的多元实值函数, 。
注意我们⽤ v 代替了 w 和 b 以强调它可能是任意的函数,我们现在先不局限于神经⽹络的环境。
为了使问题更加简单我们先考虑两个变量的情况,想象 C 是⼀个只有两个变量 和 的函数,我们的目的是找到 和 使得C最小。
如上图所示,我们的目的就是找到局部最小值。对于这样的一个问题,一种方法就是通过微积分的方法来解决,我们可以通过计算导数来求解C的极值点。但是对于神经网络来说,我们往往面对的是非常道的权值和偏置,也就是说v的维数不只是两维,有可能是亿万维的。对于一个高维的函数C(v)求导数几乎是不可能的。
在这种情况下,有人提出了一个有趣的算法。想象一下一个小球从山顶滚下山谷的过程, 我们的⽇常经验告诉我们这个球最终会滚到⾕底。我们先暂时忽略相关的物理定理, 对球体的⾁眼观察是为了激发我们的想象⽽不是束缚我们的思维。因此与其陷进物理学⾥凌乱的细节,不如我们就这样问⾃⼰:如果我们扮演⼀天的上帝,能够构造⾃⼰的物理定律,能够⽀配球体可以如何滚动,那么我们将会采取什么样的运动学定律来让球体能够总是滚落到⾕底呢?
为了更精确地描述这个问题,让我们思考⼀下,当我们在 和 ⽅向分别将球体移动⼀个很⼩的量,即 ∆ 和 ∆ 时,球体将会发⽣什么情况。微积分告诉我们 C 将会有如下变化:
也可以用向量表示为
现在我们的问题就转换为不断寻找一个小于0的∆C,使得C+∆C不断变小。
假设我们选取:
这⾥的 η 是个很⼩的正数(称为学习速率),于是
由于 ∥∇C∥2 ≥ 0,这保证了 ∆C ≤ 0,即,如果我们按照上述⽅程的规则去改变 v,那么 C
会⼀直减⼩,不会增加。
所以我们可以通过不断改变v来C的值不断下降,是小球滚到最低点。
总结⼀下,梯度下降算法⼯作的⽅式就是重复计算梯度 ∇C,然后沿着相反的⽅向移动,沿着⼭⾕“滚落”。我们可以想象它像这样:
为了使梯度下降能够正确地运⾏,我们需要选择合适的学习速率η,确保C不断减少,直到找到最小值。
知道了两个变量的函数 C 的梯度下降方法,我们可以很容易的把它推广到多维。我们假设 C 是⼀个有 m 个变量 的多元函数。 ∆C 将会变为:
其中, ∇C为
∆v为:
更新规则为:
在回到神经网络中,w和b的更新规则为:
前面提到神经⽹络如何使⽤梯度下降算法来学习他们⾃⾝的权重和偏置。但是,这⾥还留下了⼀个问题:我们并没有讨论如何计算代价函数的梯度。这里就需要用到一个非常重要的算法:反向传播算法(backpropagation)。
反向传播算法的启示是数学中的链式法则。
四个方程:
输出层误差方程:
当前层误差方程:
误差方程关于偏置的关系:
误差方程关于权值的关系
算法描述:
检视这个算法,你可以看到为何它被称作反向传播。我们从最后⼀层开始向后计算误差向量δ。这看起来有点奇怪,为何要从后⾯开始。但是如果你认真思考反向传播的证明,这种反向移动其实是代价函数是⽹络输出的函数的结果。为了理解代价随前⾯层的权重和偏置变化的规律,我们需要重复作⽤链式法则,反向地获得需要的表达式。
参考链接: http://neuralnetworksanddeeplearning.com/
㈤ 人工智能时代,神经网络的原理及使用方法 | 微课堂
人工智能时代已经悄然来临,在计算机技术高速发展的未来,机器是否能代替人脑?也许有些读者会说,永远不可能,因为散盯扮人脑的思考包含感性逻辑。事实上,神经网络算法正是在模仿人脑的思考方式。想不想知道神经网络是如何“思考”的呢?下面我向大家简单介绍一下神经网络的原理及使用方法。
所谓人工智能,就是让机器具备人的思维和意识。人工智能主要有三个学派——行为主义、符号主义和连接主义。
行为主义是基于控制论,是在构建感知动作的控制系统。理解行为主义有个很好的例子,就是让机器人单脚站立,通过感知要摔倒的方向控制两只手的动作,保持身体的平衡,这就构建了一个感知动作控制系统。
符号主义是基于算数逻辑和表达式。求解问题时,先把问题描述为表达式,再求解表达式。如果你在求解某个问题时,可以用if case这样的条件语句,和若干计算公式描述出来,这就使用了符号主义的方法,比如“专家系统”。符号主义可以认为是用公式描述的人工智能,它让计算机具备了理性思维。但是人类不仅具备理性思维,还具备无法用公式描述的感性思维。比如,如果你看过这篇推送,下回再见到“符号主义”几个字,你会觉得眼熟,会想到这是人工智能相关的知识,这是人的直觉,是感性的。
连接主义就是在模拟人的这种感性思维,是在仿造人脑内的神经元连接关系。这张图给出了人脑中的一根神经元,左侧是神经元的输入,“轴突”部分是神经元的输出。人脑就是由860亿个这样的神经元首尾相接组成的网络。
神经网络可以让计算机具备感性思维。我们首先理解一下基于连接主义的神经网络设计过程。这张图给出了人类从出生到24个月神经网络的变化:
随着我们的成长,大量的数据通过视觉、听觉涌入大脑,使我们的神经网络连接,也就是这些神经元连线上的权重发生了变化,有些线上的权重增强了,有些线上的权重减弱了。
我们要用计算机仿出这些神经网络连接关系,让计算机具备感性思维。
首先需要准备数据,数据量越大越好,以构成特征和标签对。如果想识别猫,就要有大量猫的图片和这张图片是猫的标签构成特征标签对,然后搭建神经网络的网络结构,再通过反向传播优化连接的权重,直到模型的识别准确率达到要求,得到最优的连线权重,把这个模型保存起来。最后用保存的模型输入从未见过的新数据,它会通过前向传播输出概率值,概率值最大的一个就是分类和预测的结果。
我们举个例子来感受一下神经网络的设计过程。鸢尾花可以分为三类:狗尾鸢尾、杂色鸢尾和佛吉尼亚鸢尾。我们拿出一张图,需要让计算机判断这是哪类鸢尾花。人们通过经验总结出了规律:通过测量花的花萼长、花萼宽、花瓣长、花瓣宽分辨出鸢尾花的类别,比如花萼长>花萼宽,并且花瓣长/花瓣宽>2,则可以判定为这是第一种,杂色鸢尾。看到这里,也许有些读者已经想到用if、case这样的条件语句来实现鸢尾花的分类。没错,条件语句根据这些信息可以判断鸢尾花分类,这是一个非常典型的专家系统,这个过程是理性计算。只要有了这些数据,就可以通过条件判定公式计算出是哪类鸢尾花。但是我们发现鸢尾花的种植者在识别鸢尾花的时候并不需要这么理性的计算,因为他们见识了太多的鸢尾花,一看就知道是哪种,而且随着经验的增加,识别的准确率会提高。这就是直觉,是感性思维,也是我们这篇文章想要和大家分享的神经网络方法。
这种神经网络设计过程首先需要采集大量的花萼长、花萼宽、花瓣长、花瓣宽,和它们所对应的是哪种鸢尾花。花萼长、花萼宽、花瓣长、花瓣宽叫做输入特征,它们对应的分类叫做标签。大量的输入特征和标签对构建出数据集,再把这个数据集喂入搭建好的神经网络结构,网络通过反向传播优化参数,得到模型。当有新的、从未见过的输入特征,送入神经网络时,神经网络会输出识别的结果。
展望21世纪初,在近十年神经网络理论研究趋向的背景下,神经网络理论的主要前沿领域包括:
一、对智能和机器关系问题的认识进一步增长。
研究人类智力一直是科学发展中最有意义,也是空前困难的挑冲灶战性问题。人脑是我们所知道的唯一则带智能系统,具有感知识别、学习、联想、记忆、推理等智能。我们通过不断 探索 人类智能的本质以及联结机制,并用人工系统复现或部分复现,制造各种智能机器,这样可使人类有更多的时间和机会从事更为复杂、更富创造性的工作。
神经网络是由大量处理单元组成的非线性、自适应、自组织系统,是在现代神经科学研究成果的基础上提出的,试图模拟神经网络加工、记忆信息的方式,设计一种新的机器,使之具有人脑风格的信息处理能力。智能理论所面对的课题来自“环境——问题——目的”,有极大的诱惑力与压力,它的发展方向将是把基于连接主义的神经网络理论、基于符号主义的人工智能专家系统理论和基于进化论的人工生命这三大研究领域,在共同追求的总目标下,自发而有机地结合起来。
二、神经计算和进化计算的重大发展。
计算和算法是人类自古以来十分重视的研究领域,本世纪30年代,符号逻辑方面的研究非常活跃。近年来,神经计算和进化计算领域很活跃,有新的发展动向,在从系统层次向细胞层次转化里,正在建立数学理论基础。随着人们不断 探索 新的计算和算法,将推动计算理论向计算智能化方向发展,在21世纪人类将全面进入信息 社会 ,对信息的获取、处理和传输问题,对网络路由优化问题,对数据安全和保密问题等等将有新的要求,这些将成为 社会 运行的首要任务。因此,神经计算和进化计算与高速信息网络理论联系将更加密切,并在计算机网络领域中发挥巨大的作用,例如大范围计算机网络的自组织功能实现就要进行进化计算。
人类的思维方式正在转变,从线性思维转到非线性思维神经元,神经网络都有非线性、非局域性、非定常性、非凸性和混沌等特性。我们在计算智能的层次上研究非线性动力系统、混沌神经网络以及对神经网络的数理研究,进一步研究自适应性子波、非线性神经场的兴奋模式、神经集团的宏观力学等。因为,非线性问题的研究是神经网络理论发展的一个最大动力,也是它面临的最大挑战。
以上就是有关神经网络的相关内容,希望能为读者带来帮助。
以上内容由苏州空天信息研究院谢雨宏提供。