多智能体环境中的收敛

人工智能 q学习 多代理系统 dqn
2021-10-31 05:25:44

我有一个多代理环境,代理正在尝试优化其团队的整体能源消耗。代理可以在他们自己之间交换能量(交换能量的动作包括 - 请求、拒绝请求、授予),它们从可再生资源中产生并存储在各自的电池中。总体目标是减少使用不可再生能源的能源。

所有代理均使用 DQN 构建。所有 (S,A) 对都存储在重放内存中,在更新权重时提取这些对。

奖励函数是这样建模的——如果在这一集结束时,代理组从不可再生资源中的消耗量小于上一集,则所有代理都将获得 +1 奖励。如果不是,则为-1。一集(迭代)由 100 个时间步组成,之后计算奖励。我在每一集之后更新权重。

在情节结束时获得的奖励用于计算情节中所有(S,A)对的误差,即我以相同的奖励奖励该情节中的所有(S,A)。

我的问题是代理无法学习最佳行为来减少不可再生资源的整体能源消耗。该组的整体消费在波动,即有时增加有时减少。它与奖励功能有关吗?还是 Q 学习,因为环境是动态的?

1个回答

它与奖励功能有关吗?

这在我看来很可能。你选择了一个不同寻常的奖励,因为它可以交叉连接剧集。以这种方式针对先前情节行为的结果优化行为并不是真正的强化问题。如果您在锦标赛风格选择中拥有针对相同环境的竞争团队,这可能是进化健身环境的一种选择。

强化学习应该尽可能直接地衡量你的目标。在这种情况下,您希望最小化一些标量,这显然是作为负奖励的候选者。所以奖励应该是不可再生能源消耗总量的负数。理论上任何单个情节的最大可能值为零。

您可能仍然会遇到使用 Q-learning 振荡的多智能体设置的问题,这取决于每个智能体查看完整相关状态的程度,以及您是否同时训练多个不同的智能体(更有可能出现振荡) ,或在每个环境中具有多个实例的单一类型的代理(不太可能振荡,但如果它对其他代理所经历的环境的看法过于模糊,仍然可以)。但是像你在这里做的那样有一个共同的目标和共同的奖励,理论上应该有助于稳定。