符号主义对深度学习的意义浅谈

符号主义人工智能经历过古典时期的专家系统阶段, 中期的知识图谱阶段, 和近期深度学习和符号主义的再次联姻。 那么一个很重要的问题是符号主义为什么会复兴,它对当下的机器学习又有何意义?

本文内容可以参考:

首先, 当下的深度学习有三个最主要的问题,很低的数据使用效率, 泛化能力, 可解释性,都可以从符号主义得到极大帮助。 这一点也不难理解, 所谓符号,多数指我们语言中那些经常被使用的抽象概念,这些概念再不同的任务和环境中被广泛使用组成新的概念,比如红色,圆形等,如果能够在不同任务中学习到这些最基本的元素, 那么无疑将极大的改善数据使用效率和泛化能力。同时,从视频,声音等信息中提取出的这种符号,几乎一定是和我们的自然语言有所对应,和我们的认知概念有所对应,因此,提取这些符号将极大助力模型的可解释性。从这两个角度看, 符号的确可以解决深度学习的几个根本问题。

更加重要的是,符号的使用和我们的推理认知能力极为相关,这也是为什么在第一代的人工智能时代人们如此重视符号, 因为它是逻辑思维的载体,有了符号我们可以在符号基础上罗列各种运算,进行关系预测等, 对应我们日常思维中的归纳演绎等过程。

从某种意义上看,基于符号的人工智能模拟了人类的思维, 而深度学习则模拟了人类思维的硬件。 这两种一定应该是相通的。 然而今天看来它们却成为了独立的两个方法, 这是为什么呢?

深度学习的本质是表征学习。 站在信息论的角度,它把一定的视觉听觉信息表示成高维向量,在经过若干次线性和非线性的变化抽调和任务信息无关的细节,压缩成为和任务最相关的信息表征。那么我们不禁要问这些留下的信息表征是否就是我们要的符号呢? 答案是no。即使经过巨大的CNN我们得到猫或狗的表征,但是从没有一个研究指出这些表征里哪些神经元包含猫的形状,哪些神经元包含猫的颜色,事实上每个细胞都或多或少的表达颜色或形状,也就是一种混合的信息表达, 从神经编码的角度看这叫分布表征(distributed representation), 或混合编码(mix selectivity),从信息表征的角度看这是Entangled representation,或者说耦合的表征。 这种特性是使得每个神经元可以高效的被利用(表征不同的特征),从而用有限的细胞数去区分更多的模式;但是也使得深度网络变得不可解释, 泛化性差, 鲁棒性差。 而人的神经网络经过进化和连续学习,既有深度学习这种混合编码特性,又有低维解耦的符号,这点是目前深度学习望尘莫及的。

那么如何在深度学习里加入符号主义的精髓? 我理解的符号主义的核心, 一是哪些是构成这个世界的正确符号,所谓符号的提取。 二是该如何确定符号与符号间的关联,三是如何通过符号组合成不同的模型或场景表示。

那么有什么方法可以从深度学习里提取到符合人类认知的符号系统呢?一种方法比较直接, 可以直接把深度学习的output设计成人类已知的符号比如视觉系统里的符号,颜色等,另一个方法则是引导机器具有自发发现符号的能力,类似符号的涌现。

有关第二点, 需要在深度学习框架里加入相应的限制,这里有两个关键点,一个是低维,一个是解耦。 所谓低维, 是说这个符号不可以太多, 所谓解耦, 是说它们要尽量独立的。 低维因为可以大量复用的符号本来就没多少, 解耦因为这些符号如果是可解释的且重要的,就一定要够成一个不依赖其它符号存在的独立因子。

