河北建设厅网站设置,广州广建建设工程有限公司,做二手货车网站公司,学校网站平台建设来源#xff1a;混沌巡洋舰人工智能的一个核心问题#xff0c;是用已有的算法解决新的目标。对于人类来说#xff0c;最常用的方法是得到和目标最相近的子目标#xff0c; 子目标的子目标#xff08;比如饿了就要找吃的#xff0c;找吃的就要去菜市场买菜#xff09;混沌巡洋舰人工智能的一个核心问题是用已有的算法解决新的目标。对于人类来说最常用的方法是得到和目标最相近的子目标 子目标的子目标比如饿了就要找吃的找吃的就要去菜市场买菜直到和当下的状态连接起来 我们可以把这个过程叫做任务的拆解。人的人生就是这样一个把最终目标和前面的目标相连接的过程。当任务的拆解完成 我们无非需要组合已有学到的技术来形成一个完整的任务解决方案。这种能力是从我们婴儿阶段在玩耍中就会逐步学习到的。但是对于当下的机器学习 这个任务拆解能力是完全不具备的机器可以用强化学习的方式学习动作趋近目标但是这和任务拆解还距离甚远。这个挑战主要体现在几点 第一目标goal的定义并不明确 目标并不能完全等价于强化学习的奖励 – 某种外界设定的数值。而是内在的需求如生存与外部条件结合的结合这个神经过程目标依然是未知的。与强化学习的reward相比 这个生物的目标是随着时间改变的 不同的目标可能在你的大脑里进行竞争 这都比简单的数值reward复杂很多。其次有了目标之后如何得到子目标进行任务拆解和简化的神经过程不完全知道。对于人类和其它动物它可能是基于直觉的 可能你在潜意识里就已经拆分了一个复杂目标例如大猩猩拿起小树枝来吊蚂蚁吃也可能基于有目的的推理如你如何一步步的求解魔方问题 。那么如何让机器学习这种从一个目标当生成一个任务完成的子目标组成的流程图的能力呢这是人类通向通用智能的一个核心难点之一。打开这个任务的钥匙也多种多样 它体现着人类因果 逻辑推理等绝技。我们来看一些不同的角度1, 强化学习强化学习学习的是从行为到最终结果的关系 因此它非常关注如何根据一个总的目标把任务分解成功若干子目标。这类强化学习方法的一个基本解决称为hierachical RL-多层级强化学习 这个算法把强化学习分成很多个不同的子目标子目标又有下级的子目标 这样就一级一级的达到最基本的已经学过的动作。比如上图中的迷宫迷宫里分为很多不同的分区a 图中基本的结构 – 如障碍物是类似的。如果没有层级强化学习的概念那么这就是一个经典的MDP导航过程 东南西北是四个不同的可能动作。但是在这样的迷宫里来尝试学习这种任务其实是工作浩繁的但是如果我们仔细观察 这个迷宫里的分成很多非常类似的小段在这些小段里智能体的行为基本是重复不变的比如直线向前。因此一个更好的方法是把这样任务中相似的过程变成一个个如字母表中的字母一样的基本单元 如后退沿墙走选择停止。有了这些基本的技能字母我们需要的action就不再是东南西北 而是在那几个基本的技能之间做选择。这些技能就如同封建王朝里的一个个封臣 通过一个最终的目串起来 完成它们就可以完成整个任务。当然这里每个技能单元的完成你也可以看成子目标 学习串起它们的过程就是学习由一个个子目标构成整个任务的过程。另一类学习任务拆解的强化方法来自模仿学习也就是给你看一段视频你给它拆成不同的状态和动作单元。事实上一个非常有效的概念称为conjugate task graph这个工作同样是通过观看一段视频来提取其背后的任务结构NTG-Neural Task Graph 一个由Macro Action作为节点组成的图结构。每个macro action类似于刚刚在HRL中介绍的组合动作 之所之所以把action而不是state 作为graph的节点是因为往往macro action 具备更好的不变性 而state反而是更多变的 因此把state作为边恰好得到一个超图结构这样的方法有效的解决了组合爆炸的问题增加了学习效率。litterature: Reinforcement Learning with Hierarchies of Machines Neural Task Graphs: Generalizing to Unseen Tasks from a Single Video Demonstration Hierarchical Reinforcement Learning Based on Subgoal Discovery and Subpolicy Specialization但是无论是哪一种强化学习方法它可能都是和真实大脑里的过程有所差距。大脑是如何完成这一类对记忆过程的理解呢这里的关键算法在于我们神奇的情景记忆-episodic memory能力。2. 脑启发算法episodic memory如果从脑科学角度看对任务拆解的基础那么这个问题的核心一定是对事件的表征。事件(包含时间地点人物干什么) 代表了对时间的一个离散化 把连续的时间分解成一个个对我们的生成目的有意义的片段 比如开会吃饭这种。任何事件又可以分解成一系列子事件比如从你的屋子里出去走到室外去买菜这个过程就可以包含走出去上汽车买菜这些更基本的事件。这些子事件其实往往对应子任务或子目标。那么事件是如何被学习的呢人脑中一个事件学习的基础是episodic memory情景记忆在情景记忆里 我们经历的各种感知信息要被压缩成一个个符号通过一个时间戳组合成一个group挂载在海马体里这就是基本事件的由来我们通过这种拆解和组合就记住了一个过程。我们很容易发现这个过程的核心在于如何划分时间轴哪些时间段会被定义为开会另一些被定义为吃饭这个问题和predictive coding和场景切换都有关系。 复杂任务下经常包含不只一个场景 两个不同典型场景幕的切换通常对应 predictive memory model中预测误差的突变surprise来界定比如你走出一个场景你大脑中的连续预测必然被打破可以将这个突变点称为关键帧或关键点代表一个场景到另一个一个子任务到另一个子任务的切换两个关键点间通常定位为一个完整的事件。得到不同的完整事件后的关键问题在于一天中的事件实在太多了 难道每个事件都要一个个存储吗答案是否定的通常情况下 不同的事件会被比较有的比较类似的事件可以被去掉不必要的细节 压缩成同样的形态典型事件比如事件A。事件A可以盖上不同的时间戳得到A在不同时刻的表达。这个原理可以解释类似于Déjà vu似曾相识这样的心理现象 你见到一个新的场景被激活的其实是过去的某个典型事件 它就如同一张记录了地点人物特征这些关键信息的卡片需要被新的信息改写覆盖。因此虽然这个新事件你没有经历过 但是你感到似曾相识 因为被激活的旧的事件在剔除了细节后和新的事件就变得比较相似。有了事件的表征 我们的大脑其实在新的目标到来时候会根据当下的场景自动的匹配出曾经发生的事件 事件之后的事件这个我么可以称为叙事结构或历史的东西。通过历史我们就可以生成新的子目标和任务流程图。简单的说当下是过去的组合阳光之下并无新事。litterature:1 A predictive processing model of episodic memory and time perception2 Episodic Reinforcement Learning with Associa逻辑推理的方法3 更高级的形式 引入人类的逻辑和因果如果我们有了上述能力那么我们就有了通过来自记忆的直觉形成任务拆解流程的能力。但是事实上人类更高效的解题方法则是通过逻辑和推理因为逻辑和推理代表了不同过程或关系累加得到一个总的过程或效果的思维或者说基于因果的理解。如果掌握了它就可以借助公理化的系统在未知的任务里使用已有的公理并且推理的结果不受过去经历统计分布的局限。例如你可能从没有搭建过桥但是通过物理知识你可以做出一个过程的拆解先做地基然后用钢筋连接在去铺设路面等。那么如何把这种能力交付给机器呢首先在这个层面事件必须已经符号化比如是语言可以描述的。这一步我们可以走捷径我们甚至不一定需要机器理解所有的理论背后的真实场景而是可以直接引入人类的知识并且学习建立在其上的推理流程。比如利用知识图谱学习与之组合使用的逻辑。其次我们要清楚逻辑本身是什么逻辑一般分为inductive reasoning归纳 deductive reasoning演绎和abductive reasoning溯因推理, 其核心是利用一系列的一般规则对当下的特例进行推理的过程表现形式是一个符号组成的序列。其强大之处在于这个推理的链条可以很长而且传递过程是确定的。那么它和任务拆解有什么关系呢逻辑链条其实就是把一个目标拆分成了很多子目标。如果把子目标看成一个字符串或自然语言的序列这个序列代表一系列的动作组合 也就是一个计算机程序。人类对这些过程的组合可以使用算法和程序这是人类逻辑的很高级形式 也就是理解一个抽象的对输入进行改变的过程 通过迭代的使用一些规则得到最终的目的这是任务拆解的较高级形式也就是使用算法来支配子任务 是否能够让机器也学习这种工作模式呢 这就是以神经图灵机为代表的的一系列神经程序学习的作用。我们来看看能够学习和使用逻辑的机器学习框架神经编程学习机器Neural Stored Program machine这是从神经图灵机演化出的框架 它的特点是把程序记忆和数据记忆分开存储 程序记忆是存储一系列逻辑规则 它可以根据数据的形态被读取也可以学习。一个完整的任务可以被拆分成几个不同的子任务完成 这本身就体现了逻辑的流程。另外一个学习和利用逻辑的方法是利用在人类已有的知识库里寻找规律 那么一个非常可靠的起点就是知识图谱。如果给定一组 关系比如A和B是朋友 A爱好游泳 B爱好滑冰 推测A和B 可能还有什么爱好 那么这就是构建了一个关系的序列 朋友A, B 爱好(A,游泳) 爱好B滑冰 这三个关系的序列可以推倒A hobby 滑冰 游泳。这个关系到关系的效果累加可以由RNN学习使用因为RNN可以很好的解决一个序列路径依赖的概率问题。在知识图谱上学习这样的逻辑关系 到底和任务拆解什么样的关系呢我假设当一个流程可以被抽象成符号的时候那么这个流程内不同环节的因果关系就可能通过抽象的逻辑表达出来 并且通过序列到序列的建模学习到。代表文章符号化方法的本质是用单词尤其是动词表达子过程 一个总的目标可以分解成不同子过程 的组合。可以用有向图的形式表达一个流程代表把任务分解为子任务的流程如下图4 神经程序学习类似神经图灵机的机制或neural stored program mahine,可以有效的学习类似程序的过程可以作为一个从数据中提取任务流程图的重要方法。litterature:Neural Stored-program MemoryDifferentiable Harvard Machine Architecture with Neural Network ControllerLearning Algorithmic Solutions to Symbolic Planning Tasks with a Neural Computer Architecture几种不同方法的结合不停的对周围环境的变化进行预测对无法预测的惊讶形成新事件的编码 并和既有经历进行组合是类脑计算的核心思路也是儿童学习任务拆解的基础。但是人在接受教育后也可以直接利用逻辑对不同的关系进行组合来形成这样的逻辑流程。因此任务拆解的过程最好可以形成一个闭环机制 从observation观测中记录偶然性的事件经历 但是在大量的经历中学习稳定的事件结构 并被吸收到知识图谱的符号化表征中 而逻辑则把这些被记录的不同的符号结构进行泛化使得这些事件结构成为推理中可以复用的meta structure。同时被学到的结构可以在inference里被灵活使用 从KG上的逻辑推理激活下层任务的模块进行任务的执行过程。本质上这是绕过了强化学习底层的试错逻辑通过更抽象层面的逻辑来解决了这个任务拆解的过程。对这个问题感兴趣的同学可以加作者TieXu0609, 共同探索任务拆解的本质潜在大厂实习机会。未来智能实验室的主要工作包括建立AI智能系统智商评测体系开展世界人工智能智商评测开展互联网城市云脑研究计划构建互联网城市云脑技术和企业图谱为提升企业行业与城市的智能水平服务。 如果您对实验室的研究感兴趣欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”