11-第三篇 第4章 如何组织神经网络
- 格式:pdf
- 大小:148.15 KB
- 文档页数:9
强化学习中的神经网络模型构建与训练第一章强化学习中的基本概念1.1 强化学习简介强化学习是机器学习领域的一个重要分支,旨在让智能体通过与环境的交互来学习最优行为策略。
强化学习的核心思想是智能体通过与环境的交互来获得反馈信号,根据这些反馈来调整自己的行为。
1.2 强化学习的基本元素在强化学习中,主要涉及的三个基本元素为:智能体、环境和奖励信号。
智能体是进行学习的主体,它根据当前的状态选择动作,并与环境进行交互。
环境代表了智能体所处的实际场景,它会根据智能体的动作返回下一个状态和奖励信号。
奖励信号是环境根据智能体的动作返回的一个评估指标,用来反映该动作的好坏程度。
1.3 基于模型和无模型的强化学习在强化学习中,智能体可以基于模型或者无模型进行学习。
基于模型的强化学习是指智能体通过学习环境的模型来预测下一个状态和奖励信号,并根据这些预测来选择动作。
而无模型的强化学习则是直接通过与环境的交互来学习最优策略,无需对环境的模型进行预测。
第二章强化学习中的神经网络模型2.1 神经网络模型的基本原理神经网络是一种模拟生物神经网络的计算模型,它由多个神经元互相连接而成。
每个神经元接收到来自其他神经元的输入,并通过激活函数来产生输出。
神经网络通过训练来调整神经元之间的连接权重,从而实现对输入数据的非线性建模。
2.2 强化学习中的神经网络模型在强化学习中,神经网络模型可以用于近似值函数或策略函数。
值函数用于评估一个状态或状态-动作对的好坏程度,而策略函数用于选择最优动作。
神经网络模型可以通过学习环境的反馈信号来调整神经元之间的连接权重,从而实现对值函数或策略函数的逼近。
2.3 神经网络模型的训练方法神经网络模型的训练通常采用反向传播算法和梯度下降法。
反向传播算法通过将误差从输出层向输入层传递,并根据误差对连接权重进行调整。
梯度下降法则是一种通过寻找最小化损失函数的方法来调整连接权重的优化算法。
第三章强化学习中的神经网络模型构建与训练3.1 强化学习问题的建模在使用神经网络模型解决强化学习问题时,首先需要将问题进行建模。
第4章 SOM自组织特征映射神经网络生物学研究表明,在人脑的感觉通道上,神经元的组织原理是有序排列的。
当外界的特定时空信息输入时,大脑皮层的特定区域兴奋,而且类似的外界信息在对应的区域是连续映像的。
生物视网膜中有许多特定的细胞对特定的图形比较敏感,当视网膜中有若干个接收单元同时受特定模式刺激时,就使大脑皮层中的特定神经元开始兴奋,输入模式接近,与之对应的兴奋神经元也接近;在听觉通道上,神经元在结构排列上与频率的关系十分密切,对于某个频率,特定的神经元具有最大的响应,位置相邻的神经元具有相近的频率特征,而远离的神经元具有的频率特征差别也较大。
大脑皮层中神经元的这种响应特点不是先天安排好的,而是通过后天的学习自组织形成的。
据此芬兰Helsinki大学的Kohonen T.教授提出了一种自组织特征映射网络(Self-organizing feature Map,SOM),又称Kohonen网络[1-5]。
Kohonen认为,一个神经网络接受外界输入模式时,将会分为不同的对应区域,各区域对输入模式有不同的响应特征,而这个过程是自动完成的。
SOM网络正是根据这一看法提出的,其特点与人脑的自组织特性相类似。
4.1 竞争学习算法基础[6]4.1.1 自组织神经网络结构1.定义自组织神经网络是无导师学习网络。
它通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。
2.结构层次型结构,具有竞争层。
典型结构:输入层+竞争层。
如图4-1所示。
竞争层图4-1 自组织神经网络结构输入层:接受外界信息,将输入模式向竞争层传递,起“观察”作用。
竞争层:负责对输入模式进行“分析比较”,寻找规律,并归类。
4.1.2 自组织神经网络的原理1.分类与输入模式的相似性分类是在类别知识等导师信号的指导下,将待识别的输入模式分配到各自的模式类中,无导师指导的分类称为聚类,聚类的目的是将相似的模式样本划归一类,而将不相似的分离开来,实现模式样本的类内相似性和类间分离性。
第四章 如何组织神经网络使用人工神经网络时,将面临神经网络结构参数的选择及样本数据的预备等问题。
尽管对人工神经网络作了大量研究工作,但至今仍没有一个通用的理论公式来指导这些参数的选择,这里对一些基本方法加以介绍。
4.1 输入和输出层的设计问题4.1.1 网络信息容量与训练样本数的匹配在用ANN 解决实际问题时,训练样本的数量在众多要求中往往难于确定,特别它还与网络参数相关,网络参数指输入层、隐层及输出层结点数。
对于确定的样本数,网络参数太少则不足以表达样本中蕴涵的全部规律;而网络参数太多,则由于样本信息少而得不到充分的训练。
多层前馈网络的分类逼近能力与网络的信息容量相关,如网络信息容量用网络的权值和阈值总数n w 表示,则训练样本数P 与给定的训练误差ε之间满足下面关系:εωn P ≈ 上式表明,网络的信息容量与训练样本数之间存在着合理匹配关系:当实际问题不能提供较多的样本时,为了使训练误差ε不至于过大,则需设法减少n w ,换言之,网络的权值和阈值总数不能太多,这等价于输入层、隐层及输出层结点数不能太多。
就输入层、输出层结点数不能太多而言,当问题的输入输出变量较多时,必须剔除那些相对不太重要的参数而选择那些重要的参数作为研究对象。
4.1.2 训练样本数据设计训练样本的合理选择,对网络具有重要的影响。
样本数据的准备工作是网络设计与训练的基础。
1、训练样本数据的要求及数量样本数据的多少与网络的训练时间有明显关系,除了考虑样本的数量外,还要考虑以下问题:(1)训练样本数据必须包括要研究问题的全部模式。
神经网络是靠样本数据来训练的,样本越全面,网络性能就越好。
(2)训练样本数据之间尽可能不相关或相关性小,否则网络没有泛化能力。
(3)输入变量必须选择那些对输出影响大,且能够控制或提取训练数据的变量。
(4)在训练样本数据中,还应适当地考虑随机噪声的影响。
例如在加工线上,用神经网络识别不合格零件,在训练网络时,必须用各种不合格尺寸及不合格形状的数据来训练网络。
(5)应注意在靠近分类边界处训练样本数据的选择。
在靠近边界的地方,噪声的影响容易造成网络的错误判断,因此要选用较多的训练样本数据。
(6)训练样本数据量较大时可避免过度训练,或称过度拟合。
(7)训练样本要进行筛选并避免人为因素的干扰,同时应注意训练样本中各种可能模式的平衡,不能偏重于某种类型。
1另外,为使网络学习到训练样本中蕴涵的知识,一般要采用大量的训练样本,使网络不至于只学到少量样本中不重要的特征。
训练样本数据量最好是网络的权重总数乘以2,这里不包括训练之后用于检验训练效果的检验样本数据。
2、输入变量的类型在设计网络之前,必须整理好训练样本数据,这些数据一般是无法直接获得,常常需要用信号处理与特征提取技术从原始数据中提取能反映其特征的参数作为网络输入数据。
一般的数据分为以下两种变量:(1)语言变量这类变量没有具体的数据,其测量值之间没有“大于”或“小于”等量的关系,赋予这类唯一的数学关系是“属于”还是“不属于”,“相同”或是“不相同”某一类别。
语言变量有性别、职业、形状、颜色,成绩等。
判别是否为语言变量,根据能否给此变量的值赋予顺序关系,如果能赋予就不属于这类变量。
例如,红、黄、蓝、黑四种颜色类别,可分别用0001,0010,0100,1000四个二进制代码表示,换言之,神经网络的输入变量有四个分量[x1,x2,x3,x4],当[x1,x2,x3,x4]=[0,0,0,1]时,输出变量y表示红色,其余类推。
语言变量实质上就是无顺序的离散变量。
(2)数值变量这类变量的数值具有一定的顺序关系,变量也具有顺序关系。
例如,产品质量用四等级来描述:差、较差,中等、好,可以用1、2、3、4分别表示。
状态是从小(差)到大(好),对应的数值也要保持由小到大的渐进关系。
数值变量实质上就是有顺序的离散变量。
3、输出量的表示:输出量指的是网络的输出,代表系统要实现的功能目标,其选择相对容易些。
输出量对网络的精度和时间影响不大,可以是数值或语言变量。
对于数值变量可以直接用数值表示,由于网络实际输出只能是0~1或-1~1之间的数,所以需将输出值进行标准化处理或称归一化处理。
对于语言变量直接采用二进制数表示法。
4.2 网络数据的准备数据准备是否得当,直接影响训练时间和网络的性能,下面对有共性的数据准备问题进行讨论。
4.2.1 数据的标准化数据的标准化,或叫归一化,是指网络的输入、输出各数值变量值都要限制在[0、1]或[-1、1]之间的意思。
当输入变量幅度很大,一个数据变量为106级而另一个数据变量为10-6级,从网络上通过调整权值的大小,针对变量重要程度,那么网络应该学会使前者的权值很小,而使后者的权值很大,但实际上很难办到。
因为要跨越这样大的范围,这对学习算法的要求是太高了。
事实上,许多学习算法对权值范围都有限制,不能适应如此宽的数据变化范围。
为此,我们通过将输入数据归一化到能使网络所有权值调整都在一个不大的范围之内,以此来减轻网络训练时的难度。
让各分量都在0~1或-1~1之间变化,也就是说从网络训练的开始,就给各输入分量以同等的地位。
标准化的另一个原因是,比如一个物品的重量以公斤计而另一物品的重量以市斤计,很明显这2两件物品所用的数据不同。
然而经过标准化处理后,数据就与所用的计量单位无关了。
对于BP 网络的神经元采用Sigmoid 转移函数,标准化后可防止因净输入的绝对值过大而使神经元输出饱和,继而使权值调整进入误差曲面的平坦区。
在Sigmoid 转移函数的输出在0~1或-1~1之间,作为导师信号的输出数据如不标准化处理,势必数值大的输出分量绝对误差也大,数值小的输出分量绝对误差也小。
网络训练时,只针对输出总误差凋整权值,其结果是在总误差中占份额小的量绝对误差小,而输出分量相对误差较大。
碰到这样的问题,只要对输出进行标准化处理就可解决了。
在输入与输出向量的各分量量纲不同时,应对不同分量在其取值范围内分别进行标准化。
当各个物意义相同,且为同一个量纲时,应在整个数据范围内确定最大值和最小值进行统一的变换处理。
将输入输出数据变换为[0,1]区间的值,常用以下方式变换:max x min x minmax min x x x x x i i −−= 其中,代表输入或输出数据,代表数据变化的最小值,代表数据的最大值。
i x min x max x 若将输入输出数据变换[-1,1]区间的值,常用以下方式变换)(212min max minmax x x x x x x x x m i i m −−=+=式中代表数据变化范围的中间值。
按上述方法变换后,处于中间值的原始数据转化为零,而最大值与最小值分别转换1和-1。
当输入或输出向量中的某个分量取值过于密集时,对其进行以上处理可将数据点拉开距离。
m x 4.2.2 数据的分布变换若某变量的分布是非正常的,那么标准化是一种线性变换,但不能改变其分布规律,也会给网络带来很多困难。
我们希望输入网络的样本尽量满足下列条件:(1)参数变化范围的一致性。
网络各输入参数的变化幅度应大致相同,而一般情况是,当某变量的数值较大时,它的变化也大,这样是不好的。
(2)样本分布的正常性。
由分析可知,具有平坦分布规律的样本更容易学习。
因此,要没法使样本的分布尽量匀称。
若将某变量样本分布画成曲线,便得知该变量是否需要作变换。
图4-1所示的样本分布曲线,就表明需要对该变量进行压缩性变换,以确保样本分布的正常性。
最常用的压缩变换是对数变换。
这里应该指出,变换可能为零值的情况下,应先对变量进行偏移处理,然后再进行压缩。
其它常用的压缩变换有平方根、立方根方法等。
设某变量x在1~10000间变化,若取其自然对数,则变化范围就压缩到0~6.9之间,若取立方根,使压缩到1~10之间,变换的目的在于压缩变化的幅度。
图4-1需要变换的样本分布曲线 34.3 网络初始权值的选择网络具有改变权值的能力,可对网络系统进行调节。
即使网络初始状态相同,在不同的训练期,由于网络权值不同,也会给出不同的结果。
由于权值的初始值是随机设定的,因此训练后得到的具有同样功能网络的权值也不尽相同,使其寻找输入变量对输出的影响变得更加困难。
欲判断输入因素对输出的影响,不要误以为绝对值大的输入因素就重要,而接近于零的因素不重要;也不要认为大权值所连接的输入因素就重要,而小权值所连接的因素就不一定重要。
即使某输入通过一个较大的权值连至隐结点,也不能肯定说明变量就是重要因素,因为有可能该隐结点与输出神经单元相连的权值小,也可能某输入与多个隐神经元间的权值均较大,但那些隐神经元以兴奋(正权值)和抑值(负权值)相互抵消的方法连到了输出结点,致使该输入因素对输出影响不大。
为啥较小的权值所连的输入因素不一定重要呢?因为同一输入经若干较小权值分别连至不同的隐神经元,而这些隐神经元的输出虽然其值都不大,但有可能相加起来形成一个可观的输出。
从神经元的转移函数来看,它是与零点对称的,如果每一个结点的净输入均在零点的附近,则其输出在转移函数的中点,这个位置不仅远离转移函数的两个饱和区,而且是变化最灵敏的区域,必然会使网络学习速度较快。
从净输入X j j W =s 可以看出,为了使各结点的初始净输入在零点附近,可采用两种方法:一种办法是使初始权值足够小;另一种办法是使初始值为+1和-1的权值数相等。
在应用中对隐层权值可采用前者方法,而对输出层可采用后者方法。
因为从隐层权值调整公式来看,如果输出层权值太小,会使隐层初期的调整量变小。
按以上方法设置的初始权值,可保证每个神经元一开始都工作在其转移函数变化最大的位置。
初始权重确定以后,相互连接的权值如何改变,是随学习的规则变化的,目的是调整权值以减小输出误差。
4.4 隐层数及隐层结点设计虽然对隐层数及隐层结点数等网络参数设计无通用规则指导,但在设计多层前馈网络时,经过大量的实践一般归纳了以下几点结论:(1) 对任何实际问题首先只用一个隐层;(2) 使用很少的隐层结点数;(3) 不断增加隐层结点数,直到获得满意性能为止,否则再考虑用两个隐层。
下面对隐层数与隐层结点数分别叙述。
4.4.1 隐层数的确定在设计多层神经网络时,首先考虑要采用几个隐层。
经学者研究证明,任意一个连续函数都可用只有一个隐层的网络以任意精度进行逼近,但由于某些先决条件难以满足,致使在应用时造成困难。
图4-2 锯齿波函数学者们通过分析研究曾得出过这样的结论:两个隐层的网络可以获得要求输入与输出是任意连续的函数关系,下面以连续锯齿形函数作为例子来说明。
将该曲线分成30个等距分开的点来训练隐层数及单元数不同的网络,其结果如表4-1。
4从表4-1可看出:当只有一个隐层时,隐层单元数从3增加到4时,出现一个跳跃,网络性能有明显改善,即各种误差均大幅下降。