datawhalechina / easy-rl

强化学习中文教程(蘑菇书🍄),在线阅读地址:https://datawhalechina.github.io/easy-rl/
Other
9.61k stars 1.88k forks source link

/chapter5/chapter5 #54

Open qiwang067 opened 3 years ago

qiwang067 commented 3 years ago

https://datawhalechina.github.io/easy-rl/#/chapter5/chapter5

Description

WuYunjin commented 3 years ago

感恩,整理得很清楚,不过有个小问题,查了一下好像大部分都认为PPO是on-policy的,而非off-policy?

qiwang067 commented 3 years ago

感恩,整理得很清楚,不过有个小问题,查了一下好像大部分都认为PPO是on-policy的,而非off-policy?

感谢您的反馈,PPO 的确是 on-policy 的,本章参考的资料有一些问题,会尽快更新

qiwang067 commented 3 years ago

感恩,整理得很清楚,不过有个小问题,查了一下好像大部分都认为PPO是on-policy的,而非off-policy?

感谢您的反馈,PPO 的确是 on-policy 的,本章参考的资料有一些问题,会尽快更新

添加了 PPO 是 on-policy 算法的解释

jiangweishe commented 3 years ago

@qiwang067

感恩,整理得很清楚,不过有个小问题,查了一下好像大部分都认为PPO是on-policy的,而非off-policy?

感谢您的反馈,PPO 的确是 on-policy 的,本章参考的资料有一些问题,会尽快更新

添加了 PPO 是 on-policy 算法的解释 你好,请问ppo是用旧的θ'来更新新的θ,为什么还是on-policy呢?

qiwang067 commented 3 years ago

@qiwang067

感恩,整理得很清楚,不过有个小问题,查了一下好像大部分都认为PPO是on-policy的,而非off-policy?

感谢您的反馈,PPO 的确是 on-policy 的,本章参考的资料有一些问题,会尽快更新

添加了 PPO 是 on-policy 算法的解释 你好,请问ppo是用旧的θ'来更新新的θ,为什么还是on-policy呢?

这个解释在本章笔记中就有,详见下图 image

o00000o commented 3 years ago

您好,非常感谢整理,重要性采样那块儿我没弄明白“q(x) 可以是任何分布,唯一的限制就是 q(x) 的概率是 0 的时候,p(x) 的概率不为 0,不然这样会没有定义。假设 q(x) 的概率是 0 的时候,p(x) 的概率也都是 0 的话,那这样 p(x) 除以 q(x)是有定义的。” 分母不应该不能为0吗

qiwang067 commented 3 years ago

您好,非常感谢整理,重要性采样那块儿我没弄明白“q(x) 可以是任何分布,唯一的限制就是 q(x) 的概率是 0 的时候,p(x) 的概率不为 0,不然这样会没有定义。假设 q(x) 的概率是 0 的时候,p(x) 的概率也都是 0 的话,那这样 p(x) 除以 q(x)是有定义的。” 分母不应该不能为0吗

您好,您可以这样理解,在重要性权重 p/q 中,p≠0 但是 q=0,那么重要性权重=∞,所以p≠0 但是 q=0 的情况是个限制,不适用; 而 p 和 q 在某处 x 都为0的话,重要性权重也可以定义(不为无穷或者零),只不过f(x)p(x)=0,即这点对期望的累积没有贡献。

Strawberry47 commented 3 years ago

谢谢博主!

Strawberry47 commented 3 years ago
  1. PPO代码中,计算优势函数那部分(a_t += discount(reward_arr[k] +self.gammavalues[k+1]* (1-int(dones_arr[k])) - values[k])),跟第四章的介绍优势函数的公式不太一样诶,请问教材里是在哪里涉及到PPO的优势函数的呀?
lyhlyhl commented 2 years ago

image-20220206021250642 这里这个baseline好像有问题?感觉指的是bias

qiwang067 commented 2 years ago

image-20220206021250642 这里这个baseline好像有问题?感觉指的是bias

感谢您的反馈,这里指的就是基线(baseline),具体可参考: https://datawhalechina.github.io/easy-rl/#/chapter4/chapter4?id=tip-1-add-a-baseline