深度学习的power在于可以通过学习的方法解决以前计算不能得到的目标, 比如这里的第一步,符号的提取。 这就必须要提自编码器。自编码器宛如一个信息瓶颈,通过若干层非线性变化,把高维的时空向量压缩成几个低维变量z(latent variable), 然后再通过一个类似解码器的部分还原回原先的高维时间和空间序列, 通过这个无监督的而学习过程,实现信息的压缩(z代表真实信息的编码)。 普通的自编码器能够实现这个高维到低维的转化但不一定能够解耦。而变分自编码器(VAE)就不同了, 它假定中间压缩得到的z变量要符合一个多元高斯的先验分布, 这样的分布本质就假定了z变量不同维度间的独立性,也就是不同因子的解耦,加上z的维度本身就要求低, 它极有可能就是我们所要的符号(进化生成的符号就是在信息论的角度就是最小冗余的编码)。 那么z是否可以真正学到抽象独立的符号呢? 这点从文章下图的实验中可以略知一二。 在这个图中,我们尽可能的保持其它变量不变,而只改变变分自编码器中的某个独立维度, 这时我们发现当改变变分自编码器学到的z表示的第一个维度数字大小发生变化,另一个维度则是手写数字的风格发生变化,显然数字大小和手写数字风格是人类理解数字构成的基本要素, 也就是非常具有鲁棒性的迁移特征,这样两个维度z某种程度构成书写数字的一个解耦的低维的独立因子图, 也就是这个任务的符号表示系统(联系因果学习)。

另一个基于无监督学习得到这种低维解耦表示的方法被称为稀疏编码, 这个理论旨在直接从数据里学习到一个字典,字典里的词具有典型的重尾特性,也就是一组常用词被抽样到的概率很高, 这些重要词语对应的神经元经常发放, 而其余的不常用词语对应的神经元就很少发放,这样就用最少的能量编码了最大量的日常信息。 事实上稀疏编码的理论就是我们大脑处理信息的重要理论基石, 而稀疏编码的词典中的常用词某种意义就构成符号, 它是构建图像的核心因子,或者说对应真实世界的因。

Sparse-Coding Variational Auto-Encoders


还有一类值得关注的从深度学习里得到可解释的低维符号的方法来自RNN(LSTM),这类含时间的神经网络可以从数据里学习一个原系统的动力学模型,而动力学系统内的主要变量可能就是我们需要的符号。 我之前的论文用预训练的RNN进行导航,就是引导出这种低维的动力系统表示,这些符号可以看作支撑高维复杂系统动力学变化的一组低维因子。

符号模仿的第二部涉及符号关系的建模:我们需要找到符号和符号之间的联系, 从而进一步释放符号主义的真正能力,进行关系建模和推理。 实现这一步的方法也可以使用简单暴力的深度学习,这里有两类框架已经极大的接近了这一目的,一个是图关系网络, 一个是基于自注意力的transformer。

我们分别来看这两个流派:

关系网络是图网络的一个特定表示形式,假定所有节点均有两两相互连接的网络图。 对于关系网络, 本质上我们采用的手段是学习不同符号两两相互作用的表征, 这个工作可以暴力的使用MLP来完成, 首先我们把不同符号间的关系表示成为两两一对的矩阵(全连接图), 然后我们假定存在一个巨大的MLP,只要输入两个符号的特征,就可以得到其相互关系的表征,输出相互连接。 这样的系统本质假定了关系的类型是:

R = f(x_1, x_2)

这种假定特别适用于那些本来相互作用的形式就近似这种两两相互作用的全连接图的系统, 比如物理方程式, 两两相互作用力的表达式正是这样的形式。

另一类关系表达方法更加类似于自注意力网络,事实上这类网络就是各类transformer, bert, gpt等的始祖。 它得到的一个形式是:

F(x)= q(x) k(x) g(x)

注意这里的q, k, g之间的关系是矩阵乘法,通过query :q 和 key :k 的乘积我们会得到一个两两相互关系的关联矩阵。 犹如“注意力" 的字面含义, 它的本质代表的是已知内容x, 那么我们需要关注哪些和x相关的内容, 或者可以理解为通过x在整个数据提取需要的信息 ,如果提取,是由q,k的形式得到的,这里假定了这种关系可以表示成矩阵乘法。 我们注意到本质上它和图网络是相通的,也是为什么transformer学到的其实是一个巨大的以单词为节点,以单词间的关系为边的图网络,它对一段文字的理解,也就是把文字转化为了一个单词连接图。

从这点上看, 图网络和transformer都在描述同一个符号关系范式 , 那就是相互作用。 通过这个范式,单一符号组合成相互作用网络,从单元的特性到网络的整体属性(对应复杂系统涌现的概念)就是一个推理的过程。 比如对文章进行分类, 或者对物理系统的能量或动量进行计算,对物理系统的未来进行预测等。

