三、西瓜书——神经网络

news2024/11/20 12:40:07

  一、神经元模型

        在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]中发挥了重要作用.

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1475386.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据集群管理软件 CDH、Ambari、DataSophon 对比

文章目录 引言工具介绍CDHAmbariDataSophon 对比分析 引言 大数据集群管理方式分为手工方式和工具方式,手工方式一般指的是手动维护平台各个组件,工具方式是靠大数据集群管理软件对集群进行管理维护。本文针对于常见的方法和工具进行比较,帮助…

naive-ui-admin 表格去掉工具栏toolbar

使用naive-ui-admin的时候,有时候不需要显示工具栏,工具栏太占地方了。 1.在src/components/Table/src/props.ts 里面添加属性 showToolbar 默认显示,在不需要的地方传false。也可以默认不显示 ,这个根据需求来。 2.在src/compo…

逆向案例二:关键字密文解密,自定义的加密解密。基于企名片科技的爬取。

import requests import execjsfor i in range(4):i i1url https://vipapi.qimingpian.cn/Activity/channelInformationByChannelNamedata {channel_name: 24新声,page: f{i},num: 20,unionid: W9wLD4rHIZrB3GLTUncmHgbZcEepR78xJa5Zit6XTMtata86DehdxDt/fDbcHeeJWqqIs6k…

Mysql8.0 安装错误:只有在任务处于完成状态(RanToCompletion、Faulted 或 Canceled)时才能释放它。

错误信息: Attempting to start service MySQL80... Failed to start service MySQL80. 只有在任务处于完成状态(RanToCompletion、Faulted 或 Canceled)时才能释放它。 Ended configuration step: Starting the server 刚开始以为是3306端口被占用了,然…

【青龙面板Ck工具】RabbitPro—快捷扫码或短信获取ck

注意:本教程基于Cent OS7.6系统,Faker一键安装版Docker 2.11.3青龙配置,如有不同配置自行注意,经测试基本可兼容。 第一步 配置Docker 由于RabbitPro打包较大,我们先配置一下Docker国内源,加速下载。 打…

C++多线程通信

多线程通信 引言区别活锁什么是活锁与死锁的区别如何避免活锁 多线程通信示例运行结果 引言 多线程同步与多线程通信实质上是两种相互关联但又不完全相同的东西。本文注重多线程同步与多线程通信的区别,同时重点讲述多线程通信中的消息队列。 区别 多线程通信通常…

Springboot+vue的考务报名平台(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的考务报名平台(有报告)。Javaee项目,springboot vue前后端分离项目。 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的考务报名平台,采用M(model&#xff0…

SpringMVC了解

1.springMVC概述 Spring MVC(Model-View-Controller)是基于 Java 的 Web 应用程序框架,用于开发 Web 应用程序。它通过将应用程序分为模型(Model)、视图(View)和控制器(Controller&a…

Flink SQL 中的流式概念:状态算子

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

【MySQL面试复习】了解过索引吗?(索引的底层原理)/B 树和B+树的区别是什么?

系列文章目录 在MySQL中,如何定位慢查询? 发现了某个SQL语句执行很慢,如何进行分析? 系列文章目录了解过索引吗?(索引的底层原理)B 树和B树的区别是什么? 了解过索引吗?(索引的底层原理) 如果没…

K8S之Deployment的介绍和使用

Deployment的理论和实操 Deployment控制器:概念、原理解读概述工作原理 编写Deployment资源清单文件使用案例:创建一个web站点Deployment管理pod:扩容、缩容通过deployment管理应用,实现扩容,把副本数变成3通过deploym…

面试必问但日常不愿意看的题

1,做道 this 相关的题,看你对 js 的 this 掌握的如何2,BFC 这样答才完美 1,什么是 BFC?其规则是什么?2,如何触发 BFC3,BFC 到底可以解决什么问题呢3,作用域4,…

疫情物资智能管理:Java与SpringBoot的实践

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

Python算法100例-2.6 分糖果

完整源代码项目地址,关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序6.运行结果 1.问题描述 10个小孩围成一圈分糖果,老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块&…

区块链智能合约开发

一.区块链的回顾 1.区块链 区块链实质上是一个去中心化、分布式的可进行交易的数据库或账本 特征: 去中心化:简单来说,在网络上一个或多个服务器瘫痪的情况下,应用或服务仍然能够持续地运行,这就是去中心化。服务和应用部署在…

SpringMVC 学习(八)之文件上传与下载

目录 1 文件上传 2 文件下载 1 文件上传 SpringMVC 对文件的上传做了很好的封装,提供了两种解析器。 CommonsMultipartResolver:兼容性较好,可以兼容 Servlet3.0 之前的版本,但是它依赖了 commons-fileupload …

Eavesdropping(窃听机制)在机器学习中的用法

1. 简单翻译 考虑一个对任务 T 和 T’ 有用的特征 F,它在学习 T 时很容易学习,但在学习 T’ 时很难学习,因为 T’ 以更复杂的方式使用 F。网络学习 T 将学习 F,但网络学习 T’ 可能不会。如果网络学习 T’ 也学习 T,T…

每日汇评:黄金多头拒绝在美国宏观数据发布前放弃

周三早些时候,金价买家再次测试两周高点 2041美元; 美元延续反弹,但疲弱的国债收益率可能限制其上涨空间; 由于金价等待美国数据,4小时图表技术面似乎具有建设性; 金价正在复制周二亚洲交易中的价格走势&am…

江科大stm32 定时器 TIM输出比较--学习笔记

这几天遇到输出比较相关的问题,于是来学习下TIM输出比较部分知识点! 输出比较简介 CNT是计数器的值,CCR寄存器是捕获/ 比较寄存器 简单的讲,输出比较就是用来输出PWM波形。 PWM简介 占空比:高电平占一个周期的比例。…

VScode打开keil5软件的内容

VScode想要打开keil5软件的内容,需要在此引入 具体可参考: VS Code环境下编辑、编译、下载Keil工程代码