基于敏感性分析裁剪Madaline网络结构.pdf
《基于敏感性分析裁剪Madaline网络结构.pdf》由会员分享,可在线阅读,更多相关《基于敏感性分析裁剪Madaline网络结构.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、http:/-1-基于敏感性分析裁剪基于敏感性分析裁剪 Madaline 网络结构网络结构 邵静 河海大学计算机及信息工程学院,南京(210098)E-mail:J 摘摘 要:要:在神经网络研究中,网络结构如何设计是一个至关重要的问题。为了找到一个适合的网络结构,目前常用的方法是把已训练好的大结构网络裁剪成小结构网络,同时又要保留它必需具备的某些属性。本文给出了基于敏感性的裁剪方法,即从 Madaline 网络上裁剪其隐层神经元节点,造成尽可能少的性能损失并可以比较简便地补偿裁剪造成的损失。这种方法的新颖在于它建立了一个重要性度量,通过对一个 Adaline 的敏感性度量,找到一个Madali
2、ne 中重要性最小的 Adaline。我们的实验结果很好的证明了这个方法的有效性。关键词:关键词:Adaline,Madaline,裁剪,敏感性度量,重要性度量 中图分类号:中图分类号:TP183 1.引言引言 自从1943年McCulloch和Pitts首先提出神经元的数学模型以来,人工神经网络的发展几经兴衰。虽然该研究领域在理论和应用上都已有很大的进展,但是离彻底解释人脑的工作原理还相差甚远,实用的也仅仅是人脑功能的极少部分。许多有关人工神经网络的结构和行为的基本问题都还有待进一步深入探索。本文主要研究的是基于敏感性的Madaline网络结构的裁剪。2.问题描述与研究现状问题描述与研究现状
3、 在一个待解决的问题中,用什么样的神经网络结构是一个合适的结构?很可惜,这个问题的答案不容易给出,因为结构大的网络和结构小的网络都各有利弊。一方面,结构较大的网络训练速度可能更快,对训练数据分类精确;但是在硬件上可能运行时间长、计算量大,而且对于给定的训练数据以外的数据,泛化性能较差。而另一方面,结构较小的网络在运行时间和计算量上可能花费的是较少,而且泛化能力强;但是它对训练数据可能训练速度慢甚至根本不能训练起来。研究者们结合大小网络的优缺点,已给出了一些方法来寻找合适的网络结构。它们大致分成两类,一类是构造法,另一类是裁剪法。以上这两种方法,相对而言,裁剪法在文献中较为常见,而且它还结合了训
4、练大网络和运行小网络的优点,使之显得更为合理。本论文仅考虑对 Madaline 网络结构的裁剪。Madaline 是一种离散的前向多层神经网络,采用有监督的学习机制,适合于解决许多固有性质为离散型的问题,诸如信号处理和模式识别问题。此外,它的离散特性可以使硬件执行更容易,构造上消耗少,减少计算复杂度,便于计算方面的理解和解释。事实上,一个Madaline 网络可以被理解为连续性前向多层神经网络的一个特殊例子。众所周知,连续型前向多层神经网络在技术上是最成熟的,例如著名的后向传播学习算法。但由于 Madaline 的硬极限激活函数是不可微分的,故绝大多数的方法不能直接应用于 Madaline 网
5、络。因此,即使在多层感知机的裁剪上有了一些解决方法,仍需要探究一些新的方法来满足 Madaline的特性。本文主要讨论怎样裁剪只有一个隐层的 Madaline 网络的隐层神经元。关于前向神经网络的裁剪方法,Reed 1 and Engelbrecht 2 给出了详尽的综述。虽然出现了许多不同的裁剪方法,但他们中绝大多数的基本主要思想是几乎一致的。他们都试图建立一个合理的重要性度量,并希望基于这种重要性度量的裁剪,可以对整个网络的性能影响http:/-2-达到最小。在所有裁剪法中,基于敏感性的裁剪方法最为常见,它通常估算出目标函数的敏感性,如训练误差3,4的敏感性,测试误差5,6的敏感性,或者由
6、于一个指定参数(输入、权值或神经元)的消失或扰动而导致的一个神经网络输出的敏感性。网络输出对参数的敏感性通常是重要的度量网络性能的一个尺度,对它的研究可以视为是在寻找解决网络裁剪问题的一把钥匙。敏感性目前还没有一个学术上统一的定义,不同的研究者们在实际运用时按各自不同的确需要定义不同的敏感性。本论文工作就是尝试用神经元(Adaline)的敏感性来度量神经元在网络中的重要性,指导对神经元的裁剪。本文主要讨论怎样基于敏感性度量裁剪只有一个隐层的 Madaline 网络的隐层神经元。3.Madaline 模型及符号模型及符号 Madaline是一种具有离散型输入、输出和激活函数的前向多层神经网络,由
7、一系列Adaline(自适应线性单元)组成并共同作用以建立一个输入输出的映射。3.1 模型模型 一个 Adaline 是 Madaline 网络中一个基本组成单元,输入输出皆为二值。本文中,每一个输入分量值不是+1 就是-1,并与一个值可调整的实数权相连结。一个 Adaline 的工作原理是把输入分量乘上对应的权分量,再加上一个偏置产生一个线性输出或模拟输出,然后通过激活函数得到一个数字输出。为了与二值的输入输出保持一致,激活函数一般用对称硬极限函数:1 0 x =)(xf (1)-1 0 x.Madaline 网络是 Adaline 节点的多层集合,只有紧邻两层存在连接,同一层及不相邻的层与
8、层之间不存在连接。一层上所有节点与它所紧邻的前一层和后一层是全连接的。除了输入层,每一层上的每个节点的输入是紧邻的前一层的输出。3.2 符号符号 通常,一个 Madaline 网络有L)1(L层,每一层l)1(Ll有ln)1(ln个节点。Lnnn.10的形式用来描述一个给定结构的 Madaline 网络。每个ln)0(Ll 不但代表包含输入层在内的从左到右的某一层,还表示该层的节点个数。0n是一个例外,它涉及到输入向量的维数。Ln表示输出层。因为第1l层的节点数目与该层的输出维数相等,与第l层的输入维数也相等,所以第l层的输出维数是1ln。对于在第l层的节点i)1(lni,那 么 它 的 输
9、入 向 量 就 是TlnlllxxX),.,(11=,它 的 输 入 权 向 量 是TlinlililwwW),.,(11=,偏 置 为lib,输 出 值为)(lilillibWXfy+=,输 出权 向 量 为TlinlililvvV),.,(11+=。对于第 l 层上,所有的节点有相同的输入向量lX,即为紧邻的前一层输出,它的输入权集是,.,1lnlllWWW=,输出权集是,.,1lnlllVVV=)(Ll,输出向量是TlnlllyyY),.,(1=,也是后一层的输入。对于整个 Madaline 网络,输入向量为1X 或 http:/-3-0Y,它 的 权 为LWWW=.1,输 出 是LY。
10、TlnllnxxX),.,(11=和TlinlililwwW),.,(11=分 别 是 第 l 层 中 输 入 向 量 和 权 向 量 的 扰 动 值,因 而TlnllnxxX),.,(11=和 TlinlililwwW),.,(11=是对应的扰动后的输入向量和权向量。4.敏感性、重要性度量的定义和计算敏感性、重要性度量的定义和计算 本章主要涉及到敏感性,重要性两个概念,以及裁剪算法。4.1 Adaline 的敏感性的敏感性 此章所定义的敏感性度量,我们期望它能成为用来反映由节点输入扰动导致的输出扰动程度的一种方法。用来表示由输入扰动造成的那部分输出扰动最直接自然的方法,就是计算出在没有输入扰
11、动时得到的输出值与有扰动后得到的输出值之间的差。由于在本章的谈论中,仅讨论 Adaline 而不是 Madaline。为了使全文简洁美观,表示节点的层号和层中节点号的上标和下标,都省略了。因此,输出扰动值可以这样表示:)*()*)(bWXfbWXXfy+=(1)很明显,(1)在y 和 X之间建立了一个函数关系,当X,X,W 和 b都知道的前提下,y很容易被计算出来。当进行网络结构裁剪时,已训练好的 Madaline 网络中的节点必须有合适的输入权值和偏置值,输入扰动通常视问题环境而定。敏感性应该是一个对于全体所有输入而不是特指某个输入的输入扰动函数,这样更合理些。在下一小节给出了一个节点的敏感
12、性定义。4.1.1 敏感性定义敏感性定义 定义:一个节点的敏感性被定义为在所有输入中由输入扰动导致输出值发生翻转的概率。表达式如下:inperrXNNbWXfbWXXfEbWXs=+=|)*()*)(|21(),(2)errN是在所有输入中由输入扰动导致输出值取反的个数,inpN是所有输入的个数。显然这样定义出来的敏感性是一个关于X,W 和 b的函数,把X看作一个统计变量。这个定义只涉及到输入扰动,但它可以很容易的应用到权扰动中。因为节点输入值的二值属性,节点输入分量的扰动只可能出现jjxx=或 jjxx=这两个结果,所以由输入扰动导致的一个节点的敏感性可以转化为权扰动导致的敏感性。4.1.2
13、 敏感性计算敏感性计算 在参考文献7中,通过建立一个超立方几何模型并运用解析几何和树形网络的方法,给出了有关权扰动的单个节点敏感性的计算方法。因为从输入扰动转化为权扰动较容易,算法可以直接应用于上节定义的敏感性中,关于算法的更多细节请查阅参考文献7。为了能很好的运用参考文献7中给出的算法,我们假定所有输入都是均匀分布的,所以inpN等于n2。考虑到输入的二值特性,我们的目的是在输入向量值改变很小范围后计算得到敏感性,用上述算法计算出每次仅由一个输入分量发生扰动导致的敏感性的值,对于所有输入分量依次改变,重复计算得到若干敏感性,然后对得到的所有敏感性值取个平均,表http:/-4-达如下;=ni
14、ibWXsns1),(1,(3)iX 是一个包含所有jx)1(nj 分量的向量。在以下章节,我们将基于平均敏感性度量s定义一个重要性度量,其中s是用来评估Madaline 中每一个隐层节点重要性的。4.2 重要性定义重要性定义 以上定义的敏感性可以反映出一个节点对其输入扰动的响应。很明显,在一个已给定的输出扰动下,那些敏感性值为零或非常小的节点,它们对整个网络的影响就比较小。原因是当这些节点输入发生扰动时,它们的输出总接近于一个不变的值。从这个观点出发,某种意义上敏感性可以作为个标准来评价一个网络中每个节点的重要性。然而,敏感性本身只涉及到一个节点的输入权值而没有包含输出权值,作为一个重要性度
15、量可能不够精确。因此,在这里定义一个如下的重要性度量很有必要,它把敏感性和输出权值都考虑进去了。定义:在 l 层的节点 i 被定义为其敏感性与其输出权值绝对值总和的乘积,如下:|11+=lnjijllilivsr,(4)lis表示敏感性,Rvlij表示输出权值.敏感性反映的是对一个给定节点的输出扰动的程度,重要性度量不同于它,重要性度量反映的是指定节点随后一层节点输入扰动的程度。lir值越小,随后一层节点的输入扰动越小。很明显,用来反映一个节点对随后一层相连节点的影响程度,重要性度量比敏感性更精确。用重要性度量的方法在一个隐层上找到最小重要性的节点可行度很高。4.3 裁剪算法裁剪算法 在一个已
16、经训练好的网络里,有用的信息分布在网络各节点中。删除一个节点必将导致网络的性能发生变化。上一章所给出的重要性度量只能指出哪个节点删除后,在训练过程中性能损失较少,但是不能保证删除节点后网络性能保持不变。为了尽可能多的避免性能损失和补偿损失,在裁剪过程中有两个步骤是必需的:一是调整随后一层节点的偏置;二是对裁剪完的网络再训练。由于一个重要性较小的节点可能在网络中的影响近乎不变,可以在所有它所连接的后一层节点上加上一个额外的偏置作为代替。如果所给节点的平均输出值是liy,这个值可以通过训练样本近似计算出来,然后对于下一层 l+1,每个节点 j)1(1+lnj,它的偏置可以被调整为 lijliljl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 敏感性 分析 裁剪 Madaline 网络 结构
限制150内