深度强化学习算法的四个问题

要想驾驭一个机器学习算法,我认为需要思考其四个方面:应用场景、目标变量、损失函数及学习过程。

深度强化学习也不例外:

  1. 应用场景

    上图是强化学习的交互示意图,Agent给出动作(Action),环境更新状态并返回奖赏(Reward)。
    我认为只要能满足以下两点,就可尝试使用强化学习框架:
      a, 数据流满足示意图的这种交互方式,注意Reward可以有延迟;
      b, 可以清晰地表示Action、State及Reward的空间,并能完整地描述需求。
  2. 目标变量
    知道了目标变量,才能知道算法到底在学习什么,也就是设计的神经网络具体在近似什么。
    深度强化学习的目标变量需要能表达最大化累计奖赏(cumulative reward),包括直接表达最大累积奖赏(Value)的Q(s,a)、V(s)及表达最优策略(Policy)的π(a|s),或者能表达Value/Policy的其他相关统计量(变化的部分).

  3. 损失函数
    损失函数决定着神经网络能学多好,用来衡量相对于事实(真值/y/label/ground truth)的误差,起着引导和指挥棒的作用。
    认识损失函数分为两部分:
         事实表达和误差表示,这里的误差是数学形式上的,不管实际代表什么物理量,最终转化为最小化形式的即是误差。
         注意:本段以下提到的reward表示环境返回的即时reward(r_t); 
         a,深度强化学习的Value事实:
                或是直接累加的reward,可以是带折扣因子(discount)的累加reward,
                或者是结合reward 、折扣因子\gamma、最优化的贝尔曼方程(Bellman Equations)及目标网络(Target Network, Temporal-Difference思想)的事实近似;
                或者采用优势函数(Advantage Function)代表Q-Value;
               整个强化学习的精髓就在事实表达上,或者包含来自环境的直接反馈(reward),或者反映已知的假设(target network);它虽然是动态的,但总能表达比现在的近似(目标变量)更好。

               关于Policy的假设是马尔可夫过程(MDP):
               
         b,深度强化学习的误差表示一般包括:
              表示Value误差的均方误差(mean square error),二次凸优化(Quadratic convex optimization);
              表示Policy最优的负对数似然(log-likelihood),似然最大化,log函数可微;
              表示分布距离的KL散度(Kullback-Leibler divergence),可转变为负对数似然或交叉熵;
              保留探索能力的负的最大熵(Maximizing Entropy),最大熵学习;

  4. 学习过程
      
    深度强化学习的最优化方法一般还是基于梯度下降的,这里需要重点关注的是数据的有效性(Data-Efficient).
      深度强化学习的每一段学习过程,都是基于与环境交互产生的新鲜的数据;一方面这些数据只服务于当前学习,会造成数据的大量浪费,另一方面统一批次的数据又有很强的相关性,这些都给学习带来了困难。为了解决这两个问题,一是建立经验回放池(experience replay),随机采样历史数据,避免数据强相关;二是独立采样,通过大量的并行采样,保持数据的多样性。

发布了13 篇原创文章 · 获赞 2 · 访问量 6407

猜你喜欢

转载自blog.csdn.net/huibiannihao/article/details/105338219
今日推荐