diff --git a/docs/chapter5/chapter5_questions&keywords.md b/docs/chapter5/chapter5_questions&keywords.md index 95318b0..39bbd2d 100644 --- a/docs/chapter5/chapter5_questions&keywords.md +++ b/docs/chapter5/chapter5_questions&keywords.md @@ -29,3 +29,21 @@ 答:本质来说,KL divergence是一个function,其度量的是两个action (对应的参数分别为$\theta$ 和 $\theta'$ )间的行为上的差距,而不是参数上的差距。这里行为上的差距(behavior distance)可以理解为在相同的state的情况下,输出的action的差距(他们的概率分布上的差距),这里的概率分布即为KL divergence。 + +## 3 Something About Interview + +- 高冷的面试官:请问什么是重要性采样呀? + + 答:使用另外一种数据分布,来逼近所求分布的一种方法,算是一种期望修正的方法,公式是: + $$ + \int f(x) p(x) d x=\int f(x) \frac{p(x)}{q(x)} q(x) d x=E_{x \sim q}[f(x){\frac{p(x)}{q(x)}}]=E_{x \sim p}[f(x)] + $$ + 我们在已知 $q$ 的分布后,可以使用上述公式计算出从 $p$ 分布的期望值。也就可以使用 $q$ 来对于 $p$ 进行采样了,即为重要性采样。 + +- 高冷的面试官:请问on-policy跟off-policy的区别是什么? + + 答:on-policy:生成样本的policy(value function)跟网络更新参数时使用的policy(value function)相同。典型为SARAS算法,基于当前的policy直接执行一次动作选择,然后用这个样本更新当前的policy,因此生成样本的policy和学习时的policy相同,算法为on-policy算法。该方法会遭遇探索-利用的矛盾,光利用目前已知的最优选择,可能学不到最优解,收敛到局部最优,而加入探索又降低了学习效率。epsilon-greedy 算法是这种矛盾下的折衷。优点是直接了当,速度快,劣势是不一定找到最优策略。 + +- 高冷的面试官:请简述下PPO算法。其与TRPO算法有何关系呢? + + 答:PPO算法的提出:旨在借鉴TRPO算法,使用一阶优化,在采样效率、算法表现,以及实现和调试的复杂度之间取得了新的平衡。这是因为PPO会在每一次迭代中尝试计算新的策略,让损失函数最小化,并且保证每一次新计算出的策略能够和原策略相差不大。具体来说,在避免使用important sampling时由于在 $\theta$ 下的 $p_{\theta}\left(a_{t} | s_{t}\right)$ 跟 在 $\theta'$ 下的 $ p_{\theta'}\left(a_{t} | s_{t}\right) $ 差太多,导致important sampling结果偏差较大而采取的算法。