虽然以上两个方法功能强大, 但是不难看出它们的形式非常机械,表达的关系种类也是有限的。

最后看第三点可组合性, 正是因为符号可以通过不同的关系建模组成不同的整体, 它才具有巨大的power, 也就是用少量的符号组成无限的世界, 高维的世界。 这样的组合关系可以是形式逻辑比如and, or, 也可以是计算机经典的树结构, 也可以是刚刚说的图网络。 符号间的组合关系本身事实上也是可以学习的, 比如当下一些计算机视觉的工作会强制深度网络学习这样一个可组合的表示, 然后通过图像引擎渲染, 得到一个真实的图像。 这样我们就不仅具有图像识别的能力,而是真正可以随心所欲的操控图像生成,比如把一张图像里的狗变成灰狼。

几个值得关注的和符号高度相关的方向:

因果推理

Judea Pearl 的三级因果推理框架强调了因果问题需要解决关联, 干预和反事实推理三个层次的问题, 而在三级因果框架的中心,是著名的结构因果模型。 这个模型的载体正是一个符号连接的图,不同的因子对应不同的符号, 这无疑说明符号的提取就是因果推理的基础。 反过来, 因果论也给符号的提取提供理论依据, 因为符号提取的内在要求就是低维和独立。 低维保证少量符号支撑无穷事物,如果符号本身就是构成事物的因子,这点自然保证。 而独立则保证每一个符号的变化都是和其它符号的变化解耦的, 这正暗示了与之相应的独立因果假设。

脑科学和认知框架

认知框架试图模仿人脑处理信息和完成多任务的原理绘制一个机器处理相应任务的蓝图,并用计算机实现, 自上世纪八十年代以来, 不同的派别试图改进和实现这个蓝图, 把它从计算机变得更像脑。 认知框架本身包含感知, 行为, 记忆, 推理, 元认知等不同模块。

事实上这类大脑模拟的核心就是一个从符号的提取,到推理, 到计划和行为的总体框架。 感知对应符号的提取, 推理对应符号间关系的求解, 计划和行为则对用利用这种符号关系图(世界模型)进行规划的能力。

如此看, 我们对大脑和认知科学的理解可以直接放到这个符号推理的系统里辅助我们设计实现这个系统 。或者, 符号推理引擎可以看成理解我们大脑工作模式的基础。

复杂系统

符号的提取如果是大脑涌现的过程,那么如何从复杂系统的角度看符号是怎么产生的? 符号之间的关系又无疑构成一个复杂网络,那么如何从复杂网络的结构理论来看待符号关系建模?

一些经典的符号推理框架实现:

A. 有关符号本身的提取:

1, beta -VAE: LEARNING BASIC VISUAL CONCEPTS WITH A

CONSTRAINED VARIATIONAL FRAMEWORK

Higgins, Irina, et al. "beta-vae: Learning basic visual concepts with a constrained variational framework." (2016).

这篇文章利用一个改进的VAE框架, 从图像里提取出一个解耦的独立因子表示。 就是上文中VAE与符号提取内在关系的基础。

2, Neural-Scene-Representation-and-Rendering

Eslami, SM Ali, et al. "Neural scene representation and rendering." Science 360.6394 (2018): 1204-1210.

这篇文章旨在建设一个能够自发理解周围视觉场景的机器学习模型, 虽然模型全部使用深度学习框架, 但是得到的表征确实高度符号化的,不仅可以被拆分成可理解的因子,还可以通过代数运算简单的得到新的场景组合。 这样神奇的效果事实上仅仅靠一个以卷积网络为主的encoder结构和卷积lstm结构为主的decoder结合的一个自编码器结构就可以实现。

3, Learning to See Physics via Visual De-animation – NIPS

Wu, Jiajun, et al. "Learning to see physics via visual de-animation." Advances in Neural Information Processing Systems . 2017.

这个工作是图从物理运动的视频里得到物体和相应的物理状态,然后通过传统物理引擎预测物理系统的变化。 而用到的方法依然是短平快的深度学习框架, 先图像切割得到object proposal, 再再不同物体的proposal基础上不同物体的物理参数,比如质量,摩擦力, 位置,速度一类。

