我正在尝试为控制系统编写自适应控制器,即使用Q学习的电源管理系统。我最近为推车杆系统实施了玩具RL问题,并根据Andrew NG的说明制定了直升机控制问题。我理解在这种情况下价值函数逼近是如何必要的。然而,这两个流行的例子都具有非常少量的可能的离散动作。我有三个问题:
1)如果您没有少量离散行动,处理此类问题的正确方法是什么?我的行为和状态的维度似乎已经被炸毁,学习看起来很糟糕,这让我想到了下一个问题。
2)如何衡量代理商的表现?由于奖励随动态环境而变化,因此在每个时间步骤我都无法决定连续RL代理的性能指标。与gridworld问题不同,由于巨大的状态 - 动作对,我无法检查Q值表,我怎么知道我的行为是最优的?
3)因为我有一个随时间演变的模型。状态= [Y,U]。 Y [t + 1] = aY [t] + bA,其中A是动作。 为操作A选择离散化步骤也会影响我对状态变量Y进行离散化的准确程度。如何选择离散化步骤? 非常感谢!
答案 0 :(得分:3)
您可以使用连续动作强化学习算法,完全避免离散化问题。我建议你看看CACLA。 至于表现,您需要在关闭学习的情节中测量您的代理人累积的奖励。由于您的环境是随机的,因此需要进行多次测量并对其进行平均。
答案 1 :(得分:2)
查看政策搜索算法。基本上,他们直接学习没有显式值函数的参数策略,从而避免了为连续动作逼近Q函数的问题(例如,不需要动作空间的离散化)。
最简单,最早的策略搜索算法之一是策略渐变。查看here,了解有关该主题的快速调查。关于政策搜索的调查here(目前,有更多近期技术,但这是一个非常好的起点)。 在控制问题的情况下,你可以看到一个非常简单的玩具任务Linear Quadratic Gaussian Regulator (LQG)。 Here您可以找到包含此示例的讲座,还可以找到政策搜索和政策渐变的介绍。
关于第二点,如果您的环境是动态的(即转换功能的奖励功能(或两者)随时间而变化),那么您需要查看非静态策略。这在RL中通常是一个更具挑战性的问题。