从Bengio的NPS模型看AGI的实现通路

2023-11-16

来源:混沌巡洋舰

这两天深度学习祖师Yoshua Bengio 的 Neural Production System 刷新了AI圈子。与以往的深度学习套路不同的是, 这篇文章有效的把符号主义AI对人类认知的模拟与深度学习结合, 得到了一个能够学习规则的神经机器。

我们先来看下这个框架的总体思路。什么是规则?其实在计算机诞生之初, 规则就是一系列的if else表达式,当某种条件激活, 产生某个行为最终达到某个效果, 比如如果天气太冷多穿衣服就暖和了。人类的知识大多可以表达成这种形式(实体经由某个动作得到某个结果)。与之相应的是一阶逻辑和因果,这个过程是学习到一些抽象规则,然后在具体的案例中将实体和规则匹配得到。比如亚里士多德是人, 人是动物会死亡, 所以亚里士多德会死这样的关系,或者果汁是一种饮用液体(可以解渴),因此喝果汁可以解渴这种。也就是对实体和类属性进行绑定, 然后通过类属性关联的逻辑法则,将两者有效绑定。最后实现一个推理的过程(演绎法,状态-规则-动作-状态 迭代循环)。

这是人类认知推理过程最基本的步骤。过去的专家系统模型,以文中讲到的production system为代表,就是对这样的认知流程的机械模拟,把它们写成程序套进去,但是很快发现这件事是走不通的, 因为存在太多的例外, 通过对人类已知的规则进行穷举如同数清天上的星辰。而且并非所有的问题尽可以由显示的规则描述。

深度学习兴起之后,人类的直觉感知能力能够被机器模拟,从而使得没有被计算机世界囊括的大量数据插上了数字化的翅膀, 如图像,音频。其实本质上深度学习实现了信息的翻译流程(例如分类器的结果就是将图像这类感知信息语义化)。但是同时, 深度学习一直缺失符号化的一些核心能力,比如所谓的利用逻辑规则进行推理的能力。一种最基本的方法是把感知符号化(分类器)的结果加上人工规则, 比如人脸识别后的结果送到人物数据库搜索罪犯的系统-决定某人是否可以坐火车。而通过神经网络来实现规则学习的最接近的应该是GNN图神经网络, 它可以学习实体节点和实体节点的相互作用法则并推理, 比如推测化学分子的性质。但是图神经网络有个巨大的问题是它依然依赖已经符号化的实体,然后在这些实体间构建关系。而bengio的新工作则利用了一种80年代出现的专家系统的思想,为它们插上神经网络的翅膀, 从而使得逻辑规则是可以学习的。

事实上神经符号主义的最大问题是,符号化的痕迹太重,而失去了神经系统的灵活性, 太轻,很难学到规则。而bengio怎么掌握这个火候呢?神经网络最擅长的是做模式识别, 它巧妙的利用了变量绑定(variable binding)的思想, 把逻辑规则和实体相分离, 然后用类似注意力的机制学习哪些逻辑规则应该匹配哪些实体。这样, 我们既不要强迫在感知数据里提取符号实体的类型, 也不需要强迫规则的模式,一切都是神经网络浑然天成学到。

我们来看怎样一个浑然天成,首先如果用神经网络这样的矩阵乘加来表达。这里需要关注的是如何得到规则的神经表示, 假定规则是某种图的形式, 那么它必然是一个稀疏的有向图, 因为规则关系往往有几个核心的点:

1, 规则往往是稀疏的, 规则中出现的实体数量往往很少, 当规则的激活条件达到, 某种行为被启动。

2, 规则是抽象的, 从而保证范化能力。如果一个规则适应的是非常特定的实体比如某个人。

3, 规则往往是非对称的, 体现因果性。

这样的规则是专家系统的底座,这个把上述模式转化为神经算子的过程就是NPS框架的基本功劳了。

