强化学习小总结

主要是参考https://blog.csdn.net/jinzhuojun/article/details/72851548

value based和policy based的优缺点

  • 在RL任务中,我们本质上最终要学习的是策略(Policy)。前者用的是间接方法,即通过学习值函数(value function)或者动作值函数(action-value function)来得到policy。而后者是直接对policy进行建模和学习,因此后者也称为policy optimization。
value based
  • 广泛应用于各种领域,但有一些缺点使它的应用受到局限。如:
  1. 难以应用到随机型策略(stochastic policy)和连续的动作空间。

个人理解是 这里指的是这样形式的value-based方法:
输入: 状态的特征向量
输出: 在这个特征向量表示的状态下的各个动作能获得的收益 which means Q ( S , a i ) ( a i ∈ A Q(S,a_i) (a_i \in A Q(S,ai)(aiA )
所以即使是引入了NN的值函数逼近方法,由于输出的格式是这样的(想想DQN,最后输出层是action的神经元个数),动作一旦多了(甚至连续起来)就不得了了。【注意,这里也点清楚了,某一个状态下选择的动作值是确定的,i.e.value-based方法是deterministic policy 而不是随机型策略】

我这里似乎把value iteration和value function的概念混起来了,下次再想想。。。

  • 处理方法
    • 一个就是压缩动作空间,但是会造成收敛差(你压缩的方式会影响。比如说,把一段动作空间映射到一个点上的时候,你怎么能确保这一段动作上带来的更新都是方向一致的)
    • 另一个就是把动作也当作神经网络的输入参数了,思考如下:

首先这样输出的肯定就不是Q(S,a)的格式了,所以没有办法遍历S下的每个a然后选出使得Q最大的action【注意,value-based思想区别于policy based的就是每次选出使Q最大的动作】,这是实际上就不是value-based方法了,实际上是policy-based了。

那么policy based的网络输出应该是什么呢…? 答案: π ( s , a ) \pi(s,a) π(s,a) -->你想想,人家输入里面包含a和s,然后他们俩又都是连续值,你不可能输出变成离散的了吧,还是输出这样的格式比较好。
【其实还是没有把自己将懂233】再想想!

  1. value function的微小变化会引起策略变化巨大,从而使训练无法收敛【因为这两者之间的映射关系其实我们并没有figure out,我们只是单纯的知道value funtion变大,必然会导致policy变好而已】。尤其是引入函数近似(function approximation,FA)后,虽然算法泛化能力提高了,但也引入了bias,从而使得训练的收敛性更加难以保证

value based本来是可以收敛的,但是可能会很慢,为了加快引入了FA但是也引入了bias。见https://blog.csdn.net/Hesy_H/article/details/88904477

policy based
  • 通过将策略参数化,从而直接学习策略。这样做的好处是:
  1. 与前者相比拥有更好的收敛性
  2. 适用于高维连续动作空间及stochastic policy
  • 缺点包括:
  1. 梯度估计variance比较高【因为比较依赖于采样】,且容易收敛到非最优解。另外因为每次梯度的估计不依赖以往的估计,意味着无法充分利用老的信息。【所以后面想着说引入value estimation生成了AC算法】

Policy-based方法

  • 可分为两大类:gradient-based方法和gradient-free方法。前者也称为policy gradient(PG)方法。而policy gradient方法又可细分为几类,如finite difference,Monte-Carlo和Actor-Critic等。

policy-free我还没学到

AC算法
  • 其实是policy-based和value-based方法的结合。但一开始设计的出发点是想设计一个policy-based,只不过为了减小方差又加入了value estimation
  • 多元迭代
    AC框架中,actor负责policy gradient学习策略,而critic负责policy evaluation估计value function。可以看到,一方面actor学习策略,而策略更新依赖critic估计的value function;另一方面critic估计value function,而value function又是策略的函数。Policy和value function互为依赖,相互影响,因此需要在训练过程中迭代优化。这种多元优化的迭代思想其实在机器学习中有很多体现。【就像是EM算法一样】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值