强化学习了解

基本概念

  • 介于监督和无监督学习之间,没有绝对标签,但是有reward判断哪个决策好。关键问题是贡献度分配问题,每一个动作并不能直接得到监督信息,需要通过整个模型的最终监督信息(奖励)得到,有一定的延时性.
  • agent和environment
  • 状态、观测
  • 行动action,产生状态转移,强化学习了解 - 图3#card=math&code=s_%7Bt%2B1%7D%3Df%28s_t%2Ca_t%29)
  • 策略policy,agent大脑。通常采用随机策略,包括分类策略(离散动作空间)和对角高斯策略(连续)
  • 轨迹,一系列状态,马尔可夫决策过程
  • reward和return(累计奖励),强化学习了解 - 图4#card=math&code=rt%3DR%28s_t%2Ca_t%2Cs%7Bt%2B1%7D%29)
  • RL问题定义:选择一种策略,能最大化return
  • reward累计最大->更好的policy->更好的状态转移矩阵(马尔可夫决策过程)
  • 深度强化学习,用强化学习定义问题和优化目标,用深度学习解决策略和值函数的建模,BP算法优化。

值函数

  • 值函数可以看成是对策略强化学习了解 - 图5的评估,根据值函数优化策略。
  • 假设在状态强化学习了解 - 图6,有一个动作强化学习了解 - 图7 使得强化学习了解 - 图8%3E%F0%9D%91%89%5E%F0%9D%9C%8B(%F0%9D%91%A0)#card=math&code=%F0%9D%91%84%5E%F0%9D%9C%8B%28%F0%9D%91%A0%2C%F0%9D%91%8E%5E%E2%88%97%29%3E%F0%9D%91%89%5E%F0%9D%9C%8B%28%F0%9D%91%A0%29),说明执行动作强化学习了解 - 图9的回报比 当前的策略强化学习了解 - 图10#card=math&code=%F0%9D%9C%8B%28%F0%9D%91%8E%7C%F0%9D%91%A0%29)要高,我们就可以调整参数使得策略中动作强化学习了解 - 图11的概率强化学习了解 - 图12#card=math&code=%F0%9D%91%9D%28%F0%9D%91%8E%5E%E2%88%97%7C%F0%9D%91%A0%29)增加.

状态值函数强化学习了解 - 图13#card=math&code=V%5E%5Cpi%28s%29)

  • 从状态s开始,执行策略强化学习了解 - 图14得到的状态总回报

  • 贝尔曼方程:你起点的价值是你期望从那里得到的回报,加上你下一个着陆点的价值

  • 最优化的状态值函数强化学习了解 - 图15#card=math&code=V%5E%2A%28s%29)

状态-动作值函数强化学习了解 - 图16#card=math&code=Q%5E%5Cpi%28s%2Ca%29)

  • 初始状态s并执行动作a,然后执行策略强化学习了解 - 图17得到的状态总回报
  • 强化学习了解 - 图18#card=math&code=V%5E%5Cpi%28s%29)是强化学习了解 - 图19#card=math&code=Q%5E%5Cpi%28s%2Ca%29)关于a的期望
  • 贝尔曼方程:强化学习了解 - 图20%3Dr(s%2Ca%2Cs’)%2B%7B%5Cgamma%7DQ%5E%5Cpi(s’%2Ca’)#card=math&code=Q%5E%5Cpi%28s%2Ca%29%3Dr%28s%2Ca%2Cs%27%29%2B%7B%5Cgamma%7DQ%5E%5Cpi%28s%27%2Ca%27%29)
  • 优势:action之间的相对优势,强化学习了解 - 图21%3DQ%5E%5Cpi(s%2Ca)-V%5E%5Cpi(s)#card=math&code=A%5E%5Cpi%28s%29%3DQ%5E%5Cpi%28s%2Ca%29-V%5E%5Cpi%28s%29)

分类

  • Model-Free和Model-Based,能否访问(或学习)环境,模型是否已知
  • 学什么:

    • 策略(随机或确定)
    • 动作价值函数Q Function
    • Value Function
    • 与或环境模型

基于策略迭代的方法

  • 先随机初始化一个策略,计算该策略的值函数,并根据值函数来设置新的策略,然后一直反复迭代直到收敛。
  • 模型已知,动态规划

    • 策略评估:根据贝尔曼方程计算强化学习了解 - 图22#card=math&code=V%5E%5Cpi%28s%29)
    • 策略改进:根据强化学习了解 - 图23#card=math&code=V%5E%5Cpi%28s%29)计算强化学习了解 - 图24#card=math&code=Q%5E%5Cpi%28s%2Ca%29),然后求强化学习了解 - 图25%3Dargmax_aQ%5E%5Cpi(s%2Ca)#card=math&code=%5Cpi%28s%29%3Dargmax_aQ%5E%5Cpi%28s%2Ca%29)
  • 模型未知,蒙特卡洛、时序差分(如下)

    • 迭代强化学习了解 - 图26%2B%3D%7B%5Calpha%7D%2B%7B%5Cbig(%7Dr(s%2Ca%2Cs’)%2B%7B%5Cgamma%7DQ%5E%5Cpi(s’%2Ca’)-Q%5E%5Cpi(s%2Ca)%7B%5Cbig)%7D#card=math&code=Q%5E%5Cpi%28s%2Ca%29%2B%3D%7B%5Calpha%7D%2B%7B%5Cbig%28%7Dr%28s%2Ca%2Cs%27%29%2B%7B%5Cgamma%7DQ%5E%5Cpi%28s%27%2Ca%27%29-Q%5E%5Cpi%28s%2Ca%29%7B%5Cbig%29%7D),然后求强化学习了解 - 图27%3Dargmax_aQ%5E%5Cpi(s%2Ca)#card=math&code=%5Cpi%28s%29%3Dargmax_aQ%5E%5Cpi%28s%2Ca%29)
    • SARSA:同策略执行,采样和优化的策略不一样,采样的策略是一开始给定的。
    • Q-Learning:不同策略执行,即采样策略随优化更新。
    • DQN:用Q-Network代替Q表

基于策略梯度的方法

  • 在策略空间搜索,策略梯度,使用梯度上升算法优化策略函数的参数使目标函数最大
  • Reinforce算法,期望通过采样近似。根据当前策略,随机游走采集多轨迹近似策略梯度,每次更新参数。

    • 初始化策略
    • 根据策略生成轨迹
    • 计算每个时刻到终点的return,更新策略参数
    • 重复上述两步,直到策略收敛
  • 带基准线的Reinforce算法,减小不同路径的方差。学习一个值函数(每次也更新值函数的参数),更新策略参数时用return和学习到的值函数的偏差。
  • Actor-Critic算法(演员-评论家)

    • 与Reinforce的区别是不是生成完整轨迹,而是通过时序差分学习。
    • 演员是策略函数,评论家是值函数。借助值函数,可以在迭代时更新参数。
    • 估计累计回报时使用强化学习了解 - 图28#card=math&code=G%3Dr%7Bt%2B1%7D%2B%7B%5Cgamma%7DQ_w%28s%7Bt%2B1%7D%2Ca_%7Bt%2B1%7D%29),误差强化学习了解 - 图29#card=math&code=%3DG-Q_w%28s_t%2Ca_t%29)