文章 "神经网络变得轻松(第四十八部分):降低 Q-函数高估的方法"

 

新文章 神经网络变得轻松(第四十八部分):降低 Q-函数高估的方法已发布:

在上一篇文章中,我们概述了 DDPG 方法,它允许在连续动作空间中训练模型。然而,与其它 Q-学习方法一样,DDPG 容易高估 Q-函数的数值。这个问题往往会造成训练代理者时选择次优策略。在本文中,我们将研究一些克服上述问题的方式。

在利用 DQN 方法及其衍生品训练各种模型时,经常会出现高估 Q-函数值的问题。这是具有离散动作的两种模型在连续动作空间求解的特征。这种现象的原因,以及消除其后果的方法会因人而异。故此,解决这个问题的一套综合方式很重要。2018 年 2 月发表的文章“解决扮演者—评论者方法中的函数逼近误差”中提到过一种方式。它提议一种称为“孪生延迟深度判定性策略梯度(TD3)”的算法。该算法是 DDPG 的逻辑延续,并对其进行了一些改进,从而提高了模型训练的品质。

首先,作者增加了第二个评论者。这个思路并不新鲜,以前曾用于离散动作空间模型。然而,针对第二位评论者的参与,该方法的作者奉献了他们的理解、愿景和方式。

这个思路是,两个评论者都以随机参数进行初始化,并基于相同数据并行训练。采用不同的初始参数初始化后,它们从不同的状态开始训练。但两位评论者都基于相同数据训练,因此他们应该朝着相同的(期待的全局)最小值迈进。在训练过程中,他们的预测结果会聚合,这是很自然的。不过,由于各种因素的影响,它们并不会完全雷同。他们中的每一个都存在高估 Q-函数的问题。但在某个时间点,一个模型会高估 Q-函数,而第二个模型则会低估它。即使两个模型都高估了 Q-函数,一个模型的误差也会小于第二个的误差。基于这些假设,该方法作者建议使用最小预测来训练两个评论者。因此,我们把学习过程中高估 Q-函数的影响和积累的误差最小化。

我们继续训练和测试获得的结果。如常,这些模型是基于 2023 年 1 月至 5 月的 EURUSD H1 历史数据上训练的。指标参数和所有超参数均设置为默认值。

训练时间冗长且反复。在第一阶段,创建了一个包含 200 条轨迹的数据库。第一个训练过程运行了 1,000,000 次迭代。评论者参数迭代更新十次后,扮演者的政策更新一次。评论者更新每 1,000 次迭代后,都会对目标模型进行软更新。


之后,另有 50 条轨迹添加到样本数据库中,并启动了模型训练的第二阶段。同时,更新扮演者和目标模型之前的迭代次数分别减至 3 次和 100 次。

经过大约 5 次训练循环(每次循环添加 50 条轨迹),获得了一个能够在训练集上产生利润的模型。经过 5 个月的训练样本,该模型能够获得近 10% 的收入。这不是最好的结果。进行了 58 笔业务。盈利的份额接近微薄的 40%。盈利系数 - 1.05,恢复系数 - 1.50。由于可盈利持仓规模,达成了盈利。一笔交易的平均利润是平均亏损的 1.6 倍。对于一笔交易操作最大利润是最大损失的 3.5 倍。

作者:Dmitriy Gizlyk