MyException - 我的异常网
当前位置:我的异常网» 综合 » 人工神经网络基础概念、原理常识(补)

人工神经网络基础概念、原理常识(补)

www.MyException.Cn  网友分享于:2015-08-15  浏览:0次
人工神经网络基础概念、原理知识(补)

一提到人工神经网络应当想到三个基础的知识点:一是神经元模型;二是神经网络结构;三是学习算法。神经网络的种类多种多样,但其分类依据逃不出上面上个基础知识点。所以在学习中如果能够仅仅把握住以上三个线索,就能触类旁通,拥有一个非常好的视角看待神经网络。今天就对这三个基础知识点进行总结,达到指导神经网络学习以及深化对神经网络的理解的目的。

一、神经元模型

人工神经网络是在现代神经生物学研究基础上提出的模拟生物过程 ,反映人脑某些特性的一种计算结构。它不是人脑神经系统的真实描写,而只是它的某种抽象、简化和模拟。根据前面对生物神经网络的介绍可知,神经元及其突触是神经网络的基本器件 。 因此,模拟生物神经网络应首先模拟生物神经元。在人工神经网络中,神经元常被称为“处理单元” 。有时从网络的观点出发常把它称为“节点” 。人工神经元是对生物神经元的一种形式化描述,它对生物神经元的信息处理过程进行抽象,并用数学语言予以描述;对生物神经元的结构和功能进行模拟 , 并用模型图予以表达。

1. 神经元建模

目前人们提出的神经元模型已有很多 ,其中最早提出且影响最大的,是1943年心理学家 McCulloch 和数学家 W . Pitts 在分析总结神经元基本特性的基础上首先提出的M-P模型 。 该模型经过不断改进后,形成目前广泛应用的形式神经元模型。关于神经元的信息处理机制,该模型在简化的基础上提出以下6点假定进行描述 :

(1) 每个神经元都是一个多输入单输出的信息处理单元 ;
(2) 神经元输入分兴奋性输入和抑制性输入两种类型 ;
(3) 神经元具有空间整合特性和阈值特性 ;
(4) 神经元输入与输出间有固定的时滞 ,主要取决于突触延搁 ;
(5) 忽略时间整合作用和不应期 ;
(6) 神经元本身是非时变的 , 即其突触时延和突触强度均为常数 。

基于上面的6条假设,神经元建模图示如下:


实际上表达就是一个整合∑、映射F的数学建模。

2. 神经元的数学模型

由神经元模型示意图,可以得到神经元的数学模型如下:


若将阈值参数作为输入端与w0权值整合到∑当中,就可以得到如下的简化形式:


3. 神经元的激活函数(映射F)

神经元的各种不同数学模型的主要区别在于采用了不同的变换函数 ,从而使神经元具有不同的信息处理特性 。 神经元的信息处理特性是决定人工神经网络整体性能的三大要素之一 , 因此变换函数的研究具有重要意义 。 神经元的变换函数反映了神经元输出与其激活状态之间的关系 , 最常用的变换函数有以下 4 种形式 。

(1)阈值型变换函数

采用单位阶跃响应函数,公式以及图示如下:


(2)非线性变换函数

非线性变换函数为实数域 R 到[0, 1]闭集的非减连续函数,代表了状态连续型神经元模型。 最常用的非线性变换函数是单极性的 Sigmoid 函数曲线,简称 S 型函数, 其特点是函数本身及其导数都是连续的, 因而在处理上十分方便。 单极性以及双极型S型函数公式及图示如下:



(3)分段线性变换函数

该函数的特点是神经元的输入与输出在一定区间内满足线性关系。由于具有分段线性的特点,因而在实现上比较简单。这类函数也称为伪线性函数,单极性分段线性变换函数的g公式和图示如下:



(4)概率型变换函数


采用概率型变换函数的神经元模型其输入与输出之间的关系是不确定的 ,需用一个随机函数来描述其输出状态为1或为0的概率。 设神经元输出为 1 的概率如下:


式中 ,T 称为温度参数 。 由于采用该变换函数的神经元输出状态分布与热力学中的玻尔兹曼(Boltzmann)分布相类似 , 因此这种神经元模型也称为热力学模型 。

二、神经网络结构

  大量神经元组成庞大的神经网络,才能实现对复杂信息的处理与存储,并表现出各种优越的特性。神经网络的强大功能与其大规模并行互连、非线性处理以及互连结构的可塑性密切相关。因此必须按一定规则将神经元连接成神经网络,并使网络中各神经元的连接权按一定规则变化。生物神经网络由数以亿计的生物神经元连接而成,而人工神经网络限于物理实现的困难和为了计算简便,是由相对少量的神经元按一定规律构成的网
