好的,在本次演讲中,我将讨论广义Expected Sarsa算法的一种通用形式。该算法自2011年提出以来,实际上并未引起太多关注。因此,我将重点介绍其灵活性,并希望借此开启关于如何实际利用这种灵活性的讨论。今天所提出的所有算法均基于查表法(table lookup case),并采用一步学习机制。我将从一些背景信息开始介绍,我们将问题表述为马尔可夫决策过程(MDP),其中智能体根据策略π采取行动,并与环境交互,从状态转移到新状态并获得数值奖励。
在强化学习控制中,有两种方法可以解决MDP问题:一是Sarsa算法,二是Q-learning。Sarsa是一种同策略(on-policy)控制方法,因为它根据与其正在评估的行为策略μ相同的策略π进行行为。也就是说,Sarsa的行为策略μ等于其正在评估Q值的策略π。而另一方面,Q-learning是一种异策略(off-policy)控制方法,因为其行为依据是μ,但同时评估的是一个贪婪策略。这是由于最大化操作所致。
我要列举的一个著名控制算法是Expected Sarsa,它最早由Richert和Andrews在1988年提出。虽然那本教科书仅将其作为一道练习题,但如果我们检查动作价值更新的目标(target),我们会发现目标策略π不必与行为策略μ相同。因此,我们可以将Expected Sarsa设置为同策略或异策略。当它是同策略时,μ等于π;但我们不想止步于此以进行推广,我们希望更加通用:如果我们实际上不固定目标策略,而是允许它随时间步变化,那么我们将拥有一个策略序列来替代单一的固定策略π。
同样地,我们也用一个策略序列来替代单一固定的行为策略μ。这样做有什么理由吗?当然可以!这种形式的广义Expected Sarsa实际上会退化为Sarsa:如果状态-动作对(s_t, a_t)和s_{t+1}是根据针对同一状态-动作对的行为策略μ采样的,并且我们将π_t设置为该状态下的确定性策略(即概率为1),那么这实际上就退回到了Sarsa。
而对于Q-learning,如果我们选择π_t相对于当前的Q值来说是贪婪的,我们就得到了Q-learning。广义Expected Sarsa比嵌套式Q-learning(nested Q-learning)更通用,因为如果你使用它们进行Sarsa更新——抱歉,Sarsa评估的策略也是遵循导致动作价值变化的行为策略。这相当缺乏灵活性,因为Sarsa迫使我们在下一个状态选择一个特定的动作来进行动作价值更新,但随后我们也被迫在下一步中坚持该动作。在这种情况下,动作价值更新与智能体的行为并未分离。
相比之下,Expected Sarsa可以在异策略设置中使用,其中动作价值的更新不受行为策略的限制。行为可以是任意的,同时评估感兴趣的目标策略。而Q-learning则允许智能体根据与其实际正在评估的策略不同的策略进行行为,因此动作价值更新与行为之间存在分离。但是,Q-learning的更新要求对下一时刻的动作值进行最大化操作,而Expected Sarsa则不限于此。
我可以在下一个状态的所有动作上始终赋予非零概率,这赋予了Sarsa一般的通用性和灵活性。因此,广义Expected Sarsa将动作价值更新与智能体的行为分离开来。这意味着智能体可以采取非常探索性的方式行事,同时学习不同的内容;并且为我们提供了选择目标策略的灵活性,该目标策略不一定相对于动作值是贪婪的。
实际上,“不固定目标策略和行为策略”的想法已经存在一段时间了,但我很少见到在这种设置下使用该算法。广义Expected Sarsa实际上最早由Inka在2011年(或2010年后)的博士论文中提及。他称之为“广义Q-learning”。我没有使用他的术语,是因为我不想把注意力吸引到对下一时刻动作的最大化上;我想引起大家对下一个状态动作期望值的关注。
在广义Q-learning中,已经证明对于任何行为和策略组合,只要行为策略导致无限探索(infinite exploration),且目标策略在极限情况下是贪婪的,该算法就会收敛到最优策略。我所说的“无限探索”是指状态-动作对被无穷多次访问;而“贪婪”是指策略总是选择与最大动作值相关联的动作。
以下是使目标策略变得贪婪的一些建议:第一种方法是使用具有非递增序列ε_t的ε-贪婪策略。在这种情况下,我们可以选择一个衰减至零的序列ε_t,并选择π_t为距离贪婪策略π_*(Q_t)有ε_t差距的策略。这里的π_Qt实际上是相对于动作值Q的贪婪策略。这是使目标策略潜在地变得贪婪的一种方式。
另一种方法是使用具有非递减温度(即β_t衰减至零)的Softmax策略。还有Perkins和Precup在2002年论文中提出的更复杂的方法,也可能适用于此场景。但是,使目标策略贪婪确实给了我们一个变化的目标策略序列;然而,是否只有在极限情况下才应使目标策略变得贪婪?这是唯一的方法吗?
例如,如果世界在某些时期是平稳的(stationary),然后发生变化呢?当世界变化时,智能体学习到了最优动作值;但当世界改变时,如果目标策略相对于上一个世界的目标策略动作值更具探索性而非贪婪性,学习将会受益。
另一个也许更有说服力的例子是当我们要处理多个目标时:我们需要在两个或多个相互冲突的目标之间进行权衡,并受到这些目标的组合可实现性的约束。例如,在自动驾驶汽车中,如果我们想最小化事故风险的同时最大化驾驶体验呢?在购买房屋时,如果我们想在最小化街道噪音成本的同时最大化建筑面积和便利性呢?
这些在经济学中都是相互冲突的目标。消费者对各种商品的需求,取决于在收入限制和商品价格约束下最大化从这些商品中获得的效用。理想情况下,我们希望消费更多的每种商品,但由于资源有限,我们只能增加一种商品的消费量,例如允许更多购买Wimmer到Dice(注:此处为语音识别误差,可能指某种具体商品或概念),同时牺牲其他多种商品的消费。因此,各种目标在此意义上相互冲突。这在许多现实世界情况中都是真实的,我们不能在不降低其他目标的情况下同时最小化或最大化所有目标。因此,“贪婪”的概念在某种意义上并不能真正捕捉到这一点。
基于此,我想思考如何实际制定一个目标策略π_t。总之,我认为广义Expected Sarsa比我们的Sun Q-learning更具灵活性,因此期望Sarsa在该领域具有更多值得研究的优势。我们希望能主要利用其灵活性,也许有一天能说服社区使用广义Expected Sarsa代替Q-learning。我们认为,将策略搜索方法与广义Expected Stars(注:应为Sarsa)结合可能是一种强大的方法,以实现更好的整体决策。
由于时间关系,我还有多少时间?我只剩10分钟了。最后一点我想引起大家注意的是:广义Expected Sarsa实际上发生了什么?这是我想要思考的第二个问题,即Sarsa是策略迭代和价值迭代之间的桥梁。我们有两种解决马尔可夫决策过程(MDP)的动态规划方法,即两个非常经典的范式:策略迭代和价值迭代。
一方面,策略迭代对某个策略进行若干次评估,然后根据动作值重新制定该策略。另一方面,Sarsa结合了策略改进和策略评估,在一次价值更新中完成这两者。虽然策略迭代将评估和策略改进分为两个不同的阶段,但价值迭代有效地混合了这两个过程。我们可以看到Sarsa在某种程度上是策略迭代的随机版本,至少是其评估部分;而Q-learning则是价值迭代的一种随机版本。
但广义Expected Sarsa可能在这两者之间做点什么,也许是在策略迭代或价值迭代之间。例如,我们可以固定π_t并对π_t进行若干次评估,然后根据动作值制定新策略,并改进该策略的评估若干次,重复此过程直到策略稳定。这必须类似于策略迭代;或者我们可以在每个时间步后根据动作值改进π_t,甚至可能使用更贪婪的策略(如Q-learning所做的那样),这在本质上非常类似于价值迭代。
因此,随着广义Expected Sarsa的引入,策略迭代和价值迭代可能在某种程度上得到推广。我刚才思路断了……是的,我记得看到过行为策略。当你说“这里选择”时,因为我有侄女……不,我是Trudy(注:语音识别误差)。Sarsa可以被视为一种策略评估方案,然后你可以将其视为动作值学习的更迭代表(TD)版本。接着,你可以根据从Sarsa学到的值进行策略改进。
我说它更通用、更灵活,不仅仅是Sarsa。你也可以从具有……是的,没错,但你在改变它。然而,它不再具备分离性,不再有目标策略的概念了,对吧?Sarsa是因为你正在评估你所遵循的同一策略。所以如果你采取贪婪行动,你的行为也必须是贪婪的;因为如果你在评估更贪婪的策略,你的行为也必须相应改变。
好的,这里没有承认这一点,但有没有理由我不使用它?比如用Expected Sarsa替换DQN(深度Q网络)中的Q值更新?
用这个替换TQM与Q&D排队……是可能的。我的意思是,在网络本身方面还有其他考虑因素。我还不确定这一点,但是的。这是一个非常好的问题。有一个引用提到一个小领域的问题……是一个模拟领域,网格世界(Grid World)。我想跳到下一页幻灯片来深入探讨一下。这并不完全是答案,但也许……这里有一些历史背景。
在2009年的论文中,他实际上对Expected Sarsa进行了实证和理论调查。但他并没有完全以这种广义Expected Sarsa的形式使用它,他只是固定了策略,并将其视为一种在线算法。在那里有一个网格世界的例子,他说:“Expected Sarsa并不总是表现得像Q-learning。”但在非常随机的环境中……在图5或图6中(我不记得了),他说它表现得相当相似。你可以查看结果,没有统计显著性差异。
从这个意义上说,我可能会尝试通过改变策略来做这件事,也许使其在极限情况下变得更贪婪,并用这个问题进行测试。是的,我记得图6或类似的图中……也许非常接近,但我记不清是哪张图了。是的,没有区别。他在那篇论文中专注于比较Sarsa和Expected Sarsa,并指出Sarsa实际上……期望值具有更低的方差,因此表现优于Sarsa。论文的重点更多是比较Sarsa与Expected Sarsa,而不是Q-learning和Expected Sarsa。
我认为我们需要更具包容性地比较这三种算法。特别是如果我们正在改变目标策略……是的,这就是“贪婪度”发挥作用的地方。如果你使用Softmax或ε-贪婪策略,思考起来会有点困难,因为……
你正在同时改变你的动作价值,而在下一代中,你的策略相对于它也在发生变化。从这个意义上说,也许存在某种程度的离策(off-policy)成分?我不完全确定如何捕捉这种行为,目前也不清楚该如何思考它。不过,一种将策略作为Sarsa使用的方法是将其作为一种策略估值算法,然后基于它学习到的值进行改进步骤。这实际上是在Preproposals论文中由Perkins和Precup提出的,也在该论文中被提及。这种特定形式的Sarsa公式化被用于……不,不是这一篇,抱歉啊——哦,我想我没有那个参考文献。
是的,如果你喜欢推广我们做的第二来源和框架……我发现质量良好的电视和控制模拟是特定的。所以我无法想象任何其他基于重力的方法,那些都是这些碎片的集合。抱歉,我没太听懂你的问题,你能再说一遍吗?
虽然我并没有做出强烈的陈述,但我认为它的表现介于策略迭代和价值迭代之间。不过我还不确定如何捕捉这一点,比如如何表征它来肯定地说它实际上生成了这两样东西。这只是两种非常……你知道的,两种方法而已。因为如果我们不想被这两种学习模式以及动态规划(DP)所束缚呢?在这个意义上,广义Expected Sarsa可能会为我们提供更大的灵活性,因为π(策略)可以是相当任意的。嗯,也许在某些意义上不是完全任意……现在是这样吗?它可能是的。谢谢。(掌声)