• 强化学习的几个基本概念


    根据环境的建模的角度划分:Model-Based 和 Model-Free

    Model-Based: 

    指 机器已对环境进行了建模,能在机器内部模拟出与环境相同或近似的状况

    此时,任意状态x下执行动作a转移到x'的概率P是已知的,该转移带来的奖赏R也是已知的

    Model-Based的问题可以用传统的强化学习方法来解决,比如动态规划,可以用Bellman等式求得数值解

    Model-Free:

    指 由于实际中没法对环境进行建模,所以学习算法不依赖于环境建模(通常比model-based的问题要难,也更常见,多数强化学习问题都是model-free的)

    此时,环境的转移概率、奖赏函数都是未知的

    Model-Free的问题可以用Q-learning、Sarsa等方法,也可以用DQN、A3C等神经网络的方法

    根据学习的策略的角度划分:value-based和policy-based

    value-based:

    学习优化的对象是Value,即值函数V 

    policy-based:

    学习优化的对象是Policy,即在状态x下选择动作a的概率π(x, a)

    policy-based 和 value-based  的对比:

    • 最优策略是随机策略的问题:value-based 方法通常会获得一个确定的策略(deterministic policy),policy-based 方法可能获得一个随机策略(stochastic policy), 但很多问题中的最优策略是随机策略。(如石头剪刀布游戏,如果确定的策略对应着总出石头,随机策略对应随机出石头、剪刀或布,那么随机策略更容易获胜)
    • 鲁棒性不同:value function 的微小变化对策略的影响很大,可能直接决定了这个action是否被选取;policy-based 不存在此问题。
    • 处理的action space不同:value-based适合处理的action space低维离散的,policy-based 适合处理连续高维的action space
    • 更新频率不同:value-based每个action执行都可以更新,policy-based 每个episode完成之后才能更新一次。(这里可以理解成下棋的时候,value-based每下一步就学习一次,而policy-based要在一盘棋下完之后再学习。)

    有没有一个算法结合value-based和action-based的优点呢?即又能处理高维、连续的action space,又能单步更新快速学习呢?那就是Actor-Critic,DDPG等算法了。

    参考:

    https://blog.csdn.net/LagrangeSK/article/details/82865578

    https://www.zhihu.com/question/272223357/answer/388262439

  • 相关阅读:
    EJB>依赖注入(dependency injection) 小强斋
    EJB>自定义安全域 小强斋
    EJB>定时服务(Timer Service) 小强斋
    EJB>依赖注入(dependency injection) 小强斋
    EJB>定时服务(Timer Service) 小强斋
    EJB>安全服务的具体开发 小强斋
    EJB>JMS(Java Message Service)和消息驱动bean 小强斋
    EJB>拦截器(Interceptor) 小强斋
    《做最好的员工》第二章:好员工擅长合作
    教你29招,让你在社交,职场上人人对你刮目相看 !
  • 原文地址:https://www.cnblogs.com/sbj123456789/p/14554224.html
Copyright © 2020-2023  润新知