Q-Learning 的图形结果:是否可以通过参数调整进行改进?

数据挖掘 强化学习 q学习
2022-03-09 03:09:55

从左到右:

  • 动作选择的最大 Q 值(平均)
  • 训练误差(平均)
  • 环境奖励(平均)

在此处输入图像描述

我运行双 Q 学习。

行为策略是 ε-greedy,ε 常数衰减到 0.1。

我使用学习率衰减如下:

learning.rate = start_learn_rate / log(counter + 1), #decaying learning rate

optimizer = 'sgd'
start_learn_rate = 0.001

我观察到平均奖励在达到最大值后会下降,从高到低有明显的振荡行为。

此图表是 TD (Q) 学习程序的典型特征吗?

您能否建议可以更改哪些参数以稳定结果?

为什么模型会这样?当 Q 稳定时,他们不应该暴露稳定的行为吗?

环境、代理行为和奖励结构

我的任务非常具体。我对应用于生成时间序列的过程的动作序列进行建模,以进行预测之类的事情。

在此处输入图像描述

观察正弦函数(时间序列)。代理从它的过去获取有关该过程的滞后值(和一些工程特征)的信息。环境的另一部分由一系列 PAST 动作(即过去 10 个动作)组成。

行动是:

  • 购买(绿色)
  • 保持(黑色)
  • 卖出(红色)

当条件满足时产生回报(奖励的基础):

  • 买入 -> 卖出(平仓并立即进入卖出)
  • 卖出 -> 买入(平仓并立即进入买入)
  • 买入 -> 持有(关闭买入并等待下一步行动)
  • 卖出 -> 持有(关闭卖出并等待下一步行动)

当智能体保持从山丘到山谷的一系列单一类型动作时,回报最大(等于 2),对于其他标志位置反之亦然。

在此图表中,您可以看到在底部图中,代理在大多数情况下学会了正确猜测方向,但回报并未最大化到 2 的值。

我的目标不仅仅是观察学习统计数据,而是通过进一步的探索和策略细化,找到适用于样本外数据的最优策略。

我的直觉猜测是,当智能体接近最优并被迫逃离该区域时,学习率太高了:

在此处输入图像描述

更新

我在我的玩具任务中得到了几乎完美的最优策略解决方案,但是,神经网络不是很稳定,我必须手动选择停止学习的时刻。

这是系统在训练期间的演变方式:

在此处输入图像描述

再一次,似乎在某个时候达到了最优性(随后出现波动)。

智能体的学习行为:

在此处输入图像描述

请注意,在 aprx 之后。30 000 次迭代后,anent 开始做出明确的动作序列,从而获得最大化的奖励。

在测试中(使用贪婪的动作选择),行为是:

在此处输入图像描述

测试交易也很清楚(虽然不完美):

在此处输入图像描述

有两点我想改进:

  • 学习的停止标准
  • 测试期间最大 Q 和平均回报(和回报总和)的稳定性。
0个回答
没有发现任何回复~