• 三、西瓜书——神经网络


      一、神经元模型

            在M-P神经网络模型中,神经元接 收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接(connection)进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过“激活函数”(activation function)处理以产生神经元的输出.

            理想中的激活函数是图5.2(a)所示的阶跃函数,它将输入值映射为输出值“0”或“1”,显然“1”对应于神经元兴奋,“0”对应于神经元抑制.然 而,阶跃函数具有不连续、不光滑等不太好的性质,因此实际常用Sigmoid函数作为激活函数.典型的Sigmoid函数如图5.2(b)所示,它把可能在较大范围内变化的输入值挤压到(0,1)输出值范围内,因此有时也称为“挤压函数”(squashing function).

                    把许多个这样的神经元按一定的层次结构连接起来,就得到了神经网络.

    二、感知机与多层网络

            感知机(Perceptron)由两层神经元组成,如图5.3所示,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称“阈值逻辑单元”(threshold logic unit).

          

            需注意的是,感知机只有输出层神经 元进行激活 函数处理,即只拥有一层 功能神经(functional neuron),其学习能力非常有限.事实上,上述与、或、 非问题都是线性可分(linearly separable )的问题.可以 证明[ Minsky and Papert, 1969],若两类模式是线性可分的,即存在一个线性超平面能将它们分开,如图 5.4(a)-(c)所示,则感知机的学习过程一定会收敛(converge)而求得适当的权向 量w=(wi;w2;…;wn+1);否则感知机学习过程将会发生振荡(fluctuation),w 难以稳定下来,不能求得合适解,例如 感知机甚至不能解决如图5.4(d)所示的异或这样简单的非线性可分问题.

            要解决非线性可分问题,需考虑使用多层功能神经元. 

    三、误差逆传播算法

             

             

            

            

            

            

            累积B P算 准B P 都很常用.一般来说,标准BP算法每次更新只针对单 个样例,参数更新得非常频 繁,而且对不同样例进行更新的效果可 能出现“抵消 ”现象.因此,为了达到同
    样的累积误差极小点,标准BP算法往往需进行更多次数的迭代.累积BP算法 直接针对累积误差最小化,它在读取整个训练集D一遍后才对参数进行更新,其参数更新的频率低得多.但在很多任务中,累积误差下降到一定程度之后,进一步下降会非常缓慢,这时标准BP往往会更快获得较好的解,尤其是在训练集D非常大时更明显.
            
            [H o rn i k e t a l . , 1 9 8 9 ] 经元的隐前馈络就能以任意精度逼近任意复杂度的连续函数.然而,如何设置隐层神经元的个数仍是个未决问题,实际应用中通常靠“试错法”(trial-by-error)调整.
            
            正是由于其强大的表示能力,BP神经 网络经常遭 遇过拟合,其训练误差持 续降低,但测试误差却可能上升.有两 种策略常用来 缓解BP网络的过拟合.
    • 一种策略(early stopping):成训练集来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但止训验证误差的连.
    • 第二种策略是“正则化”(regularization)[Barron,1991; Girosi et al.,1995],其基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权与阈值的平方和.仍令Er表示第k个训练样例上的误差,w;表示连接权和阈值,则误差目标函数(5.16)改变为

     四、全局最小与局部极小

            若用E表示神经网络在训练集上的误差,则它显然是关于连接权w和阈值θ的函数.此时,神经网络的训练过程可看作一个参数寻优过程,即在参数空间中,寻找一组最优参数使得E最小.

            基于梯度的搜索是使用最为广泛的参数寻优方法.在此类方法中,我们从某些初始解出发,迭代寻找最优参数值.每次迭代中,我们先计算误差函数在当前点的梯度,然后根据梯度确定搜索方向.这种方法很容易陷入局部最小。

               

    在现实任务中,人们常采用以下策略来试图“跳出”局部极小,从而进一 步接近全局最小:
    • 以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数.这相当于从多个不同的初始点开始搜索,这样就 可能陷入不同的局部极小,从中进行选择有可能获得更接近全局最小的.
    使用“模拟退火”(simulated annealing)技术[Aarts and Korst,1989]. 模拟退火在每一步都以一定的概率接受比当前解更差的结果,从而有助 于“跳出”局部极小.在每步迭代过程中,接受“次优解”的概率要随着 时间的推移而逐渐降低,从而保证算法稳定.
    使用随机梯度下降.与标准梯度下降法精确计算梯度不同,随机梯度下降 法在计算梯度时加入了随机因素.于是,即便陷入局部极小点,它计算出 的梯度仍可能不为零,这样就有机会跳出局部极小继续搜索.
             此外,遗传算法(genetic algorithms)[Goldberg,1989]也常用来训练神经网 络以更好地逼近全局最小.需注意的是,上述用于跳出局部极小的技术大多是 启发式,理论上尚缺乏保障.

    五.其他常见神经网络

            1.RBF

                     

            2 ART 

            竞争型学习(competitive learning)是神经网络中一种常用的无监督学习策略,在使用该策略时,网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的神经元被激活,其他神经元的状态被抑制.这种机制亦称“胜者通吃”(winner-take-all)原则.

            ART(Adaptive Resonance Theory,自适应谐振理论)网络[Carpenter andGrossberg,1987]是竞争型学习的重要代表.该网络由比较层、识别层、识别阙值和重置模块构成.其中,比较层负责接收输入样本,并将其传递给识别层神经元.识别层每个神经元对应一个模式类,神经元数目可在训练过程中动态增长以增加新的模式类.

            在接别层经元间相获胜神经元.竞争的最简单方式是,计算输入向量与每个识别层神经元所对应的模式类的代表向量之间的距离,距离最小者胜.获胜神经元将向其他识别层神经元发送信号,抑制其激活.若输入向量与获胜神经元所对应的代表向量之间的相似度大于识别阈值,则当前输入样本将被归为该代表向量所属类别,同时,网络连接权将会更新,使得以后在接收到相似输入样本时该模式类会计算出更大的相似度,从而使该获胜神经元有更大可能获胜;若相似度不大于识别阈值,则重置模块将在识别层增设一个新的神经元,其代表向量就设置为当前输入向量.

            显然,识别阈值对ART网络的性能有重要影响.当识别阈值较高时,输入样本将会被分成比较多、比较精细的模式类,而如果识别阈值较低,则会产生比较少、比较粗略的模式类.

            ART比较好地缓解了竞争型学习中的“可塑性-稳定性窘境”(stability-plasticity dilemma),塑性有学知识稳定性是指神经网络在学习新知识时要保持对旧知识的记忆.这就使得ART网络具有一个很重要的优点:可进行增量学习(incremental learning)或在线学习(online learning).

            3 SOM

            SOM(Self-Organizing Map,自组织映射)网络[Kohonen,1982]是一种竞争学习型的无监督神经网络,它能将高维输入数据映射到低维空间(通常为二维),同时保持输入数据在高维空间的拓扑结构,即将高维空间中相似的样本点映射到网络输出层中的邻近神经元.

            如图5.11所示,SOM网络中的输出层神经元以矩阵方式排列在二维空间中,每个神经元都拥有一个权向量,网络在接收输入向量后,将会确定输出层获胜神经元,它决定了该输入向量在低维空间中的位置.SOM的训练目标就是为每个输出层神经元找到合适的权向量,以达到保持拓扑结构的目的.

            SOM的训练过程很简单:在接收到一个训练样本后,每个输出层神经元会计算该样本与自身携带的权向量之间的距离,距离最近的神经元成为竞争获胜者,称为最佳匹配单元(best matching unit).然后,最佳匹配单元及其邻近神经元的权向将被使得些权样本的离缩.程不收敛.

            

            4.级联相关网络 

            一般的神经网络模型通常假定网络结构是事先固定的,训练的目的是利用训练样本来确定合适的连接权、阈值等参数.与此不同,结构自适应网络则将 网络结构也当作学习的目标之一,并希望能在训练过程中找到最符合数据特点 的网络结构.级联相关(Cascade-Correlation)网络[Fahlmanand Lcbicre,1990]是结构自适应网络的重要代表.

            

            级联相关网络有两个主要成分:“级联”和“相关”.级联是指建立层次连接的层级结构.在开始训练时,网络只有输入层和输出层,处于最小拓扑结构;随着训练的进行,如图5.12所示,新的隐层神经元逐渐加入,从而创建起层级结构.当新的隐层神经元加入时,其输入端连接权值是冻结固定的.相关是指通过最大化新神经元的输出与网络误差之间的相关性(correlation)来训练相关的参数.

            与一般的前馈神经网络相比,级联相关网络无需设置网络层数、隐层神经元数目,且训练速度较快,但其在数据较小时易陷入过拟合.

            5 Elman

            与前馈神经网络不同,“递归神经网络”(recurrent neural networks)允许网络中出现环形结构,从而可让一些神经元的输出反馈回来作为输入信号.这样的结构与信息反馈过程,使得网络在t时刻的输出状态不仅与t时刻的输入有关,还与t-1时刻的网络状态有关,从而能处理与时间有关的动态变化.

             Elman网络[Elman,1990]是最常用的递归神经网络之一,其结构如图5.13所示,它的结构与多层前馈网络很相似,但隐层神经元的输出被反馈回来,与下一时刻输入层神经元提供的信号一起,作为隐层神经元在下一时刻的输入.隐层神经元通常采用Sigmoid激活函数,而网络的训练则常通过推广的BP算法进行[Pineda,1987].

            

         6 Boltzmann 

            

             

             

            

    六、

            无监督逐层训练(unsupervised layer-wise training)是多隐层网络训练的有效手段,其基本思想是每次训练一层隐结点,训练时将上一层隐结点的输出作为输入,而本层隐结点的输出作为下一层隐结点的输入,这称为“预训练”(pre-training);在预训练全部完成后,再对整个网络进行“微调”(fine-tuning)训练.例如,在深度信念网络(deep belief network,简称DBN)[Hinton et al.,2006]中,每层都是一个受限Boltzmann机,即整个网络可视为若干个RBM堆叠而得.在使用无监督逐层训练时,首先训练第一层,这是关于训练样本的RBM模型,可按标准的RBM训练;然后,将第一层预训练好的隐结点视为第二层的输入结点,对第二层进行预训练;……各层预训练完成后,再利用BP算法等对整个网络进行训练.

            事实上,“预训练+微调”的做法可视为将大量参数分组,对每组先找到局部看来比较好的设置,然后再基于这些局部较优的结果联合起来进行全局寻优.这样就在利用了模型大量参数所提供的自由度的同时,有效地节省了训练开销.

            另一种节省训练开销的策略是“权共享”(weight sharing),即让一组神经元使用相同的连接权.这个策略在卷积神经网络(Convolutional NeuralNetwork,简称CNN)[LeCun and Bengio,1995;LeCun et al.,1998]中发挥了重要作用.

            

  • 相关阅读:
    Go语言的[GPM模型]
    0x21_LinuxKernel_内核活动(一)之系统调用
    C#拾遗补漏之goto跳转语句
    关于OCR文字识别的坑(64位Python专属)
    五万字多图解 MySQL 事务核心知识点
    LeetCode:338(Python)—— 比特位计数
    .Net 应用考虑x64生成
    【MySQL】深入理解MySQL索引优化器工作原理
    [附源码]Python计算机毕业设计高校教室申请管理系统
    c语言 编程及答案
  • 原文地址:https://blog.csdn.net/qq_52053775/article/details/136222491