版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
F-MCTSnet端到端的深层神经网络算法结构概述目录TOC\o"1-3"\h\u25401F-MCTSnet端到端的深层神经网络算法结构概述 156961.1原MCTSnet算法 1281661.2改进后的F-MCTSnet网络结构 3144181.2.1环境模型的学习 3143411.2.2F-MCTSnet中替代规则的子网络结构 4253061.3网络化的蒙特卡洛树搜索流程 6213741.4监督训练 885361.4.1梯度下降算法 8161011.4.2F-MCTSnet的监督训练 11239651.5强化训练 12136431.5.1基于策略梯度的强化学习方法 1212631.5.2F-MCTSnet的强化训练 13F-MCTSnet是一种端到端的深层神经网络架构,可以通过强化学习进行训练。它不仅是由多个子网络反复调用组成的网络结构,也可以理解为一种搜索算法。本章首先介绍了DeepMind提出的原MCTSnet算法原理,分析了其算法的优缺,然后在1.2节详细介绍了环境模型的构建,与其他规则子网络的架构,在1.3节介绍了如何根据搜索使用F-MCTSnet,紧接着,1.4节和1.5节分别介绍了F-MCTSnet的监督训练与强化训练方式。1.1原MCTSnet算法MCTSnet提出了一个神经网络架构,它包含与典型MCTS相同的处理阶段,但在神经网络本身内部,是一个动态计算图,初步实现了MCT的网络化,用4个子网络替代了原MCTS中的人工规则,在使用Emnedding网络对状态信息进行表征后,选择与回传更新都是由神经网络来来实现,最后Readout网络基于根节点的状态信息计算出动作决策。具体地,关键的思想是在每个节点上用一个内存向量来表示搜索的内部状态,网络的计算从根状态开始向前进行,就像MCTS的模拟一样,使用基于内存向量的模拟策略来选择要穿越的轨迹。然后通过Emnedding网络对叶状态进行处理,初始化叶节点处的内存向量。当网络沿着轨迹向上倒退时,根据Backup网络更新每一个访问状态的内存,该网络从子节点传播到父节点。最后,根节点处的内存向量被用来计算动作的整体预测。作为一种神经网络架构,F-MCTSnet有效地定义了一个树状结构的存储器:树的每个节点Sk都维护着自己的统计信息h根据这种观点,引入simulation模拟计数m加以说明,因此第m次模拟之后的树存储器是所有树节点s的hsm的集合。约束条件下的树路径pm+1=s0,对于t=L:h对于t<L:h对于其它s:h对此内存更新进行控制的树路径被采样为:p∝其中L是由Nm图1.1MCTSnet中加入4个规则子网络Fig.1.1MCTSnetwithfourrulesub-networks但不足的是,这个算法在实施时是基于假设真正的环境是可以作为模拟器使用的,环境模型没有被单独学习,存在很大的限制,并且算法运行效率较低。同时,MCTSnet主要通过监督学习来进行训练,没有给出有效的强化学习方法,训练效果尚有不足。1.2改进后的F-MCTSnet网络结构1.2.1环境模型的学习为了在未知的环境下利用规划解决控制任务,智能体就需要在与外界的交互中去学习环境的动态变化,这就需要提供一个足够精准的动态模型给智能体使其能够解决更为复杂规划,进而完成复杂的控制任务。如何建立一个有效的模型,从而使智能体能够精准的获取到环境的动态信息,这是长期以来基于模型的强化学习领域的难题,普遍存在于机器博弈领域。其中主要的难题包括搭建的模型不准确、计算多步预测的误差非常困难、无法捕捉到未来的多种可能性等。由此,拟提出一个基于模型的深度学习网络,它以基于模型的强化学习的方法为支撑,可以从状态输入中获取环境的动态变化,其训练框架如图1.2所示。本文基于状态空间模型和卷积神经网络模型的相关原理,建立了包含确定转移的状态空间模型作为智能体动态环境的模型。环境网络模型(Environmentτ):一般地,这个模型由一个MDP表示,它由两个部分组成:一个是状态转换模型,预测给定动作的下一个状态,另一个是奖励模型,预测该转换期间的预期奖励。环境τ通过输入当前状态和基于动作策略输出的动作来预测下一个状态。它将通过用训练好的环境网络模型替换真实环境来缩短消耗的时间。环境网络τ包括四个子网络,即编码网络、状态转换网络、奖励网络和解码网络。首先模型利用编码器处理输入的状态,提取状态特征,生成状态后验。具体地,Encoder网络E对当前观察到的状态st进行编码,然后对二维状态进行降维,并进行特征提取,得到一维潜伏状态lt作为直接状态转换的输入:lt=E(st;θE)。其后状态转换网络T基于隐藏状态lt及当前动作at计算状态转换后下一时刻的隐藏状态lt+1=T(lt,sr=图1.2环境模型结构及训练示意图Fig.1.2Environmentmodelstructureandtrainingschematic环境模型的训练可直接与真实环境的反馈拟合,如上图所示,环境模型的输出为两个变量,因此用于训练的损失函数也应该由两部分组成。这里可以选用SmoothL1Loss函数来设计损失函数,其原理如下:loss仔细观察可以看到,当预测值和真实差别较小的时候(绝对值差小于1),其实使用的是L2Loss;而当差别大的时候,是L1Loss的平移。SooothL1Loss其实是L2Loss和L1Loss的结合,它同时拥有L2Loss和L1Loss的部分优点。因此损失函数可设计为:l1.2.2F-MCTSnet中替代规则的子网络结构下面介绍F-MCTSnet中四个规则子网络的设计细节。Backupβ:反馈网络包含门控的残差连接,使其可以逐步更新节点信息h。hs的更新公式为。hh其中ϕ=hs,Policyπ:在其基本的非结构化形式中,模拟策略网络由两部分组成。即从子统计hTs,a获得一种特定于动作的信息形式;另一种形式的信息来自提前学习的先验概率,其中对数概率π其中u是一个小型网络,它结合了来自父节点统计数据和子节点统计数据的信息;λ是平衡先验与后验比重的权值参数。Embeddingϵ与Readoutρ:Embedding网络是标准的残差卷积网络。Readout网络是一个简单的MLP,它将根节点处存储的信息向量转换为所需的输出格式,在本文中是一个动作概率分布。算法搜索时网络的调用流程如下图所示,包括选择-扩展-更新三部分,如图1.3所示。图示上层为模拟过程中调用的多个网络与其对应输入输出量,下方为搜索树的演变过程,最后一个模拟路径以黑色突出显示,红色虚线为网络计算的输入量,网络计算的输出以蓝色虚线指向对应变量。红色方框表示算法在模拟期间使用的模拟策略(基于最后的记忆状态),同时,算法基于蓝色方框代表的环境模型与绿色方框的Embedding网络向前树遍历,并赋予节点h初值,直到到达叶节点。黑色方框对应于Backup网络β,其基于子节点的统计数据和最后更新的父节点(除了诸如奖励的转换信息之外)沿着遍历的模拟路径更新节点统计信息h。此外,该Backup机制可以跳过未访问特定节点进行模拟。例如,如果相邻的下一次模拟没有路过h21,那么h21的更新将会等到下一次路径它的搜索完成后才进行,无论中间间隔多少次模拟。最后,Readout网络图1.3F-MCTSnet算法搜索过程Fig.1.3F-MCTSnetalgorithmsearchprocess1.3网络化的蒙特卡洛树搜索流程F-MCTSnet算法的核心思想是将其作为MCTS的一般化,其中搜索算法,反馈更新和扩展策略所使用的统计信息都是从数据中学习的。F-MCTSnet通过执行从根状态sA不同的子网络负责前文中描述的搜索的每个组件。在内部,这些子网络操纵树的每个节点处所存储的统计信息h,其具有向量表示h∈ℝn。其中Embedding网络h=εs;θe评估状态s并计算初始的统计信息h,这可以看作价值网络的一般化。使用模拟策略a~πs,h;θp根据统计数据h选择每次模拟期间的动作;节点基于模拟策略所得的动作进行扩展,其状态转移由离线训练的Environment网络sF-MCTSnet算法的流程与原MCTSnet相比,主要区别在于,前者在规划过程中使用了一个环境模拟器,该模拟器对下一个状态和奖励进行采样(根据环境的动态或游戏规则),在遍历搜索树的过程中使用模拟器更新游戏状态。模拟器用来提供三个重要的知识:(1)搜索树父子节点间的状态转移。(2)每个节点对应真实环境的可选动作。(3)判断博弈是否终止。在F-MCTSnet中,所有这些功能都被一个由神经网络学习的环境模型所取代。1)状态转移。MCTSnet可以获得一个完美的环境动态模拟器。相比之下,F-MCTSnet在其搜索内采用了一个学习的动态模型。在这个模型下,树中的每个节点都由一个相应的神经网络输出状态来表示,通过向模型提供一个状态sk−1和一个动作ak,搜索算法可以过渡到一个新的节点2)可用动作。考虑一个标准的问题表述,在每个时间步骤中,可用行动集与状态观测值一起提供。然而,在搜索过程中,指定每个内部节点的可用行动可能是有帮助的--这就需要知道可用行动如何随时间变化。MCTSnet使用从模拟器获得的合法行动集来筛选内部节点的策略网络输出,F-MCTSnet不在搜索树内部进行任何动作筛选,而只在搜索树的根部掩蔽非法行动,在那里可以直接观察到可用行动集。策略网络能迅速学会排除那些不可用的行为,只是因为它们从未被选择。同时,环境模型的引入,导致父子节点之间所有状态量间的转换,例如sk3)终端状态。MCTSnet在代表终端状态的树节点上停止搜索,并使用由模拟器提供的终端值,而不是由网络产生的值。F-MCTSnet并不特别处理终端状态,总是使用网络预测的值。在搜索树内部,直接使用环境模型计算得到即使反馈rt来进行决策评价的依据,得益于神经网络对相同输入产生相同输出的特性与并行计算的优势,能够同时对父节点基于不同动作展开多个子状态,并且对子节点进行评价,加速了扩展阶段。此外,F-MCTSnet被设计为在一般RL环境下运行的单代理域,具有任意大小的折扣中间奖励。因此F-MCTSnet1.4监督训练1.4.1梯度下降算法优化算法的功能,通常是以损失函数E(x)为衡量标准,通过改善训练方式来最小化或最大化该值从而实现。基于模型内部用于计算测试集中目标值Y的预测值与真实值之间偏差程度的参数,就形成了损失函数E(x梯度下降[43]是优化算法中最常用的。所谓函数梯度,是导数dy/dx的多变量表达式,用来表示y相对于参数,最终便能是模型收敛。网络更新参数的公式为:θ其中η是学习率,∇(θ).这是神经网络训练中最常用的优化算法。现在,梯度下降法主要用于更新神经网络模型的权重,其原理在一个方向上更新和调整模型的参数,以使损失函数最小。2006年推出的反向传播方法允许训练深度神经网络,在反向传播法中,首先通过前向传播计算输入信号与其相应权重的乘积,然后对该乘积总和施加激活函数。这种从输入信号到输出信号的转换是建立复杂非线性函数模型的重要工具,通过引入非线性激活函数,几乎任何形式的函数映射都可以被模型学习。然后,在网络的反向传播过程中,相关的误差被反向传播,并通过使用梯度下降计算误差函数E相对于权重参数W的梯度,在与损失函数的梯度相反的方向上更新权值。需要注意的是,如果权重值W过小或过大,都会带来很大的误差,一般会尝试在与梯度相反的方向上寻找局部最优,因为需要进行更新和优化,将权重转换为合适的值。传统的批量梯度下降方法计算整个数据集的梯度,只进行单次更新,这在处理大数据集时非常慢,出现内存溢出的现象,因而难以控制。权重的更新率由学习率η决定,可以在凸误差曲面上收敛到全局最优,但在非凸曲面上可能收敛到局部最优。使用标准形式批量梯度下降的另一个问题是,冗余的权重更新将普遍存在于大型数据集的训练过程中。以上这些标准梯度下降法面临的问题可以用随机梯度下降法解决。1.随机梯度下降(SGD)随机梯度下降(Stochasticgradientdescent,SGD)[44]以更快的执行速度对每个训练样本进行参数更新,单次执行对应于一次更新。θ其中xi和y频繁的更新会增加参数之间的差异,导致损失函数在不同的范围震荡。这实际上会带来益处,因为它有助于找到新的、可能更好的局部最小值,而标准的梯度下降法只收敛到某个局部最优。然而,虽然受益于频繁的更新和波动,SGD最终会收敛到一个最小值,但波动同时导致的超调量现象也经常发生。已经证明,标准梯度下降法与SGD在学习率η缓慢降低时具有相同的收敛模式。另一个变种,称为“小批量梯度下降”,解决了高度分散的参数更新和不稳定收敛的问题。2.小批量梯度下降为了解决SGD和标准梯度下降中存在的问题,小批量梯度下降(MiniBatchGradientDescent)[45-46]作为改进方法被提出,对每个批次中的n个训练样本,这种方法只执行一次更新。使用小批量梯度下降的优点是:可以一定程度上减少参数更新所引起的波动,使得收敛的效果更好且更稳定。也可以利用最新的深度学习库的常见矩阵优化方法,更有效地计算小批量数据的梯度。小批量样本一般是从50到256的大小范围,这个数值可以根据实际问题进行调整。小批量梯度下降算法具有较大优势,通常会被优化网络训练选用。这种方法有时候还是被称为SGD。但不可避免的是,使用梯度下降及其变体时同样面临一些挑战:首先,很难去人为设定一个合适的学习率,太小的学习率会是导致模型收敛速度较慢,另一方面,如果学习率太大,会影响收敛,损失函数可能在最小值处波动,甚至产生梯度发散。另外,学习率的合适与否还与训练集及问题的实际情况密切相关,没有通用的学习率。如果训练集是稀疏的,而且特征的频率变化很大,就有必要对很少出现的特征使用较大的更新率,而不是对所有的特征进行相同程度的更新。最小化神经网络的非凸误差函数的另一个重要挑战是避免陷入多个其它局部最小值。事实上,这个问题不是由局部最小值引起的,而是由于鞍点的存在,即在不同维度上曲面具有不同符号的二阶导数。这些鞍点附近通常存在一些平面满足相同的误差值,而且它们的梯度在所有维度上都接近于零,这使得SGD算法很难分辨鞍点并脱离出来。因此需要进一步优化梯度下降,接下来讨论用于进一步优化梯度下降的各种算法。其中自适应时刻估计方法(AdaptiveMomentEstimation)[47],通常被称为Adam算法,能计算每个参数的自适应学习率。参数更新的最终公式为:θmv其中M(t)为梯度的第一时刻平均值,V(t)为梯度的第二时刻非中心方差值,β1实践证明,与一些其他的自适应梯度下降算法相比,Adam方法通常能取得较好的效果,应用得更加广泛。它在一定程度上纠正了存在于其它优化方法中的问题,例如学习率下降引起的损失函数的变化、收敛速度慢、参数更新的方差大等。自适应学习率的梯度下降算法只需要使用默认参数便可以自动调整学习率来适应训练过程,摈弃了人为调参的繁琐,反而更能逼近最优结果。因此,使用自适应学习率的方法,对于复杂神经网络结构来说,更容易使得深度网络模型快速收敛,Adam便是一个很好的选择。1.4.2F-MCTSnet的监督训练F-MCTSnet的计算流程不仅由最终树型结构定义,而且还由访问节点的顺序(树扩展过程)定义。此外,作为一个整体,F-MCTSnet是一个随机前馈网络,具有单输入(初始状态)和单输出(动作概率)。但是,由于树形结构的内存,F-MCTSnet自然允许以类似于MCTS的方式进行部分重新计划。假设从根状态sA,F-MCTSnet选择动作a,并且(在真实环境中)转换到新状态sA'。因此可以将s由于F-MCTSnet组成的复杂性,本文并没有同时训练所有网络。其中,环境网络τ和优先策略ω是以离线监督的方式,分别在事先收集的样本中进行训练。之后,其他网络被作为一个整体进行训练,使用监督学习进行端对端的训练。由于F-MCTSnet是多个子网络迭代的集合,本文用P(s;θ)表示F-MCTSnet。另外,本文定义“⨂”来表示多次网络迭代,操作如fx⨂hyP其中M是搜索次数,k是单次搜索中向后迭代次数的变量,满足k∝m,m∈[1,M]。监督学习的损失函数是F-MCTSnet输出的动作分布与标签之间的平均交叉熵。l接着通过计算其梯度的单一样本特征来最小化ls,∇在F-MCTSnet中,hs由所有网络模型操作,以使F-MCTSnet深度神经网络模型具有可变大小。该模型支持用梯度下降算法进行训练,所有的参数都可以通过算法的规则进行调整,保证F-MCTSnet的选择、扩展、模拟、反推等各个环节的有效梯度回传。所以,在设计损失函数时,h1.5强化训练1.5.1基于策略梯度的强化学习方法基于策略搜索的强化学习方法无需对值函数进行计算,其通过与环境交互,根据得到的反馈来更新策略模型的参数,从而不断逼近最优策略。这与基于值函数的强化学习方法有明显的不同,免去了对状态-动作值函数的直接依赖。一般而言,策略搜索方法分为很多种,其中策略梯度是应用较为广泛的,另外还包括但不局限于路径积分[42]、统计学习方法[42]和指导策略搜索(guidedpolicysearch:GPS)[48]等。本文主要应用了策略梯度原理,在其基础上结合F-NCTSnet算法特性设计了合理的强化学习方法,因此本小节将仅对基于策略梯度的经典强化学习方法进行重点阐述,没有实际应用的将略过。基于策略梯度的方法根据策略的随机性,分为经典的策略梯度(policygradient:PG)方法[49]与确定性策略梯度(deterministicpolicygradient:DPG)方法[50]。随机策略参数化的数学表示如下所示:πθ其中,θ是策略参数,πθas是一可微的参数化函数,表示在当前参数值θ与状态s下选择动作a策略梯度方法的目标函数一般为智能体在环境中的累积回报或者平均回报,用J(θ)表示,则策略梯度的优化目标便是通过训练不断更新策略参数以最大化J∇其中ρπ表示在策略π下的状态分布,∇为求导符号,log为求对数符号,所示梯度称为策略梯度。理论上,只需要使梯度为零计算出模型参数的解析解便能完成优化,但实际中很难求解,因此通常是使用随机梯度上升来逐步优化参数。具体地,每次更新都沿着策略参数梯度上升的方向来进行,直至J因此,求解完成前,以一定的步长在单次迭代计算出的策略梯度基础上对策略模型参数进行更新,更新公式如下所示:θ←θ+从更新公式中可以看出来,策略梯度的求解包含两部分,策略函数的对数梯度和当前策略的状态-动作值函数。实际应用中,通过选取合适的策略函数形式,如高斯函数与Softmax函数等,对数梯度这部分是较容易求取的,而对于剩下的状态-动作值函数,有两种求解方法,其中本文用到的是蒙特卡洛策略梯度(MonteCarloPolicyGradient)算法。蒙特卡洛策略梯度算法[49],也称为REINFORCE算法,适用于回合制的(episodic)强化学习场景,直接与环境交互作用,让智能体从初始状态s0开始,根据策略πθ进行动作,直至回合(episode)结束状态sTs根据此序列就可以计算一个回合中任意时刻t的累积回报值Rt,并以Rt作为策略πθθ要注意的是,蒙特卡洛策略梯度算法需要以回合为单位进行梯度更新,且对一个回合中的任意时刻t都要计算该时刻的累积回报值Rt1.5.2F-MCTSnet的强化训练强化学习任务的最终奖励只有在多个步骤之后才能观察到,这与一般的监督学习不同,所以可以考虑单步奖励最大化的更简单的情况,即只有一个步骤。需要指出的是,即使在这种比较简单的情况下,强化学习也与监督学习有很大的不同,因为智能体必须通过试错来发现每个动作的结果,而且没有训练数据来告诉智能体应该执行哪个动作。为了使单步奖励最大化,我们需要考虑两件事:第一,我们需要知道每个行动的奖励;第二,我们需要执行奖励最大的行动。如果每个行动的奖励是一个确定的值,那么我们可以通过对每个行动尝试一次来找到奖励最大的行动。然而,更普遍的情况是,一个行动的奖励值是以概率分布的形式给出,而且不可能在一次试验中获得准确的平均奖励值。事实上,单步强化学习任务对应于一个有K个摇臂的“K摇臂赌博机”(K-armedbandit)的理论模型。赌徒在投入硬币后可以选择推动任何一个摇臂,每个摇臂都可以吐出一个硬币,其概率不为赌徒所知。赌徒的目标是通过某种策略使他的奖赏最大化,即赢得最多的硬币。如果目标只是为了获得每只摇臂的期望奖励,那么就采用“仅探索”(exploration-only)的方法。所有的机会都平均分配给每只摇臂(即每只摇臂轮流被推动),每只摇臂的平均吐币概率被用作对其奖励期望的近似估计。如果想只执行奖励最高的行动,则可以使用“仅利用”(exploitation-only)方法。也就是说,我们推当前最优的(即到目前为止平均奖励最高的)摇臂,如果有多个摇臂是最优的,我们随机选择其中一个。显然,“仅探索”方法对每个摇臂的奖励有很好的估计,但它失去了许多选择最佳摇臂的机会。另一方面,“仅利用”的方法不能很好地估计摇臂的期望奖赏,所以它很可能失去许多选择最佳摇臂的机会。因此,这两种独立方法都很难使最终的累积奖励最大化。事实上,从强化学习的问题来看,“仅探索”(即估计摇臂的好坏)和“仅利用”(即选择当前的最佳摇臂)是矛盾的,因为试验的数量(即硬币的总数)是有限的,偏向于一个自然会削弱另一个。这就是强化学习所面临的“探索-利用窘境”(Exploration-Exploitationdilemma)。自然,为了使累积回报最大化,必须在探索和开发之间做出良好的妥协,本课题中平衡探索与利用的方式是使用Gumbel
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年龙山县土地登记相关法律知识考试题库带答案
- 事业单位河南综合管理岗笔试全真模拟试卷含答案
- 初中历史教资面试古代史题库及答案
- 2026年教师资格《小学语文教学能力》全真模拟试题(附答案)
- 2026年中小学教师招聘考试综合素质《教育法规与政策》模拟试卷(含答案)
- 机械装配技术试题及答案
- 2026年医院护理专业知识考试冲刺押题试卷
- 人教版数学八年级下册 山东省泰安市岱岳区 期末考试 含答案
- 宁夏回族自治区2026年中考物理试题附答案
- 2026年消防设施操作员考试基础知识冲刺试卷含解析答案
- 中石油承包商培训课件
- 教育教学评价
- 上海市杨浦区2026届初三一模语文试题(含答案)
- 19 11 坐井观天-坐井观天(第2课时)-课件2
- 220kV输电线路事故应急预案
- 2025年湖南公务员《行政职业能力测验》试题及答案
- 雨课堂学堂在线学堂云《科学通史》单元测试考核答案
- 2025年进城选调教师考试试题及答案
- T-CCEMA 0006-2024煤矸石基人造土壤基质
- (2025年新教材)部编人教版二年级上册语文 第4课 彩虹 课件
- 空调拆装协议合同范本
评论
0/150
提交评论