强化学习:MC Basic5-2

基于蒙特卡罗的强化学习算法——MC Basic

理解算法的核心问题

要理解本次课介绍的第一个算法,一个核心问题是如何将policy iteration算法转变为model free的形式。其实质是把policy iteration里依赖模型的部分替换成一个model free的模块。

要掌握这个转变,需要熟悉policy iteration(若不熟悉可回顾上节课内容)以及蒙特卡罗estimation(通过前面的motivation example已有所了解)。

Policy Iteration转变为Model Free的过程

在policy iteration的每一个iteration中,包含两个步骤:

  1. Policy evaluation:有一个策略 π k \pi_k πk,通过求解贝尔曼公式求出它的state value v π k v_{\pi_k} vπk
  2. Policy improvement:知道 v π k v_{\pi_k} vπk后进行改进,即求解一个最优化问题,得到新的策略 π k + 1 \pi_{k+1} πk+1

在这个过程中,核心的量是 q π k q_{\pi_k} qπk(action value)。计算 q π k q_{\pi_k} qπk有两种方法:

  1. 依赖模型的方法:这是value iteration算法所使用的,先得到 v π k v_{\pi_k} vπk,由于知道模型,所以可以求出 q π k q_{\pi_k} qπk
  2. 不依赖模型的方法:依据action value最原始的定义,即从状态 s s s出发,采取动作 a a a,得到一个return(这是一个随机变量),求它的平均或期望。基于蒙特卡罗的方法就是用这个不依赖模型的式子来计算,这是一个mean estimation的问题,蒙特卡罗estimation可用于求解该问题。

具体求解时,从任意的一个状态-动作组合 ( s , a ) (s, a) (s,a)出发,根据当前的策略得到一个episode,计算出这个episode所对应的discounted return,用 g s , a g_{s,a} gs,a表示( g s , a g_{s,a} gs,a是这个随机变量的一个采样)。如果有很多这样的采样集合,就可以用这些采样求平均值,来估计 g s , a g_{s,a} gs,a的期望值。

MC Basic算法介绍

当没有模型时,就依赖数据(在统计或概率里叫sample,在强化学习中有个特殊名字叫experience经验)。

这个算法名为mc basic(mc是蒙特卡罗首字母的缩写)。算法过程如下:

  1. 从一个初始的策略出发(这个策略可能不好,后续会改进)。
  2. Policy valuation:计算 q π k ( s , a ) q_{\pi_k}(s,a) qπk(s,a),对所有的状态-动作对 ( s , a ) (s, a) (s,a)都要得到 q π k ( s , a ) q_{\pi_k}(s,a) qπk(s,a) 。方法是从 ( s , a ) (s, a) (s,a)出发,得到很多episode,对episode的return求平均。
  3. Policy improvement:在上一个步骤得到 q π k q_{\pi_k} qπk后,求解优化问题,得到一个新的策略。

它和policy iteration的第二步是一样的,唯一区别在于第一步:policy iteration第一步先求解state value,再得到action value和 q π k q_{\pi_k} qπk

MC Basic算法的伪代码简要过程:
在每一个iteration中,遍历每一个状态 s s s,遍历每一个状态 s s s所对应的动作 a a a,从 ( s , a ) (s, a) (s,a)出发,得到很多的episode,计算它的average return,并认为这就是 q π k ( s , a ) q_{\pi_k}(s,a) qπk(s,a) ,然后在下一个步骤中进行策略改进。

关于MC Basic算法的强调点

  1. 与Policy Iteration的关系:mc basic是policy iteration的一个变形,是把基于model的模块拿掉,换成不需要model的模块。理解mc basic需要先明白基于模型的policy iteration算法,可能会存在一些疑问,比如为什么选择action最大的来作为策略等。
  2. 算法的作用与局限性:mc basic算法很有用,能清晰揭示从model base到model free的转变过程,但并不实用。后续会介绍两个更实用的算法(mc basic这个名字是特意起的,因为要把最核心的想法和其他复杂因素剥离开)。后续会涉及更高效地利用数据、更新数据,去掉一些实际中难以实现的假设等,这些会让算法更复杂但也更实用。
  3. Action Value的估计方式:mc basic中直接估计action value,而在policy iteration中是先估计state value,再转成action value。原因是估计state value后再转成action value会依赖模型,所以要直接估计action value。
  4. 算法的收敛性:policy iteration是收敛的,mc basic和policy iteration本质类似,只是估计action value的方法有差别,其收敛性仍然能保证。但随着后续算法变得越来越复杂,收敛性可能逐渐消失或其分析会越来越复杂。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值