[强化学习]易混知识勘误_from李宏毅P3——Q_Learning/ MC+PD

本文是这篇博文的注,如有需要请以其为纲

知识勘误其他笔记链接

易混知识勘误_from李宏毅P1-----Policy Gradient

易混知识勘误_from李宏毅P2——PPO\Off-policy\On-policy

易混知识勘误_from李宏毅P3——Q_Learning

易混知识勘误_from李宏毅P4——Actor-Critic/A3C

易混知识勘误_from李宏毅P5——Sparse Reward的解决方法(目标太难怎么办)

易混知识勘误_from李宏毅P6——Imitation Learning 模仿式学习


目录

1.Critic只在Q-learning中出现吗?是什么东西?

2.两种得到Critic的方法的比较:MC v.s TD

3.为什么总成立

4.注意一下哈,这里的V是指定policy下的s的价值,Q是指定policy下的(s,a)对的价值

5.另外注意是由argmaxQ得到的,并没有网络求它。

6.Target Network是啥

7.Q^Π(s, a)代表在policyΠ的前提下,对(s,a)对的价值评价,但是!(s,a)对和policy无关,也就是说,如果用policy Π对s最决定的话,可能执行除a外i的其他动作!

8.Exploration是关于采样概率的

9.为什么Q经常被高估

10.使用Dueling DQN时,为什么要对A加这么多限制

11.Dueling DQN加的那个V有什么用?

12.TD error是啥

13.正常情况下 Experience Buffer中的数据是啥结构的?

14.启示:求期望的时候往往忽略了分布,这时候可以考虑一下这个分布是不是有价值的,如果有价值的话通过对定义域分bin的形式把他找回来

15.为什么Q learning比仅用policy gradient的算法更容易操作?

16.为什么Q Learning不能很好的解决行动取连续值的问题?

17.对于连续的a的Q-learning的解决方法三是啥意思?


1.Critic只在Q-learning中出现吗?是什么东西?

Critic是Q-learning的专有组件,它的作用是:评价actor(行为)的好还是不好,而不指导行为(指导行为是policy的工作)

使用value function表征Critic,写作V^{\pi}(s),他基于actor \pi(策略),衡量s(状态)的好坏。因为是对状态的评价,所以其实包含了使用此策略到游戏结束所有的reward之和。

2.两种得到Critic的方法的比较:MC v.s TD

注:两者的目标都是评估给予一个policy \pi的状态s的好坏。MC将其与G(整场游戏的实际Reward)比较,接近之;而TD将当前的V 与 r+下一步的V比较,尝试接近之。

3.为什么V^{\pi'}(s) \geq V^{\pi}(s)总成立

首先看一下这个式子的意义,在policy \pi'下的s状态的Reward,总是大于等于 在policy \pi下的s状态的Reward。

这是由\pi'的定义决定的,因为\pi'(s) = arg max_a Q^{\pi}(s, a)[前提条件是已知Q^{\pi}(s, a)],其含义是,对于给定的policy \pi和s,寻找使Q最大的a,而由s得到a的过程是由参数\pi决定的,将由s得到最大的Q的这个参数\pi记作\pi'。

4.注意一下哈,这里的V是指定policy下的s的价值,Q是指定policy下的(s,a)对的价值

5.另外注意\pi'是由argmaxQ得到的,并没有网络求它。

6.Target Network是啥

如上图:

我们期望右上交方框的左右两侧可以相等,这两者中的Q都是通过NN得到的,正常情况下左右两边的NN的参数一致,当对左边的NN进行tune时,右边的NN的参数也变化,此时右边的Q也变化,就没办法进行了。这时候可以固定右边NN的参数,而不断更新左边NN的参数,当经过一定事件后,再对右侧NN的参数进行更新。

的输出是作为Target使用,这个Network的参数不变

7.Q^Π(s, a)代表在policyΠ的前提下,对(s,a)对的价值评价,但是!(s,a)对和policy无关,也就是说,如果用policy Π对s最决定的话,可能执行除a外i的其他动作!

8.Exploration是关于采样概率的

即,对于采样过的a,若其得到的Reward为正,那么下次选择他的概率就会变大,那么有一些没有被采样到的a,也可能有好的Reward,但是仅因为没被采样到就忽略了,是不合理的,所以用到了Exploration 探索率。

9.为什么Q经常被高估

在对a的价值进行评估的时候,评估的结果可能不准,有的a评价的比实际的高,有的a评价的比实际的低。而式中要取max,所以低的不会在意,而虚高的总会被取中,所以对a的评价的虚高,导致了Q_目标 会被高估。

10.使用Dueling DQN时,为什么要对A加这么多限制

因为算法的最终目标其实是修改Q,而修改Q有两种途径:1.修改V,2.修改A。而修改A其实比修改V更灵活(因为修改V的话,一改就要改Q中的一列),所以就有可能发生只修改A而不修改V的情况,这样的话要V不久没用了嘛,所以给A加一点限制,让算法不再那么积极地修改A

 

11.Dueling DQN加的那个V有什么用?

当我们更新Q的时候,假如想对画红斜线的部分进行+1,而这时候看情况很可能是对状态s1的评价+1了,如果可以用V表征对状态的评价,那么就可以修改V1=1,从而让Q中的第三行第二列的也+1了

如果是状态评价增加了,那么为什么Q的三行二列不主动+1呢?可能是sampling的时候没有采到它。

12.TD error是啥

就是训练模型的时候,不是有两个NN吗?一个用于生成target,另一个通过迭代更新来接近那个target,这两者之间的差别就是TD error。TD error大说明这部分数据训练效果不是很好,期望能多train train

13.正常情况下 Experience Buffer中的数据是啥结构的?

(s_t, a_t, r_t, s_{t+1}),就是这种,状态 动作 单步回报 下一步状态

14.启示:求期望的时候往往忽略了分布,这时候可以考虑一下这个分布是不是有价值的,如果有价值的话通过对定义域分bin的形式把他找回来

15.为什么Q learning比仅用policy gradient的算法更容易操作?

首先是PG不稳,用了PPO才能用。

Q Learning有优势的理由是:只要你能估计出Q,就能找到一个更好的policy,因为在QL中,其实是一个Regression Problem,只要观察loss就能知道,model有没有变好。

16.为什么Q Learning不能很好的解决行动取连续值的问题?

主要就是上面这个式子的锅,如果行动a是离散的,那么max可通过遍历a求解,但是如果是离散的,这个解决起来就很麻烦了。

17.对于连续的a的Q-learning的解决方法三是啥意思?

这个准确来说是,通过修改网络结构从而获得一些量,进而让优化过程变得简单。

具体来讲是通过NN得到了\mu,\Sigma ,V,一套运算下来,得到a=\mu,而\mu又是NN的输出,也就是说NN可以直接输出a

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值