Artificial intelligence 学习分层强化任务的结构

Artificial intelligence 学习分层强化任务的结构,artificial-intelligence,machine-learning,reinforcement-learning,Artificial Intelligence,Machine Learning,Reinforcement Learning,我一直在研究分层强化学习问题,虽然许多论文提出了学习策略的有趣方法,但他们似乎都假设他们事先知道描述域中动作的图形结构。例如,Dieterich为一个简单的滑行域描述了一个复杂的动作和子任务图,但没有描述这个图是如何被发现的。您将如何了解此图表的层次结构,而不仅仅是策略?假设有一个代理正在做一些事情。你不知道它的内部目标(任务图)。你如何推断它的目标 在某种程度上,这是不可能的。就像我不可能知道当你放下那个盒子时你的目标是什么一样:也许你累了,也许你看到了一只杀人蜂,也许你不得不小便 您正在尝试

我一直在研究分层强化学习问题,虽然许多论文提出了学习策略的有趣方法,但他们似乎都假设他们事先知道描述域中动作的图形结构。例如,Dieterich为一个简单的滑行域描述了一个复杂的动作和子任务图,但没有描述这个图是如何被发现的。您将如何了解此图表的层次结构,而不仅仅是策略?

假设有一个代理正在做一些事情。你不知道它的内部目标(任务图)。你如何推断它的目标

在某种程度上,这是不可能的。就像我不可能知道当你放下那个盒子时你的目标是什么一样:也许你累了,也许你看到了一只杀人蜂,也许你不得不小便

您正在尝试为代理的内部目标结构建模。为了做到这一点,你需要一些指导,关于什么是可能的目标集,以及这些目标是如何通过行动来体现的。在研究文献中,这一问题已经在术语“计划识别”下进行了研究,也使用了POMDP(部分可观察马尔可夫决策过程),但这两种技术都假设您确实了解其他代理的目标


如果你对它的目标一无所知,你所能做的就是推断出上面的一个模型(这就是我们人类所做的。我想其他人也有和我一样的目标。我从来没有想过,“哦,他把笔记本电脑掉了,他一定准备生蛋了”cse,他是人类。)或者将其建模为一个黑匣子:一个简单的状态到动作函数,然后根据需要添加内部状态(嗯,一定有人就此写了一篇论文,但我不知道是谁写的)。

在Dieterich的MAXQ中,该图是手动构建的。这被认为是系统设计者的一项任务,就像设计一个表示空间和奖励函数一样

根据您试图实现的目标,您可能希望自动分解状态空间,学习相关功能,或者将经验从简单任务转移到更复杂的任务


我建议你开始阅读你链接到的MAXQ文件。如果不知道你到底想要实现什么,我不能很有条理(我也不是目前所有RL研究的顶尖人物),但你可能会在罗、贝尔和麦科勒姆的工作或马登和霍利的论文中找到相关的想法。

本文介绍了一种方法,这是一个很好的起点:

N.Mehta、S.Ray、p.Tadepalli和T.Dieterich。自动发现和传输MAXQ层次结构。在2008年国际机器学习会议上


您也可以尝试在此处发布您的问题:我们是否可以对您想要学习分层强化结构的场景有更多的了解?或者这是一个一般性的问题?@Chris您所谈论的主题可能被归类为AI规划的层次学习。一篇相关的论文是(但这不是专门针对层次学习的)。本文假设预先提供了一组基本动作(就像您提到的向左移动等)。这个主题是高级的——有关人工智能规划的基础知识,请参考Russell和Norvig的书。我参加这个聚会有点晚了,但是如果你搜索MAXQ层次结构的自动归纳(或发现),你会发现一些好东西。很多人都在这方面工作。在我的谷歌搜索变得非常有创意之后,我终于找到了。它似乎是一篇硕士论文的结果,用C++编写,4年来一直没有被维护,但似乎包含了一个使用出租领域的分层强化学习例子。我无法确定它使用的是什么特定算法。在我所指的问题中,代理还没有任何内部目标。我在问代理如何了解it目标和子目标的层次结构。在我提到的论文中,这个层次结构是预定义的。如果它不是预定义的,并且代理只能执行原始操作,那么它将如何学习层次结构以加快它的规划和学习?啊,那么,你的意思是,如何编写一个代理来学习更高级的概念,例如“最近的乘客”…这很难。这个问题让人想起了SOAR小组在“分块”以及基于案例推理和基于解释的学习领域所做的工作(但它们仍然需要领域理论)。