首页 AI Studio教育版 帖子详情
PARL的学习心得
收藏
快速回复
AI Studio教育版 文章课程答疑 1219 3
PARL的学习心得
收藏
快速回复
AI Studio教育版 文章课程答疑 1219 3

    参加了PARL七日学习训练营https://aistudio.baidu.com/aistudio/education/group/info/1335,无奈第三天被事情打断了,没有继续。最近发现还可以继续学习,于是把后面的四次课程补上了,现将心得体验写在这里:

一 强化学习的基础理论

    强化学习可以看作是MDP问题,也可以叫做序列决策问题。

    其基本形式定义为RL={S,A,P,R},其中S为状态空间,依其连续或离散,又可称为连续状态MDP或者离散状态MDP;A为动作空间,同样可分为连续动作MDP和离散动作MDP。

     P: S X A X S -> r , 表示给定状态s属于S,执行一个动作a属于A,状态转换为s‘属于S的概率为r,r为0-1之间实数。若s’完全由s和a所确定,则称为确定状态MDP,否则为随机状态MDP

    R:S X A -> r, 表示给定状态s属于S,执行一个动作a属于A,得到一个奖励r,r为实数。

    强化学习的学习目标是给定一个初始状态s0,选择一个策略pi,使得pi' = argmax (E[Rt | pi,s0 ]),即选择的策略使得给定s0执行的序列的累积奖励的期望最大

   强化学习算法可以分为基于价值的方法和基于策略的方法,前者对每个状态下,评估执行某个动作的“价值”,而基于策略的方法则让策略执行出决策链,并让策略向最优决策链方向优化。

二  实践

    这七节课的收获还是比较大的!感觉七天打卡营中学习的算法中最重要的就是DQN和PG,因此参考教学自己将这两个算法实现了一遍(https://aistudio.baidu.com/aistudio/projectdetail/733087和https://aistudio.baidu.com/aistudio/projectdetail/734340)。确实需要自己实现一遍,才发现看似容易的方法实现细节中还是有很多问题,这里列举如下:

1.PARL安装一旦碰到问题,找起来比较费劲。我在编写DQN的时候,新建项目并没有指定paddle和parl的版本,一切正常,但是在编写PG的时候,新建项目中不指定版本就不行了,即使先卸载之前安装的也不行,估计是由于之前有些依赖没有卸载干净导致版本冲突。

2.在DQN的实现中,发现训练和评估用的都不是目标网络,这与我想的不一致,毕竟由于克隆了权重,在训练完成后,应该用目标网络做评估,因此应该有三个fluid.program,即多增加一个执行目标网络的

程序。虽然两者实际差别不大,但是如果需要训练和评估分开的感觉还是应该单独为目标网络执行一个计算图的。

3.Model、Alg、Agent的分离设计感觉很合理,自己一开始不是这样设计的,实际编写后发现确实还是PARL合理。不过有个地方我始终不习惯,就是Agent的build_program,总忍不住想把它放到Alg里面去。

4.作业五本来想将Model改成CNN的,奈何水平有限,始终不成功,只好放弃,算是个小缺憾吧。

0
收藏
回复
全部评论(3)
时间顺序
AIStudio810258
#2 回复于2020-08

重新拾起,加油!共同进步!

0
回复
七年期限
#3 回复于2020-08

赞一个

0
回复
Mr.郑先生_
#4 回复于2020-08

赞!

0
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户