训练完成后是否应该使用actor或actor-target模型进行预测(DDPG)?

人工智能 深度学习 强化学习 深度神经网络 q学习
2021-11-07 07:41:25

情况

我指的是论文TP Lillicrap 等人,“深度强化学习的持续控制”,他们在连续动作空间的背景下讨论深度学习(“深度确定性策略梯度”)。

基于 DPG 方法(“Deterministic Policy Gradient”,参见D. Silver 等人,“Deterministic Policy Gradient Algorithms”),它采用两个神经网络来逼近 actor 函数mu(s)和critic 函数Q(s,a),它们使用类似的结构。
然而,他们发现的一个特征是,为了使学习收敛,需要有两个额外的“目标”网络mu'(s)Q'(s,a)用于计算奖励的目标(“真实”)值:

y_t = r(s_t, a) + gamma * Q'(s_t1, mu'(s_t1))

然后在每个训练步骤之后w_mu', w_Q',使用实际权重w_mu, w_Q执行目标权重的“软”更新:

w' = (1 - tau)*w' + tau*w

哪里tau << 1根据论文

这意味着目标值被限制为缓慢变化,大大提高了学习的稳定性。

因此,目标网络mu'Q'用于预测其他两个网络在学习阶段尝试近似的预期奖励的“真实”(目标)值。

他们将训练过程概述如下:

DDPG素描

问题

所以我现在的问题是,在训练完成后,这两个网络中的哪一个mu应该mu'用于进行预测?

等效于训练阶段,我认为mu应该在没有探索噪声的情况下使用它,但由于它mu'在训练期间用于预测奖励计算的“真实”(无噪声)动作,所以我倾向于使用mu'.

或者这甚至重要吗?如果训练要持续足够长的时间,两个版本的演员不应该收敛到相同的状态吗?

2个回答

没关系,目标应该在足够长的训练后收敛到主网络。

所以我现在的问题是,训练完成后,应该使用 mu 或 mu' 这两个网络中的哪一个来进行预测?

训练“完成”后,使用 mu,即在线网络,因为这是你拥有的最新的 actor 网络。在最理想的情况下,mu' 将等于 mu。但如果你的训练真的完成了,mu = mu'。

等效于训练阶段,我认为 mu 应该在没有探索噪声的情况下使用,但由于在训练期间使用 mu' 来预测奖励计算的“真实”(无噪声)动作,我倾向于使用 mu '。

在训练阶段,当 mu 将状态映射到动作时,您必须使用探索噪声。Actor 是一个策略梯度,即基于策略迭代。所以它每次都会直接映射到一个动作。如果没有添加探索性噪声,它将每次都映射到相同的值,除非您更新网络权重。这意味着如果给你一些状态,s。如果没有探索噪音,actor 将始终输出相同的动作,并且永远不会探索。

mu' 仅用于 DDPG 的监督学习部分,它稳定了 2 个本质上相互训练的神经网络的训练。

想象一下这个问题:工厂里的一个工人和他的主管。工人和主管一开始都一无所知(初始化的神经网络)。工人的第一个动作是拿起一个 200 磅的箱子。主管然后积极地奖励他。因此,工人从中了解到,捡起重物=好。然后工人拿起另一个沉重的箱子,这次主管对他大喊大叫,因为主管知道这很危险。所以现在工人自己也是一头雾水,因为他不知道捡重物是好是坏,因为主管自己改变了主意。

在 DDPG 中,演员和评论家的行为方式相同。所以我们引入了目标网络来做到这一点,这样演员和评论家都不会不断改变主意,这样他们就可以真正学习东西。

或者这甚至重要吗?如果训练要持续足够长的时间,两个版本的演员不应该收敛到相同的状态吗?

这是正确的,但实际上,这是非常罕见的。