Learning to See Physics via Visual De-animation – NIPS

4. The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Sentences From Natural Supervision – ICLR

Mao, Jiayuan, et al. "The neuro-symbolic concept learner: Interpreting scenes, words, and sentences from natural supervision." arXiv preprint arXiv:1904.12584 (2019).

视觉处理和符号融合的一个里程碑式的框架, NS-CL模型可以把图像场景转化成可以执行的符号化编码, 最后在这个符号表征基础上回答问题。

比如我们知道CNN代表的视觉网络是个黑箱, 那么如何让这个黑箱变得可解释? 我们可以让CNN网络直接把图像变成一系列可解释的符号 。 你可能觉得这不就是region proposal或图像切割? 实际不是的, 因为我们想要得到的符号可以代表一个世界的最小语言体系, 检验它的最好标准是得到的符号能否让我们复原图像。 这有点像一个自编码器的概念, 但是比自编码器要更容易解释。为了做到这点,我们可以把解码器替换成一个传统的图像生成引擎, 它本身就是基于人工设定的符号, 只有我的CNN能够输出这样的人工设定的符号, 传统解码器才能work。 这样的模型可以得到完全可解释的视觉系统, 在各种需要说明如何work的视觉系统里, 无疑会发挥大用。 具体pipeline如下图。

以下一个例子具体说明框架的运作流程: 首先将问题转化为可以执行的程序,这里其实是抓住关键词shape of(对应一个符号提取算子) 然后感知模块提取图像里的物体,再通过符号提取算子(shape of)得到对应的向量, 这个向量对应具体某个物体的形状,然后这个向量和知识库(visual semantic space) 里的不同形状向量相比较,最终得到相似度最高的那个形状。 此处不难看到这个semantic space和人类长期记忆的关系。


B 符号间关系的提取:

上面的文章介绍了关于用深度学习用于符号提取, 并直接使用这些符号做任务的典型例子,下面介绍包含了它的下一步, 除了提取符号还需要推理符号间的关系的作品:

1, Neural Relational Inference for Interacting Systems

Kipf, Thomas, et al. "Neural relational inference for interacting systems." arXiv preprint arXiv:1802.04687 (2018).

通过图网络进行关系推理的框架, 可以用图网络来求解各类相互作用的符号间的关系并进行推理和预测。 该工作的核心是把自编码器和图网络融合,从而可以用无监督学习的方法求解不同符号间的关系。

2, CLEVRER: COLLISION EVENTS FOR VIDEO REPRESENTATION AND REASONING

这篇文章同时包含了符号的提取和关系的建模, 它试图利用一个统一的模型来回答一系列不同级别的问题。 当然既然是求全,模型的任务就比较简单, 它利用一个可以生成一系列碰撞视频的模拟器,然后从通过不同的filter从这些模拟器里提取物体和它们相关的符号组成(形状,大小, 颜色), 再在这些表示的基础上利用第一偏文章中的关系网络学习这些不同物体之间的关系, 从而做出预测。 如此, 这个模型不仅可以回答简单的描述性问题(what),还可以回答解释,预测,反事实的问题。

Yi, Kexin, et al. "Clevrer: Collision events for video representation and reasoning." arXiv preprint arXiv:1910.01442 (2019).

3, Measuring abstract reasoning in neural networks

Barrett, David GT, et al. "Measuring abstract reasoning in neural networks." arXiv preprint arXiv:1807.04225 (2018).

这篇文章试图用关系网络RN来解决一般性的推理问题, 有趣的是文章使用了一组人类智商测试用的任务, 并改成了可以任意生成的任务。 在这个任务里, 机器可以随机的生成一个序列的图片, 图片里的元素的数量,形状,颜色可以改变,然后机器需要推到出1图和2图是如何得到三图的,也就是一组抽象的图和图之间的relation, 使用RN对图片间关系建模的模型远好于传统深度学习CNN, LSTM等。




有志探讨开发者欢迎加微信TieXu0609

编辑于 2020-08-03 13:20

文章被以下专栏收录