8.22-8.29强化学习 学习心得
作者:互联网
学习心得
这一周都在学习强化学习的有关内容,前五章的学习都比较顺畅,到了第六章碰到了小困难,David Silver的第六个视频讲解的不是很清晰,公式一多,脑子就比较混乱了。后来又看了别人的学习笔记,才变得清晰了一些。下面是我对所学算法的理解。
算法理解
1.DP(动态规划)
动态规划又分为策略迭代和价值迭代。
策略迭代:
从一个初始策略 π 和初始价值函数 V 开始,基于该策略进行完整的价值评估过程得到一个新的价值函数,随后依据新的价值函数得到新的贪婪策略,随后计算新的贪婪策略下的价值函数,整个过程反复进行。
价值迭代:
价值迭代的目标仍然是寻找到一个最优策略,它通过贝尔曼最优方程从前次迭代
的价值函数中计算得到当次迭代的价值函数,在这个反复迭代的过程中,并没有一个明确的策略参与,由于使用贝尔曼最优方程进行价值迭代时类似于贪婪地选择了最优行为对应的后续状态的价值,因而价值迭代其实等效于策略迭代中每迭代一次价值函数就更新一次策略的过程。
2.MC(蒙特卡罗强化学习)
蒙特卡罗强化学习不依赖状态转移概率,直接从经历过的完整的状态序列中学
习,使用的思想就是用平均收获值代替价值。
3.TD(时序差分强化学习)
在TD learning中,算法在估计某一个状态的价值时,用的是离开该状态时的即时奖励Rt+1与下一个状态St+1的预估状态价值乘以折扣因子组成。也就是说它不需要经历一个完整的episode。
4.TD(λ)(n步时序差分学习)
前面的TD算法实际上都是TD(0)算法,而n-步预测指从状态序列的当前状态 (St) 开始往序列终止状态方向观察至状态 St+n-1,使用这 n 个状态产生的即时奖励 (Rt+1, Rt+2, …, Rt+n) 以及状态 St+n 的预估价值来计算当前第状态St 的价值。当n=1时等同于TD(0)学习,n取无穷大时等同于MC学习。
5.Sarsa
Sarsa 算法在单个状态序列内的每一个时间步,在状态 S 下采取一个
行为 A 到达状态 S’ 后都要更新状态行为对 (S,A) 的价值 Q(S,A)。
6.Sarsa(λ)
这里对λ的理解应该和之前的TD(λ)是一样的,需要注意一下的是是 E(s, a) 在每浏览完一个状态序列后需要重新置 0,这体现了效用迹仅在一个状态序列中发挥作用。
7.Q-learning
sarsa和Q-learning都是属于TD-Learning。for each step of episode的意思是每走一步就更新一次Q(s,a)。在状态s下利用方法ϵ−greedy选择一个动作a来执行,也就是在状态s下所有可执行的动作a中选择Q(s,a)最大的那个动作。更新Q(s,a)时利用了状态s‘下所有可执行的动作a’中使得Q(s‘,a’)值最大的那个,比如Q(s’,a3)。但是下次迭代时,在状态s’下不一定会选择动作a3,这是跟sarsa的区别。
8.DQN
个体能记住既往的状态转换经历,对于每一个完整状态序列里的每一次状态转换,依据当前状态的 st 价值以 ϵ-贪婪策略选择一个行为 at,执行该行为得到奖励 rt+1 和下一个状态 st+1,将得到的状态转换存储至记忆中,当记忆中存储的容量足够大时,随机从记忆力提取一定数量的状态转换,用状态转换中下一状态来计算当前状态的目标价值,使用公式计算目标价值与网络输出价值之间的均方差代价,使用小块梯度下降算法更
新网络的参数。
标签:状态,策略,迭代,学习心得,学习,8.22,TD,价值,8.29 来源: https://blog.csdn.net/weixin_44436360/article/details/100135629