强化学习

更新时间:2024-10-05 18:45

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。

定义

强化学习是智能体(Agent)以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏,强化学习不同于连接主义学习中的监督学习,主要表现在强化信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境。

基本模型和原理

强化学习是从动物学习、参数扰动自适应控制等理论发展而来,其基本原理是:

如果Agent的某个行为策略导致环境正的奖赏(强化信号),那么Agent以后产生这个行为策略的趋势便会加强。Agent的目标是在每个离散状态发现最优策略以使期望的折扣奖赏和最大。

强化学习把学习看作试探评价过程,Agent选择一个动作用于环境,环境接受该动作后状态发生变化,同时产生一个强化信号(奖或惩)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则是使受到正强化(奖)的概率增大。选择的动作不仅影响立即强化值,而且影响环境下一时刻的状态及最终的强化值。

强化学习不同于连接主义学习中的监督学习,主要表现在强化信号上,强化学习中由环境提供的强化信号是Agent对所产生动作的好坏作一种评价(通常为标量信号),而不是告诉Agent如何去产生正确的动作。由于外部环境提供了很少的信息,Agent必须靠自身的经历进行学习。通过这种方式,Agent在行动一一评价的环境中获得知识,改进行动方案以适应环境。

强化学习系统学习的目标是动态地调整参数,以达到强化信号最大。若已知r/A梯度信息,则可直接可以使用监督学习算法。因为强化信号r与Agent产生的动作A没有明确的函数形式描述,所以梯度信息r/A无法得到。因此,在强化学习系统中,需要某种随机单元,使用这种随机单元,Agent在可能动作空间中进行搜索并发现正确的动作。

网络模型设计

每一个自主体是由两个神经网络模块组成,即行动网络和评估网络。行动网络是根据当前的状态而决定下一个时刻施加到环境上去的最好动作。

对于行动网络,强化学习算法允许它的输出结点进行随机搜索,有了来自评估网络的内部强化信号后,行动网络的输出结点即可有效地完成随机搜索并且大大地提高选择好的动作的可能性,同时可以在线训练整个行动网络。用一个辅助网络来为环境建模,评估网络根据当前的状态和模拟环境用于预测标量值的外部强化信号,这样它可单步和多步预报当前由行动网络施加到环境上的动作强化信号,可以提前向动作网络提供有关将候选动作的强化信号,以及更多的奖惩信息(内部强化信号),以减少不确定性并提高学习速度。

进化强化学习对评估网络使用时序差分预测方法TD和反向传播BP算法进行学习,而对行动网络进行遗传操作,使用内部强化信号作为行动网络的适应度函数

网络运算分成两个部分,即前向信号计算和遗传强化计算。在前向信号计算时,对评估网络采用时序差分预测方法,由评估网络对环境建模,可以进行外部强化信号的多步预测,评估网络提供更有效的内部强化信号给行动网络,使它产生更恰当的行动,内部强化信号使行动网络、评估网络在每一步都可以进行学习,而不必等待外部强化信号的到来,从而大大地加速了两个网络的学习。

设计考虑

一,如何表示状态空间和动作空间。二,如何选择建立信号以及如何通过学习来修正不同状态-动作对的值。三,如何根据这些值来选择适合的动作。用强化学习方法研究未知环境下的机器人导航,由于环境的复杂性和不确定性,这些问题变得更复杂。

标准的强化学习,智能体作为学习系统,获取外部环境的当前状态信息s,对环境采取试探行为u,并获取环境反馈的对此动作的评价r和新的环境状态 。如果智能体的某动作u导致环境正的奖赏(立即报酬),那么智能体以后产生这个动作的趋势便会加强;反之,智能体产生这个动作的趋势将减弱。在学习系统的控制行为与环境反馈的状态及评价的反复的交互作用中,以学习的方式不断修改从状态到动作的映射策略,以达到优化系统性能目的。

目标

学习从环境状态到行为的映射,使得智能体选择的行为能够获得环境最大的奖赏,使得外部环境对学习系统在某种意义下的评价(或整个系统的运行性能)为最佳。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}