那么我们看下这个NPS是怎么说的?

1, 基于用entity extraction module 提取感知信息中的实体信息 , 这一步类似用自注意力机制选择需要被关注的实体。

2, 由于NPS旨在模拟实体和实体相互作用稀疏规则, 因此需要用注意力机制选择primary slot和rule, 也就是规则中的主体和所对应的法则。这一步涉及rule selector, 也就是到底哪条规则被触发是由神经网络表示。类似于天下雨要带雨伞, 天晴要带遮阳伞这种if else 表示。

3, 有了规则主体和规则, 进一步选择context slot,这对应规则里面出现的另一个对象(从而构成相互作用的一对实体,比如加数和被加数),最终得到完整rule的表达式(由一个多层神经网络MLP表示)。这个选择过程不是一步完成而是分成primary和context slot 本质上做到了对非对称规则的拟合。

4, 迭代, 多步使用类似的rule的执行机制实现推理目标。

大家注意到这种框架的关键成功之处,是在框架的建设中合理运用稀疏性, 对称性这种底层的先验偏置,而非直接使用符号,并通过这些偏置诱导神经符号的产生, 这符合bengio一段时间里的长期思路, 例如RIM(recurrent independent mechansim 把独立因果规则的先验转化为神经算子), 这种范式应该是当下具有普遍性的统一连接主义和符号主义人工智能的方法。如果我们不是采用这种方法而是直接将实体用人工构建的规则相关联,也就回到了旧有知识图谱+规则的方法,就不会那么灵活 。

以下的例子就是很好的对上述过程的解释。我们学习一个对Minist手写数字进行各种常规非常规操作的rule,比如旋转,平移,每个rule展开都是一个MLP。通过这个规则的匹配选择, 我们会得到一个手写数字的神经操作系统。

另一个更好的例子是物理系统, 这里面包含三个不同形状的实体, 实体的重量不同, 规则就是重的撞轻的轻的会飞。这是在物理碰撞背后的因果关系, 而这种关系是可以通过下面的有向无环图体现的。注意这里的物理关系以因果关系的一般形式体现而不是牛顿作用力那种相互关系的形式。只要学到了这种微观的两两因果关系,就可以进一步的通过把整个时间过程进行拆解,在每个时刻仅仅关注相互作用的物体而达到预测整个物理系统的效果。

那么这种方法是否也是一个走向通用人工智能的道路呢?我想这确实部分的接近了事实的真相。因为作为AGI框架首先要体现出人类经过进化和文明得到的符号本体网络,也就是如世间万事万物的知识树,通过DALLE等transformer框架,可以想象如何诱导出这样一棵知识树。也就是通过预训练, 引导整个符号体系的生成。而另一方面, 在具备了成体系的符号系统后, 必然的需要让AI系统具备和人一样的在符号层面进行逻辑推理的能力。这种能力就来源于类似NPS的形式, 把符号或因果中的结构先验提取出来,我们可以称之为元结构(meta structure)- 产生其它结构的结构, 然后训练基于这些meta structure的神经网络 , 得到规则表征的神经网络。因为人类常用的meta structure是可以穷举的,比如时空拓扑, 因果,逻辑, 因此这一类meta structure 的训练并不是无数个, 而是有限的数量。由此可见,如果我们构建这样一个网络,它包含世界上最基本的meta structure,就可以做到涵盖各类最基本的智能任务。

我们把整个过程流程化,可以看到它大致对应这样一个图:但感知信息进入,我们通过rcnn,transformer等方法将连续的光场离算化, 得到物体(实体表征),这是我们认知的第一个捷径,丢掉了很多对生存不重要的信息,在感知物体的高维向量里,依然包含大量未知的特征信息。而根据这些信息, 我们大脑里的元结构处理器可以对这些实体进行匹配,重组,构成新的更加类似于(超)图结构的模型,每个元结构处理器就好像从自己的视角对世界上的信息进行加工, 进行某种特定形式的结构化(逻辑,因果), 这种结构化得到的模型是对世界进一步的低维度表示,虽然它们丧失了大量感知信息,但是在特定任务,逻辑处理中且更加快速。结构化的过程仿佛是将之前的感知实体推入一个个认知网络的结构卡槽,这样的思维和人工智能早期发起人Marvin Minsky的frame理论是非常相关的。