络。人工神经网络中的神经元常称为节点或处理单元,每个节点均具有相同的结构,其动作在时间和空间上均同步。

  人工神经网络的模型很多,可以按照不同的方法进行分类。其中常见的两种分类方法是:按网络连接的拓扑结构分类和按网络内部的信息流向分类。

1. 网络拓扑结构类型

神经元之间的连接方式不同 , 网络的拓朴结构也不同 。 根据神经元之间连接方式 , 可将神经网络结构分为两大类 。

(1) 层次型

具有层次型结构的神经网络将神经元按功能分成若干层 ,如输入层 、中间层(也称为隐层)和输出层 , 各层顺序相连 , 如下图所示



输入层各神经元负责接收来自外界的输入信息 , 并传递给中间各隐层神经元 ;隐层是神经网络的内部信息处理层 ,负责信息变换 ,根据信息变换能力的需要 ,隐层可设计为一层或多层 ;最后一个隐层传递到输出层各神经元的信息经进一步处理后即完成一次信息处理 ,由输出层向外界(如执行机构或显示设备)输出信息处理结果 。 层次型网络结构有 3 种典型的结合方式 。

(A) 单纯型层次网络结构

结构如上图所示,神经元分层排列 ,各层神经元接收前一层输入并输出到下一层 , 层内神经元自身以及神经元之间不存在连接通路 。

(B) 输出层到输入层有连接的层次网络结构

如图所示:



输入层到输出层有连接路径的层次型网络结构。其中输入层神经元既可接收输入,也具有信息处理功能。

(C) 层内有互连的层次网络结构

如图所示:



同一层内神经元有互连的层次网络结构 ,这种结构的特点是在同一层内引入神经元间的侧向作用 ,使得能同时激活的神经元个数可控 ,以实现各层神经元的自组织 。

(2) 互连型结构

对于互连型网络结构 ,网络中任意两个节点之间都可能存在连接路径 , 因此可以根据网络中节点的互连程度将互连型网络结构细分为 3 种情况 。

(A) 全互连型

网络中的每个节点均与所有其他节点连接,如下图所示:



(B) 局部互连型

网络中的每个节点只与其邻近的节点有连接,如下图所示:

(C) 稀疏连接型

网络中的节点只与少数相距较远的节点相连

2. 网络信息流向类型

  根据神经网络内部信息的传递方向,可分为两种类型 。

(1) 前馈型网络

前馈是因网络信息处理的方向是从输入层到各隐层再到输出层逐层进行而得名 。 从信息处理能力看 ,网络中的节点可分为两种 :一种是输入节点 ,只负责从外界引入信息后向前传递给第一隐层 ; 另一种是具有处理能力的节点 , 包括各隐层和输出层节点 。 前馈网络中某一层的输出是下一层的输入 , 信息的处理具有逐层传递进行的方向性 , 一般不存在反馈环路 。 因此这类网络很容易串联起来建立多层前馈网络 。多层前馈网络可用一个有向无环路的图表示 。 其中输入层常记为网络的第一层 ,第一个隐层记为网络的第二层 , 其余类推 。 所以 ,当提到具有单层计算神经元的网络时 ,指的应是一个两层前馈网络(输入层和输出层) , 当提到具有单隐层的网络时 , 指的应是一个三层前馈网络(输入层 、隐层和输出层) 。

(2) 反馈型网络

在反馈网络中所有节点都具有信息处理功能 ,而且每个节点既可以从外界接收输入,同时又可以向外界输出。 单纯全互连结构网络是一种典型的反馈型网络 ,可以用下图所示的完全的无向图表示:



神经网络的拓扑结构是决定神经网络特性的第二大要素 ,其特点可归纳为分布式存储记忆与分布式信息处理 、高度互连性 、高度并行性和结构可塑性 。

三、神经网络学习

   人工神经网络的功能特性由其连接的拓扑结构和突触连接强度 ,即连接权值决定 。神经网络全体连接权值的可用一个矩阵 W 表示 , 它的整体反映了神经网络对于所解决问题的知识存储 。 神经网络能够通过对样本的学习训练 ,不断改变网络的连接权值以及拓扑结构 , 以使网络的输出不断地接近期望的输出 。 这一过程称为神经网络的学习或训练 ,其本质是可变权值的动态调整 。 神经网络的学习方式是决定神经网络信息处理性能的第三大要素 , 因此有关学习的研究在神经网络研究中具有重要地位 。 改变权值的规则称为学习规则或学习算法(亦称训练规则或训练算法) , 在单个处理单元层次 , 无论采用哪种学习规则进行调整 , 其算法都十分简单 。 但当大量处理单元集体进行权值调整时 , 网络就呈现出“智能”特性 , 其中有意义的信息就分布地存储在调节后的权值矩阵中 。神经网络的学习算法很多 , 根据一种广泛采用的分类方法 , 可将神经网络的学习算法归纳为 3 类 。 一类是有导师学习 , 一类为无导师学习 , 还有一类是灌输式学习 。有导师学习也称为有监督学习 , 这种学习模式采用的是纠错规则 。 在学习训练过程中需要不断地给网络成对提供一个输入模式和一个期望网络正确输出的模式 , 称为“教师信号” 。 将神经网络的实际输出同期望输出进行比较 , 当网络的输出与期望的教师信号不符时 , 根据差错的方向和大小按一定的规则调整权值 , 以使下一步网络的输出更接近期望结果 。 对于有导师学习 , 网络在能执行工作任务之前必须先经过学习 , 当网络对于各种给定的输入均能产生所期望的输出时 , 即认为网络已经在导师的训练下“学会”了训练数据集中包含的知识和规则 , 可以用来进行工作了 。

