1. 不打破数据相关性,神经网络的训练效果为什么就不好?
在神经网络中通常使用随机梯度下降法。随机的意思是我们随机选择一些样本来增量式的估计梯度,比如常采用batch训练。如果样本是相关的,那就意味着前后两个batch很可能也是相关的,那么估计的梯度也会呈现出某种相关性。如果不幸的情况下,后面的梯度估计可能会抵消掉前面的梯度量,从而使得训练难以收敛。
2. DQN都有哪些变种?引入状态奖励的是哪种?
DQN三个经典的变种:Double DQN、Dueling DQN、Prioritized Replay Buffer。
Double-DQN:将动作选择和价值估计分开,避免价值过高估计。
Dueling-DQN:将Q值分解为状态价值和优势函数,得到更多有用信息。
Prioritized Replay Buffer:将经验池中的经验按照优先级进行采样。
3. 简述double DQN原理?
double DQN将动作的选择和动作的评估分别用不同的值函数来实现。
动作的选择:选择该状态下动作值函数最大的动作,即
a
∗
a^{*}
a∗。动作的选择所用的动作值函数:
arg
max
a
Q
(
S
t
+
1
,
a
;
θ
t
)
\arg \max _{a} Q\left(S_{t+1}, a ; \theta_{t}\right)
argmaxaQ(St+1,a;θt)
动作的评估:选出 a ∗ a^{*} a∗后,利用 a ∗ a^{*} a∗处的动作值函数构造TD目标,TD目标公式为: Y t = R t + 1 + γ Q ( S t + 1 , arg max a Q ( S t + 1 , a ; θ t ) ; θ t ′ ) Y_{t}=R_{t+1}+\gamma Q\left(S_{t+1}, \arg \max _{a} Q\left(S_{t+1}, a ; \theta_{t}\right) ; \theta_{t}^{\prime}\right) Yt=Rt+1+γQ(St+1,argmaxaQ(St+1,a;θt);θt′)
4. 策略梯度方法中基线baseline如何确定?
无论baseline的表达式是怎样,减去基线的梯度估计仍然是无偏估计,不影响梯度的均值。但由方差定义可知,减去基线后括号中的平方的均值减小了,因此方差变小了。
5. 什么是DDPG,并画出DDPG框架结构图?
DDPG是一种使用 Actor Critic 结构,但是输出的不是行为的概率,,而是具体的行为,用于连续动作的预测。
6. actor-critic框架中的critic起了什么作用?
Critic 基于Actor的行为评判行为的得分,Actor根据Critic的评分修改选行为的概率。
7. 简述A3C算法?A3C是on-policy还是off-policy,为什么?
A3C通过创建多个agent,在多个环境实例中并行且异步的执行和学习。
强化学习如何用在推荐系统中?
推荐场景中奖赏函数如何设计?