diff --git a/docs/chapter12/chapter12_questions&keywords.md b/docs/chapter12/chapter12_questions&keywords.md index aaef73f..cfb79d1 100644 --- a/docs/chapter12/chapter12_questions&keywords.md +++ b/docs/chapter12/chapter12_questions&keywords.md @@ -20,3 +20,31 @@ - 要输出离散动作的话,最后的output的激活函数使用 softmax 就可以实现。其可以保证输出是的动作概率,而且所有的动作概率加和为 1。 - 要输出连续的动作的话,可以在输出层这里加一层 tanh激活函数。其作用可以把输出限制到 [-1,1] 之间。我们拿到这个输出后,就可以根据实际动作的一个范围再做一下缩放,然后再输出给环境。比如神经网络输出一个浮点数是 2.8,然后经过 tanh 之后,它就可以被限制在 [-1,1] 之间,它输出 0.99。然后假设说小车的一个速度的那个动作范围是 [-2,2] 之间,那我们就按比例从 [-1,1] 扩放到 [-2,2],0.99 乘 2,最终输出的就是1.98,作为小车的速度或者说推小车的力输出给环境。 + + +## 3 Something About Interview + +- 高冷的面试官:请简述一下DDPG算法? + + 答:深度确定性策略梯度(Deep Deterministic Policy Gradient,简称 DDPG) 使用 Actor Critic 结构,但是输出的不是行为的概率,,而是具体的行为,用于连续动作的预测。优化的目的是为了将DQN扩展到连续的动作空间。另外,其字如其名: + + - Deep 是因为用了神经网络; + - Deterministic 表示 DDPG 输出的是一个确定性的动作,可以用于连续动作的一个环境; + - Policy Gradient 代表的是它用到的是策略网络。REINFORCE 算法每隔一个 episode 就更新一次,但 DDPG 网络是每个 step 都会更新一次 policy 网络,也就是说它是一个单步更新的 policy 网络。 + +- 高冷的面试官:你好,请问DDPG是on-policy还是off-policy,原因是什么呀? + + 答:off-policy。解释方法一,DDPG是优化的DQN,其使用了经验回放,所以为off-policy方法;解释方法二,因为DDPG为了保证一定的探索,对于输出动作加了一定的噪音,也就是说行为策略不再是优化的策略。 + +- 高冷的面试官:你是否了解过D4PG算法呢?描述一下吧。 + + 答:分布的分布式DDPG(Distributed Distributional DDPG ,简称 D4PG),相对于DDPG其优化部分为: + + - 分布式 critic: 不再只估计Q值的期望值,而是去估计期望Q值的分布, 即将期望Q值作为一个随机变量来进行估计。 + - N步累计回报: 当计算TD误差时,D4PG计算的是N步的TD目标值而不仅仅只有一步,这样就可以考虑未来更多步骤的回报。 + - 多个分布式并行actor:D4PG使用K个独立的演员并行收集训练样本并存储到同一个replay buffer中。 + - 优先经验回放(Prioritized Experience Replay,PER](https://arxiv.org/abs/1511.05952):使用一个非均匀概率 $\pi$ 从replay buffer中采样。 + + + +