Xyfcw commented 2 years ago

我看pg算法里,有对t累加的操作,为什么第三张幻灯片没有了呢?不太懂这张幻灯片里期望的含义

karrin-chen commented 2 years ago

@o00000o 您好,非常感谢整理,重要性采样那块儿我没弄明白“q(x) 可以是任何分布,唯一的限制就是 q(x) 的概率是 0 的时候,p(x) 的概率不为 0,不然这样会没有定义。假设 q(x) 的概率是 0 的时候,p(x) 的概率也都是 0 的话,那这样 p(x) 除以 q(x)是有定义的。” 分母不应该不能为0吗

您好,在高等数学里面分母是可以趋向于0的,只不过如果分母为零,分子不为零,整个函数是趋于无穷的,如果分子分母都为零是有可能收敛的。比如 f(x) = sinx/x,当x趋于0的时候,可以算出结果为f(0) = 1。当然这只是一个例子,具体的可以去搜一下无穷小量。

xiaoliua1 commented 2 years ago

您好,作为强化学习的初学者,我从本章5.1小节的标题“从同策略到异策略”中感受到两点暗示:1、从同策略到异策略是一种优化。2、PPO算法是一种异策略算法。对于第一点我还没搞明白,第二点似乎并不正确。是不是改为“同策略与异策略”之类的标题会更合适一点。

qiwang067 commented 2 years ago

@xiaoliua1 感谢您的反馈,回复如下:

  1. 异策略并非是同策略的优化。
  2. PPO算法是一种同策略算法,本章5.2节明确讲了这件事: image
  3. 标题确实可能会给人造成误解,已改成“重要性采样”。
Chuan-shanjia commented 2 years ago

您好,我有问题想请教一下。我感觉PPO相比于重要性采样的唯一区别是在约束中增加了一个约束项,使得$theta^'$与$theta$相差不大,为什么重要性采样是异策略,PPO是同策略呢?文章中说原因是PPO中$thete^'$是$theta_old$,但我觉得重要性采样中的$thete^'$也应该是$theta_old$呀。谢谢!

qiwang067 commented 1 year ago

您好,我有问题想请教一下。我感觉PPO相比于重要性采样的唯一区别是在约束中增加了一个约束项,使得$theta^'$与$theta$相差不大,为什么重要性采样是异策略,PPO是同策略呢?文章中说原因是PPO中$thete^'$是$theta_old$,但我觉得重要性采样中的$thete^'$也应该是$theta_old$呀。谢谢!

@Chuan-shanjia 感谢您的反馈,回复如下: image

关于这块的表述已在文章中更新:https://github.com/datawhalechina/easy-rl/commit/552e4f2efc0246e9fcd31cbe4866fc8658e78b4a

wym5 commented 1 year ago

感谢分享

qiwang067 commented 1 year ago

感谢分享

客气啦~

YZH-WDNMD commented 10 months ago

请问有连续情况下PPO的实例吗

Chin-Sun commented 7 months ago

请问图5.4有出处吗?

qiwang067 commented 7 months ago

请问图5.4有出处吗?

@Chin-Sun Proximal Policy Optimization Algorithms https://arxiv.org/pdf/1707.06347

Chin-Sun commented 7 months ago

@qiwang067

请问图5.4有出处吗?

@Chin-Sun Proximal Policy Optimization Algorithms https://arxiv.org/pdf/1707.06347

谢谢!感谢分享这篇笔记:)

qiwang067 commented 7 months ago

@qiwang067

请问图5.4有出处吗?

@Chin-Sun Proximal Policy Optimization Algorithms https://arxiv.org/pdf/1707.06347

谢谢!感谢分享这篇笔记:)

客气啦~ ^V^

qiwang067 commented 7 months ago

请问有连续情况下PPO的实例吗

@YZH-WDNMD 可以看这个: https://github.com/datawhalechina/joyrl-book/blob/main/notebooks/%E7%AC%AC12%E7%AB%A0_PPO_Pendulum-v1.ipynb