新闻、帮助、产品更新动态

最新的业界新闻,产品系统更新开发动态,帮助教程和活动发布

强化学习系列(二)--算法概念

发布日:2022-02-08 15:33       阅读数:

 
上文我们已经理解强化学习的基础概念以及其目标是找到一个策略π最大化未来累计奖励。同时介绍了几种常用的寻找最优策略的方法。在强化学习中还会将这些方法分类为model-based和model-free,value-based和policy-based,其中value-base的学习方法又分为off-policy和on-policy。本文主要介绍这些方法的区别和概念。
model-based和model-free
model-based基于模型的方法是让agent学习一种模型,这里的模型是指在环境中状态转移概率
P,以及采取action后的奖励函数R进行建模,然后利用模型做出动态规划得到最佳策略。比如,如果agent已知任何状态下转移到任意状态的转移概率,以及在状态下执行任何动作的回报,那就可以通过动态规划问题求解得到一个回报最高的策略了。这种通过建立环境模型的方法就是model-based方法。
model-free方法则不需对环境进行建模,通常情况下去对环境统计出模型的情况也很少。model-free是对状态st下执行动作at能获得未来累计奖励进行估计,上文中MC和TD并没有对状态转移概率和奖励建立模型,所以是属于model-free方法。(个人理解model-free并不能说并没有模型,比如对累计奖励的预估也是模型,只是不需要先学一个概率转移模型,而是在agent和environment实时交互中优化策略。)
所以一个强化学习算法是model-based还是model-free主要是看是否有对状态转移概率以及奖励建模,如果有就是model-based,否则就是model-free。
value-based和policy-based
value-based基于值的强化方法
on-policy和off-policy
介绍value-based之前先了解on-policy和off-policy。这两者的主要区别就是在于更新值函数时的策略。on-policy,只使用了当前策略产生的样本,而off-policy,并不一定使用当前策略产生的样本。主要区别是看学习者和策略者是不是同一个,如果是一个边决策边学习,就是on-policy,比如SARSA;否则不是同一个,通过学习历史信息对策略优化,就是off-policy,比如Q-learning.
SARSA和Q-learning
接下来初步了解下上文提到的SARSA和Q-learning算法。

SARSA算法的基础思路就是他的名字(State-Action-Reward-State'-Action')。先基于 ϵ -贪婪法对当前状态S选择动作A,进入下一个状态S并得到即时回报R,在新状态S下再基于 ϵ -贪婪法选择下一个动作A,更新价值函数:

Q(S,A)=Q(S,A)+α(R+γQ(S,A)Q(S,A))

如此循环迭代,直到收敛。

(其中 ϵ -贪婪法指设置一个小的ϵ值,1ϵ的概率选择目前认为是最大行为价值的行为, ϵ的概率从动作空间中选择动作)

Q-learning的基本思路是先基于 ϵ-贪婪法对当前状态S选择动作A, 进入下一个状态S并得到即时回报R,(这里和SARSA一样),接下来使用贪婪法选择A来更新价值函数(SARSA是使用ϵ -贪婪法选择A去更新价值函数)

Q(S,A)=Q(S,A)+α(R+γmaaxQ(S,a)Q(S,A))

价值函数更新后,新的动作是基于状态S,用 ϵ -贪婪法重新得到。(SARSA是直接使用A’作为下一步开始执行动作)

SARSA和Q-learning都是价值迭代,通过价值函数的更新来更新当前策略,然后通过策略得到新的状态和即时奖励,循环迭代直到价值函数和策略收敛,得到最优价值函数和最优策略。

对于价值函数我们也可以通过神经网络来进行近似表示。对于状态价值函数,输入是状态s,输出是状态价值V(s,w)。对于动作价值函数,一种是输入状态s和动作a,输出对于动作价值q(s,a,w),一种是只输入状态s,动作集合有多少个动作就有多少个q(s,ai,w)

Deep Q-learning和Q-learning的区别在于,价值函数Q值不通过状态和动作计算出来,而是通过深度网络Q网络得到。Q网络的输入是状态向量,输出是所有动作在该状态下的动作价值函数Q。
以上方法均是基于值函数来学习,但是在应用中主要有以下不足:
对连续动作处理不足;2.无法解决随机策略问题;3.在拥有重复状态环境下处理不足。
policy-based基于策略的强化方法

 

基于策略的强化学习,是直接对策略进行建模,用一个神经网络表示策略,对动作输出一个输出概率来表示。即学习  
πθ(s,a)=p(a|s,θ)

,给定状态s,得到选择的动作a的概率。

在基于值的方法中,选择动作的策略是不变的,使用贪婪选择法,而在基于策略中是通过概率分布选择的。

首先它是可以处理离线动作空间的,从s输出一个离散分布,选择每个动作的概率;其次,对于连续空间,可以先假设动作服从一个分布,然后从s输出一个动作的均值,选择动作时就可以利用分布选择。

在基于价值算法中,是根据值函数对策略进行改进,对比基于策略的方法,他的决策更为肯定就是选择价值最高的;而基于策略方法,是直接对策略进行迭代,直到累计回报最大。

最后借鉴一张图片总结下强化学习算法框架

编辑:航网科技   来源:腾讯云

本文版权归原作者所有 转载请注明出处

联系我们

客服部:深圳市龙华区龙胜商业大厦5楼B5区

业务部:深圳市南山区讯美科技广场2栋12楼1202

资质证书

  • Copyright © 2011-2020 www.hangw.com. All Rights Reserved 深圳航网科技有限公司 版权所有 增值电信业务经营许可证:粤B2-20201122 - 粤ICP备14085080号

    在线客服

    微信扫一扫咨询客服


    全国免费服务热线
    0755-36300002

    返回顶部