有了这些任务模型, 我们可以在其上进行非常灵活的控制,根据不同的任务选择不同的结构实体来进行推理和控制,并且在其间进行切换。

因此NPS的框架提供了未来AGI一种非常基本的组成元件,当然离真正的智能它还缺少很多其它的核心部分, 比如人类的智能以目标展开, 我们不停的把真实世界切割成不同的任务,每个任务都有一个目标,而目标之下我们会把它分解成很多子目标,这种能力并非当下的NPS系统涵盖的。另一方面, NPS系统的感知部分也较为简单原始,从中提取实体的过程没有体现高级认知的参与, 事实上我们关注的是图片中的一个动物还是一棵树,也是高度依赖于整个目标和认知过程的。因此, 未来的AGI构建之路依然任重道远。另一个关键问题是,即使是NPS这样的结构,也依然是在各种小型研究问题得到体现,它是否能够用来撸真实世界的规则和因果,还是一个亟待研究的问题。

愿意探讨一套AGI系统的最小实现框架的同学请加铁哥微信(TieXu0609),还有珍贵的头部AI公司实习机会。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从Bengio的NPS模型看AGI的实现通路 的相关文章

随机推荐

  • 【经验总结】tcp_tw_recycle参数引发的故障

    tcp tw recycle参数引发的故障 By Eric 故障描述 2010年9月7日 新上线的手机游戏论坛有部分地区用户反应登陆游戏时出现不能登陆或登陆超时等情况 观察用户同时在线数量开始下降情况 排错过程 一 初步检查是否有变更导致的
  • C++类成员函数中const的用法

    C 类中 const的用法个人总结主要有以下几种 1 用来修饰成员变量 比如const int var 2 用来修饰形参 主要针对引用 比如const type 3 用来修饰返回值 返回常量引用 4 放在成员函数的形参列表的 之后 大括号
  • 嵌入式是什么?(一个电子产品的从0到1)-杂谈

    这篇博客 我想聊聊嵌入式 在IT行业 存在着很多不同的领域与不同的职位 由此也延伸出了各式各样的工程师 但其中嵌入式工程师算是比较迷糊的一个职位了 即便同是IT的同事也有不少问过我 嵌入式是干什么的 更别说是非IT行业的人以及刚刚入门的小白
  • VPP plugin so 的封装与解耦

    封装与解耦 每一个 plugin 封装了一个独立的功能模块 模块依赖的外部 so 接口也封装在每个 plugin 中 vpp 提供统一的使能 禁能 初始化 plugin 的框架 同时每个 plugin 对外提供的接口也使用统一的方式 大多采
  • python 输入输出相关

    输入字符串 n input 字符串可以直接遍历 输入字符串时遇到需要输出字符串的题 可以再建一个字符串用来更新 比如这道题 输入一个由小写英文字母组成的字符串 请将其中的元音字母 a e i o u 转换成大写 其它字母仍然保持小写 n i
  • FPGA 与门

    module and gate a b y input a b output y assign y a b endmodule
  • [tensorflow]联邦学习框架TFF安装记录(基于docker)

    1 介绍 tensorflow federated 下面简称为TFF 是谷歌开发的一款开源联邦学习框架 该框架基于tensorflow 下面简称为TF 运行 安装这个框架花了我两天时间 现在对安装过程进行总结 本帖子总共分为3章 第一章介绍
  • Linux 查看文件大包括隐藏文件

    du h max depth 1 sort hr
  • 实现Vue的登录页面

    实现Vue的登录页面步骤 1 前期准备 1 1 安装Node js 从官网下载地址 https nodejs org zh cn 安装完成后 在终端输入 node v 来查询版本号 1 2 安装Webpack 在终端输入npm instal
  • 测试servlet的小tips

    由于servlet中使用了一些Request请求中的参数 我们可以通过请求url中添加这些参数 传入到 Request中 一个小tips
  • GTest的测试环境搭建

    一 gtest的安装 Google test是一种比较方便的C 测试框架 它能够帮助我们比较方便的进行测试代码的编写 以及输出尽可能详细的失败信息 能够大大缩短我们测试代码的编写效率 而且该框架的使用方法也比较简单 能够降低我们学习新框架的
  • Java 移除重复节点

    移除重复节点 难度简单97 编写代码 移除未排序链表中的重复节点 保留最开始出现的节点 示例1 输入 1 2 3 3 2 1 输出 1 2 3 示例2 输入 1 1 1 1 2 输出 1 2 提示 链表长度在 0 20000 范围内 链表元
  • MES管理系统对电子企业来说有什么优点

    引言 在电子制造企业中 MES管理系统已经成为提高生产效率 降低成本 提高订单履行速度和准确性的重要工具 电子企业MES管理系统是一套集成的信息系统 用于监控和控制电子企业的生产过程 本文将探讨MES管理系统对于电子企业来说有哪些优点 一
  • 人工智能的最新进展:2024年将会发生什么?

    文章目录 2024年AI最新发展 2024年AI具体应用 2024年AI的具体预测 创作者 全栈弄潮儿 个人主页 全栈弄潮儿的个人主页 个人社区 欢迎你的加入 全栈弄潮儿的个人社区 专栏地址 AI大模型 人工智能 AI 是一种快速发展的技术
  • C++ MAP的遍历顺序和插入元素顺序是不同的

    当你为MAP插入一个元素后 MAP会按KEY的顺序重新排列 所以当你遍历MAP的时候 遍历的顺序已经不是你插入元素的顺序 举个具体例子 MAP B 1 MAP C 2 MAP A 3 当你遍历MAP输出的时候 是按 A B C 顺序输出的
  • Zookeeper和Nacos的区别

    目录 Zookeeper 1 ZK结构 2 ZK的消息广播和崩溃恢复 Nacos 1 存储和数据更新 2 注册中心 Zookeeper 1 ZK结构 Zookeeper的功能主要是通过它的树形节点来实现的 当有节点数据变化时或者说节点过期的
  • Dropout Learning - 防止深度神经网络过拟合

    最近在学习caffe 里面有一个名词叫做Dropout Learning 一直没明白是什么意思 直到最近才发现一片文章介绍Dropout Learning的 希望可以给不知道的同学一定的帮助 如果想要更深入的了解可以阅读该文献 文章结尾会给
  • MOV指令在32位汇编程序和64位汇编程序下的相同与不同之处

    mov指令原则 两个操作数 目标操作数和源操作数 的大小必须相同 两个操作数不能同时为内存操作数 也就是不能内存 到 内存 指令指针寄存器不能作为目标操作数 64位汇编程序下 32位汇编程序和64位汇编程序都依照上面的规则 语法也相同 但如
  • 目标跟踪算法

    目标跟踪算法 一 目标跟踪算法简介 1 1 主要任务 1 1 1 Online Visual Tracker BenchMark 1 1 2 VOT 1 2 难点与挑战 1 3 分类 1 3 1 常规分类 1 3 2 时间分类 二 常用算法
  • 从Bengio的NPS模型看AGI的实现通路

    来源 混沌巡洋舰 这两天深度学习祖师Yoshua Bengio 的 Neural Production System 刷新了AI圈子 与以往的深度学习套路不同的是 这篇文章有效的把符号主义AI对人类认知的模拟与深度学习结合 得到了一个能够学