Deep learning 深Q网络中的拟合步长

Deep learning 深Q网络中的拟合步长,deep-learning,reinforcement-learning,Deep Learning,Reinforcement Learning,我不明白为什么dqn和经验重播算法会对给定情节中的每一步执行梯度下降步骤?这只适合一步,对吗?这将使它非常缓慢。为什么不在每一集结束后或每次克隆模型时?在最初的论文中,作者将一个样本推送到体验重播缓冲区,并随机抽取32个转换,以小批量方式训练模型。从与环境交互中获取的样本不会直接馈送到模型。为了提高训练速度,作者每一步存储样本,但每四步更新一次模型 使用OpenAI的;这种单进程方法可以使用一个GPU在2.5小时内掌握像Atari Pong(Pong-v4)这样的简单游戏。当然,这种单进程方式的

我不明白为什么dqn和经验重播算法会对给定情节中的每一步执行梯度下降步骤?这只适合一步,对吗?这将使它非常缓慢。为什么不在每一集结束后或每次克隆模型时?在最初的论文中,作者将一个样本推送到体验重播缓冲区,并随机抽取32个转换,以小批量方式训练模型。从与环境交互中获取的样本不会直接馈送到模型。为了提高训练速度,作者每一步存储样本,但每四步更新一次模型

使用OpenAI的;这种单进程方法可以使用一个GPU在2.5小时内掌握像Atari Pong(Pong-v4)这样的简单游戏。当然,这种单进程方式的培训会使多核、多GPU(或单GPU)系统的资源未得到充分利用。因此,在新的出版物中,行动选择和模型优化是解耦的。他们使用多个“参与者”同时与环境交互,使用单个GPU“精简器”优化模型,或使用多个GPU上的多个模型优化多个精简器。Deepmind的Apex DQN()方法中描述了多参与者单学习者,而()中描述了多参与者多学习者。当使用多个学习者时,跨流程共享参数变得至关重要。Deepmind的PDQN()中描述的旧路线是在DQN和A3C之间提出的。然而,这项工作完全是在CPU上完成的,因此它看起来使用了大量的资源,其结果很容易被PPAC的基于GPU的批量操作选择方法所超越

你不能在每一集结束时都进行优化,因为集的长度不是固定的,模型越好,通常会导致更长的集步。模型的学习能力会随着性能的提高而降低。学习进度将不稳定

我们也不会只在目标模型克隆上训练模型,因为引入目标是为了通过保留一组较旧的参数来稳定训练过程。如果仅更新参数克隆,则目标模型的参数将与模型相同,这将导致不稳定。因为,如果我们使用相同的参数,一个模型更新将导致下一个状态具有更高的值

在Deepmind 2015年的《自然》杂志上,它指出:

在线Q-学习的第二个修改旨在进一步提高我们的神经网络方法的稳定性,即使用单独的网络在Q-学习更新中生成目标yj。更准确地说,每次C更新,我们克隆网络Q以获得目标网络Q’,并使用Q’为Q的后续C更新生成Q学习目标yj。 与标准在线Q-学习相比,这种修改使得算法更加稳定,其中增加Q(st,at)的更新通常也会增加所有a的Q(st+1,a),因此也会增加目标yj,可能导致策略的振荡或发散。使用较旧的参数集生成目标会在对Q进行更新的时间与更新影响目标yj的时间之间增加延迟,从而使发散或振荡的可能性大大降低