无导师学习也称为无监督学习 , 学习过程中 ,需要不断地给网络提供动态输入信息 ,网络能根据特有的内部结构和学习规则 , 在输入信息流中发现任何可能存在的模式和规
律 , 同时能根据网络的功能和输入信息调整权值 , 这个过程称为网络的自组织 ,其结果是使网络能对属于同一类的模式进行自动分类 。 在这种学习模式中 ,网络的权值调整不取决于外来教师信号的影响 , 可以认为网络的学习评价标准隐含于网络的内部 。在有导师学习中 , 提供给神经网络学习的外部指导信息越多 , 神经网络学会并掌握的
知识越多 , 解决问题的能力也就越强 。 但是 ,有时神经网络所解决的问题的先验信息很少 , 甚至没有 , 这种情况下无导师学习就显得更有实际意义 。灌输式学习是指将网络设计成能记忆特别的例子 ,以后当给定有关该例子的输入信息时 , 例子便被回忆起来 。 灌输式学习中网络的权值不是通过训练逐渐形成的 , 而是通过某种设计方法得到的。 权值一旦设计好即一次性“灌输”给神经网络不再变动 ,因此网络对权值的“学习”是“死记硬背”式的 , 而不是训练式的 。有导师学习和无导师学习网络的运行一般分为训练阶段和工作两个阶段 。 训练学习的目的是为了从训练数据中提取隐含的知识和规律 , 并存储于网络中供工作阶段使用 。

可以认为 , 一个神经元是一个自适应单元 ,其权值可以根据它所接收的输入信号 、它的输出信号以及对应的监督信号进行调整 。 权向量 Wj 的在 t 时刻的调整量 ΔWj (t)与 t时刻的输入向量 X(t)和学习信号 r 的乘积成正比 。 用数学式表示及其图示如下所示:



常用的学习规则总结如下表所示:



总结

因为我对神经网络进行学习时并没有做到很好的按照一定的学习顺序进行安排,而是按照需求分篇章进行学习,所以总是急于求成。对原本最重要的基础部分都没有掌握就直接急着去学习新的网络结构和新的模型,这样导致学习效率低下,直到在学习中遇到了瓶颈,才回过头来去翻看了韩立群老师的《人工神经网络教程》中的人工神经网络基础章节,其基本内容如下面所讲述的一样。在读过这一章节之后,我感觉到似乎有一种提纲挈领的作用,反过头来再去看那些多层感知器、BP算法、Hopfield网络、模拟退火、波尔兹曼机、自组织竞争神经网络等,会感到一种归类整理的效果。所以,借着这篇博文进行总结,同时希望能够帮助更多人能够把握住神经网络中最为基础的三个纲:神经元模型、神经网络结构和神经网络学习。真正做到触类旁通,既能进得去,也能站出来看问题。

************************

2015-8-13

艺少

版权声明:本文为博主原创文章,未经博主允许不得转载。

文章评论

每天工作4小时的程序员
每天工作4小时的程序员
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
我是如何打败拖延症的
我是如何打败拖延症的
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
Java程序员必看电影
Java程序员必看电影
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
总结2014中国互联网十大段子
总结2014中国互联网十大段子
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
我的丈夫是个程序员
我的丈夫是个程序员
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
程序员和编码员之间的区别
程序员和编码员之间的区别
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序员都该阅读的书
程序员都该阅读的书
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员必看的十大电影
程序员必看的十大电影
10个调试和排错的小建议
10个调试和排错的小建议
 程序员的样子
程序员的样子
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
编程语言是女人
编程语言是女人
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
漫画:程序员的工作
漫画:程序员的工作
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
老程序员的下场
老程序员的下场
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
如何成为一名黑客
如何成为一名黑客
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
那些争议最大的编程观点
那些争议最大的编程观点
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
旅行,写作,编程
旅行,写作,编程
鲜为人知的编程真相
鲜为人知的编程真相
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
代码女神横空出世
代码女神横空出世
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
程序员应该关注的一些事儿
程序员应该关注的一些事儿
中美印日四国程序员比较
中美印日四国程序员比较
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有