强化学习7日打卡营--第二课Q表格之个人理解
收藏
开课之前,我仅掌握python的一些知识,对强化学习可以说一窍不通,因此在学习中注定了会陷入一些误区。科科老师讲解的通俗易懂,我在看直播时感觉都听懂了,但是在做作业时缺不知如何下手,最后只好去防抄老师的课件。本文只是针对“第二节 基于表格型方法求解RL”,我自己产生疑惑和解惑的过程。
疑惑(问题)和解惑:
1:把绘制的环境和Q表格混为一谈。本节课用的环境CliffWalking是4*12格子状、FrozenLake是4*4的格子状,同时Q表格也是格子状,所以肤浅地认为环境格就是Q表格。
答:将环境绘制出来env.render(),将Q表格打印出来print(agent.Q),很直观的看出二者并不一样。但有一定的联系:Q表格的行是环境格子的总数,比如CliffWalking的Q表格有4*12=48行,FrozenLake的Q表格有4*4=16行。
2.与环境交互的agent是怎样构建的?为什么是agent(obs_n, act_n,lr, gamma, egreed)?
答:agent通过更新Q表格解决MDP(马尔科夫决策过程)强化学习问题,Q表格就全权代表了agent,Q结构是“环境数”*“动作数”,然后再引入学习率、衰减率、自由度等必要的参数,最后就成了agent(obs_n, act_n,lr, gamma, egreed)。
3.agent.predict(obs)方法的参数obs是怎样产生的?取值范围是多少?
答:obs是环境观察值,所以是由环境env产生的,初始的obs,通过env.reset()获得,没走一步会获得响应的值env.step(action)[0]。下标为CliffWalking的obs值:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
0
收藏
请登录后评论
收获不少答案~~
加油!共同努力
谢谢分享