强化学习(四) - 无模型学习(MC、TDL)
上一节讲的是在已知模型的情况下,通过动态规划来解决马尔科夫决策过程(MDP)问题。具体的做法有两个:一个是策略迭代,一个是值迭代。
从这一节开始,我们将要进入模型未知的情况下,如何去解决MDP问题。
模型未知,即状态转移概率 Gt)
区别:
蒙特卡罗每次更新都需要等到agent到达终点之后再更新;
而对于TD learning来说,agent每走一步它都可以更新一次,不需要等到到达终点之后才进行更新
MC、TDL、DP 总结
Monte-Carlo, Temporal-Difference 和Dynamic Programming这三种学习方法都是用来计算状态价值的。
它们的区别在于:
前两种是在无模型下常用的方法,而MC方法又需要一个完整的episode来更新状态价值,TD则不需要完整的episode(单步更新)。
DP方法则是基于模型的计算状态价值的方法。它通过计算一个状态S所有可能的转移状态S’及其转移概率以及对应的即时奖励来计算这个状态S的价值。也正是因为它知道整个模型的情况(知道状态转移概率与即时奖励),所以它才能够这样子计算全面的情况。
下图中的这颗树,代表了整个状态与动作空间。对于蒙特卡罗方法来说,要更新一次V值,需要有一个完整的样本(即图中红色部分就是一个样本)。这条路径经过了三个状态,所以可以更新三个状态的V值。
下图的红色部分是TDL每次更新所需要的。对于MC和TDL来说,它们都是无模型的,所以它们只能通过尝试来近似真实值。
这是动态规划的V值计算,由于知道了模型,所以可以直接计算期望V值。
参考:
强化学习(四):蒙特卡罗学习(MonteCarlo)与时序差分学习(TD learning)
</div>
<link href="https://****img.cn/release/phoenix/mdeditor/markdown_views-7f770a53f2.css" rel="stylesheet">
</div>
上一节讲的是在已知模型的情况下,通过动态规划来解决马尔科夫决策过程(MDP)问题。具体的做法有两个:一个是策略迭代,一个是值迭代。
从这一节开始,我们将要进入模型未知的情况下,如何去解决MDP问题。
模型未知,即状态转移概率 Gt)
区别:
蒙特卡罗每次更新都需要等到agent到达终点之后再更新;
而对于TD learning来说,agent每走一步它都可以更新一次,不需要等到到达终点之后才进行更新
MC、TDL、DP 总结
Monte-Carlo, Temporal-Difference 和Dynamic Programming这三种学习方法都是用来计算状态价值的。
它们的区别在于:
前两种是在无模型下常用的方法,而MC方法又需要一个完整的episode来更新状态价值,TD则不需要完整的episode(单步更新)。
DP方法则是基于模型的计算状态价值的方法。它通过计算一个状态S所有可能的转移状态S’及其转移概率以及对应的即时奖励来计算这个状态S的价值。也正是因为它知道整个模型的情况(知道状态转移概率与即时奖励),所以它才能够这样子计算全面的情况。
下图中的这颗树,代表了整个状态与动作空间。对于蒙特卡罗方法来说,要更新一次V值,需要有一个完整的样本(即图中红色部分就是一个样本)。这条路径经过了三个状态,所以可以更新三个状态的V值。
下图的红色部分是TDL每次更新所需要的。对于MC和TDL来说,它们都是无模型的,所以它们只能通过尝试来近似真实值。
这是动态规划的V值计算,由于知道了模型,所以可以直接计算期望V值。
参考:
强化学习(四):蒙特卡罗学习(MonteCarlo)与时序差分学习(TD learning)
</div>
<link href="https://****img.cn/release/phoenix/mdeditor/markdown_views-7f770a53f2.css" rel="stylesheet">
</div>