我应该将我的问题建模为半 MDP 吗?

人工智能 强化学习 马尔可夫决策过程 半mdp 分层rl
2021-11-03 08:08:30

我有一个系统(如银行),人们(客户)通过泊松过程进入系统,因此人们(两个连续客户)到达之间的时间将是一个随机变量。问题的状态仅与系统(银行)有关,在系统内部进行的操作可以是例如是否提供客户促销(仅基于系统的状态,而不是客户的状态)。

为了通过 RL 对问题进行建模,1)可以将时间范围离散化为非常短的时间间隔(例如 5 分钟作为一个阶段),这样在每个时间间隔内,只有一个客户进入我们的系统。另一方面,2) 阶段可能被定义为客户进入我们系统的时间。

我的问题是:

  1. 第二种方法是半 MDP (SMDP) 吗?如果我想用 RL 解决它,我应该使用分层 RL吗?

  2. 在第一种方法中,如果客户进入某个时间间隔,则很容易更新 Q 值。但是,如果我们处于状态,我们该怎么办小号并采取行动一个,但没有客户进入我们的系统,所以我们没有收到任何奖励(小号,一个)? 如果我们采取行动就没有区别一个1,一个2, 等等。这可能在几个连续的时间间隔内发生。我认为当我们考虑资格痕迹时更具挑战性。

1个回答

通过 RL 对问题进行建模,

  1. 可以将时间范围离散化为非常短的时间间隔(例如 5 分钟作为一个阶段),这样在每个时间间隔内,只有一个客户进入我们的系统。
  2. 另一方面,阶段可能被定义为客户进入我们系统的时间。

1) 第二种方法是 SMDP,如果我想用 RL 解决它,我应该使用分层 RL?

您所描述的第二种方法对我来说听起来不像 SMDP……对我来说听起来像常规 MDP,其中 MDP 中的离散时间步长与现实世界中的实际时间不再有任何有意义的联系-正在建模的世界问题。如果客户之间的长时间“不活动”无关紧要和/或如果您不希望您的行为对这些不活动期的持续时间产生任何影响,我建议采用这种方法。

如果您确实希望您的行为对不活动的持续时间产生有意义的影响,我不会推荐这种方法。例如,您的行为可能会激怒客户并降低他们快速返回的可能性。或者,由于您的客户群之间的互动,您的行为可能会间接影响其他客户访问的可能性,他们可能会也可能不会根据您的行为向他们的朋友推荐您的银行。


2)在第一种方法中,如果客户在一个时间间隔内进入,很容易更新-价值观。但是,如果我们处于状态,我们该怎么办小号并采取行动一个但是,没有客户进入我们的系统,所以我们没有收到任何奖励(小号,一个)如果我们采取行动就没有区别一个1,一个2等等。这可能在几个连续的时间间隔内发生。我认为当我们考虑资格追踪时更具挑战性。

我实际上会争辩说,您的第一种方法可以被视为 SMDP,并且这样做可能是一个好主意(我个人更喜欢Options 框架,它比 SMDP 更通用一点,更灵活一点,而且有点更接近“标准”RL 术语;goole 上也有很多该论文的免费版本)。

每当您遇到客户时,您都可以在 SMDP 中选择一个选项(或“宏操作”),它会为您当前的客户执行一次“真实”操作,然后被迫自动选择无操作操作(即什么都不做)直到下一位顾客到来;这是您上一个选项结束的时间点,并且可以选择一个新选项。

一种在 SMDP/层次级别上运行的 RL 算法,即只学习优化选项/宏动作的选择并完全跳过所有强制无操作动作的算法就足够了。这基本上是从客户交互中进行并发强化学习中描述的方法。