我认为图灵机制在诞生在很早的生命阶段,现在的图灵机制是大脑皮层高度扩大之后,提供的扩展能力呈现出来的,至少我认为从有眼睛开始注意机制就应该存在了,只是那个时候更多是一种反射机制,旧脑连接,新脑是爬行类之后才开始出现的。
我们需先回顾图灵机来说我们为什么管这个机制叫图灵机制。
图灵机
图灵机是艾伦·图灵1936年提出的一种抽象计算模型。
它由三个部分组成:纸带,带状态和读写头的控制器,对照表(也叫控制指令)。
对照表的构成
输入 | 当前状态 | 输出 | 下一个状态 |
纸带的读取内容 | 内部状态机的值 | 对纸带的写操作内容 | 状态的迁移 |
图灵机的工作过程:读取当前纸带内容T和当前状态S,根据对照表P,决定下一步的动作A,产生新的纸带内容T’和新的状态S‘。
纸带的读取头就是注意力之下的输入信息,输入信息和当前状态构成了当前的广义状态。当前广义的状态,通过查表获得应该采取的动作,采取的动作进一步影响纸带和内部状态,即影响这个广义状态。
一台图灵机,对照表,纸带的初始状态,都是确定的,因而整个过程是确定的,就像一段固定的程序一样。
而通用图灵机是一种可以模拟任何图灵机的图灵机。通用图灵机的思路是:将图灵机表述为一个字符串,放到纸带上,通用图灵机通过设定恰当的对照表,让这个通用图灵机可以实现这个具体图灵机的效果。
图灵机制
我们先来看一个简单模型。
状态产生动作,动作影响状态,这是一个非典型的状态机抽象(不是有限状态机),我们叫原初状态机。考虑到现实世界的并行性,我们可以这些拆解和设计这个状态机,动作和状态是两个完全并行的模块,两者之间的关系是一个持续互联的状态。动作持续参考着状态,也可以持续影响着状态。这是典型的读写思维,也可以叫读写视角,将事物的相互作用看成是读写,或者将实体与抽象逻辑以读写短视角分离。但真实物理世界都是相互同时影响,甚至是动态平衡的,难以以离散化的序列视角来表示,所以原初状态机不是描述万物的模型,而是描述一类视角下的世界规律,尤其是因果序和算法思维。
但这个模型存在一个问题,就是如果计算资源和带宽资源的有限,使得当状态空间十分巨大时,比如状态是这个世界的所有可观测状态,那么动作控制器是无法获取这些全部信息的,所以我们将模型进行改进成下面这个样子:
引入注意力后,我们才认为这个模型能有效运转,特别注意的是,注意力也是一种运动资源,控制器输出的动作也能影响注意力的变化。但前面不带注意力的模型,也有它的价值,没有注意力,它可以得到全部数据,能做很多注意力不能做的事情,我们将前面的模型称为广义状态机模型。
而将这个带注意力的模型,称为广义图灵模型,将基于这个模型运转的机制称为广义图灵机制,简称图灵机制,而这个模型的运行过程我们成为广义图灵过程。
注意力(读写头)、注意力的变化(左右移动读写头)、对状态的读写(内部状态+纸带)这几个特征跟图灵机有非常明显的匹配,所以我们才有了用图灵来命名这个机制的动机。
图灵机制呈现的结果就是完成一个系列的动作,只是这个动作的产生过程可能是高度有秩序的,可以完成既定目标任务的,所以计算模块的结果反映到对外部设备的控制后,就产生了对世界的现实影响。
脑中的图灵机制
那么,这和类人智能又有什么关系呢?
简单的说,注意力是图灵机制的核心,注意力也是大脑的一个核心功能,这一点上两者是相同的,而广义图灵机制是一个基于注意力的通用性很强的机制,我们可以用它来描述我们大脑的工作方式:将大脑的神经网络状态看做是状态,将运动控制看做是影响状态的控制器,当然运动控制会影响世界,世界状态的变化又来过来被核心所读取。所以整个过程就是一个广义图灵过程。因而我们认为大脑内部存在广义图灵机制,只是我们需要破译其控制器的工作原理。
那么进一步细化大脑的图灵机制应该是什么样的呢?我们先画一个不太严谨的图,大致细化一下大脑的图灵机制。
我们会发现,一些边界不是特别好确定,我们甚至不能说清楚注意力是否属于核心网络,数据流是否如图中所述,大量的智能任务是否可以采用这个机制解释。对此我们需要对很多环节进行优化,调整以争取得到一个更加完美的机制模型图。
基于之前的研究思路,我们先将可能有用的东西,都拿过来,看是否有可能产生一些新的融合。之前的几个关键机制分别是:完形机制、目标驱动机制、新奇与异常机制。
完形机制的主要目的是寻找实体的边界,然后实现实体的剥离,从而可以对实体的属性、实体和实体的关系进行计算。
那么完形机制为什么要找实体呢?我们说是为了离散化、语义化和符号化,那么符号化就是图灵机中的符号表,图灵机的定义是基于离散的语义符号为基础的,也就是说,有了符号化,我们的图灵机制就可以像一台真的图灵机那样去工作了。而图灵机能做什么?执行程序,程序=算法+数据结构,程序就可以解决计算问题。计算是什么?是一个更加复杂的命题,计算理论专门借助数学理论研究计算的过程和功效,已超出本文讨论范围。值得一提的是,大脑中虽然有广义图灵模型,并不意味大脑全部都是图灵模型,很多局部组件可能是一种计算模型,甚至有可能有些连计算模型都不是,一些生化反应甚至量子效应有可能超出计算模型的范畴。
既然图灵机是一种计算模型,那么我们认为广义图灵机是一种广义计算模型,什么意思呢,先来看可计算的数学定义:定义域为D和范围为R的函数f有一个确定的对应关系。通过这个对应关系使R范围的单个元素f(x) (称为 值) 和D定义域的每个元素x(称为变元)联系起来。如果存在这样一种算法,给定D中的任意的x,就能给出f(x)的值,那么说函数f是可计算的。
如果我们将x换成状态,将f(x)的值换成是控制信号,那么这是一个典型的信号控制系统,f就是信号转换过程,我们说计算就是一个算法步骤实现了这个转换。而广义计算就是运动控制可以改变世界,世界又被反应到观察里,我们可以寻得一个层面(用完形机制),让一个确切的状态发生时,通过有线步骤,产生另一个确切的值。为什么要寻得一个层面呢?因为世界是可变的,只要寻得一个层面才能让无限的变化中抽取出不变性来,不变性才能以离散符号集合表示有限的输入集,才能做相等判断,而相等判断是计算模型的一个核心操作。一个操作指令的结果几乎每次都是不可能产生相同的结果的,如果我们数据化这个世界,就不可能产生相等判断了,所以面对现实世界,大脑内部产生的不变性可用于判断结果的相等性,这是面对无限非数据化世界而进行离散化的目的和意义。算法是问题求解的一种高效手段,很多问题在使用蛮力、条件反射、并行无法解决时很多可以采用算法的方式搞定,所以我将图灵机制看做是智能的一个核心机制。
脑中图灵机制的意义便在于此。
我们应该还可以注意到,符号化之后,很多状态与操作之间的映射是可以通过查表解决的,即所谓的规则,当然要知道映射不一定非得是符号的形式,但面对一些重要计算问题,符号化是必须的过程,因而这个查表再结合到我们的脑中图灵机中,就更像真实的图灵机了。
异常和新奇机制,我们已经阐述为是一种完整性的判断,也猜测由于旧脑的作用,缺失信号会引起注意,所以这个机制最大的启示是注意分为主动注意和被动注意。
目标机制的过程是这样的,当我们产生了一个目标,我们会产生如何达到目标的方法,如果不能直接搞定,就涉及目标的拆解,目标和目标达成是一个持续的过程,目标的拆解最终还是要产生为了这个目标而做的决策,即运动控制指令,期间发生的异常会中断已发出的运动控制指令。目标和运动控制指令之间的关联,可以看作是一种映射关系,这种映射关系,与图灵机制的关系就是它是一个规则表,是图灵机制的一个核心。
最后我们来看看工作记忆、世界模型和工作空间。这三个概念在一起,是我认为三者是同一个事物的不同表述。
在脑中建立一个可操作的空间,是十分有利于智能体的方法。我们在做出相应的决策前,可以在脑中尝试推演如果做了什么就会发生什么的演练,脑内演练可以降低我们真实做出动作后的失败率。
世界模型还给脑中图灵机一个在脑内直接操作状态的快捷方式。世界模型的价值已经被业界所重视,其意义和本质,我们将在世界模型一章中详解。
回到前面的广义状态机制,我们来看生物智能中如何寻得痕迹呢?
最简单的条件反射,甚至漫反射机制,我们都可以抽象成这样一个过程:当有外界刺激发生时,整个神经网络的状态受到刺激而发生了改变,这个改变会引发后续的连锁反应,进而整个网络状态在不断地迁移变化,有一些变化,可以产生有效的动作后果,有一些可能没有外在的表现,所以我们可以看到进化史上最早期的动物的神经网络甚至的人类的旧脑,大量存在的硬连接,都是这样一种表现,我们可以将他们看做是一个状态机,整个神经网络甚至包括外在世界的状态本身既是控制器,又是状态,就回到我们最初那个单一节点的闭环模型,那为什么这种状态机不能解决所有的智能问题呢?
因为这样的状态机处于一种粗放的直接映射模式,即状态之间的迁移为整个状态的变化,之间的映射空间十分巨大,这导致它几乎不可能用有限的神经元网络,解决所有的问题,所谓解决所有的问题,就是要用组合的方法应对世界的组合特性,无论是空间上的还是时间上的,我们通过解构不变性可以解决空间上的组合问题,通过图灵机制算法上的序列组合解决时间上的组合问题。任意灵活的指令组合可以解决各种各样的问题,我们在现实世界中,学习了大量的流程范式,不就是为了能够套用在各种智能任务的解决上么?
因而从状态机视角的演化,我们可以看到生物智能进化的方向,即让状态机进行升级,抽象出新的组件,从而应对更多的变化。
比如单纯的映射状态机面临效率和容量问题之后,就是类似于旧脑这样的结构化分工,就不是单纯的一个状态机可以描述的,如果用上图来拆解状态机的话,我们可以认为控制器网络内部变得更加结构化,有了更多的分工协作。到底如何分工效果更好,进化给出了众多选择,它们的内在机理是众多科学家们在深入研究的课题,一时半会应该也不会那么容易破解。这个过程中,就如我们所说基本的架构搭建完成,包括所谓的注意力机制、记忆机制、运动控制机制(小脑、基底神经节)、兴奋抑制机制(情绪管理、危险控制、欲望管理等等)。这也是我们认为新皮层的主要能力是扩展旧脑机制的原因。
那么新皮层带来了什么呢?
一、更高的灵活性,更灵活的可塑性。
二、更多的记忆能力。
三、更广泛的特征抽取,各种抽象的概念、结构均得到表征和运用。
四、甚至在其上诞生了新的机制,这个机制可以反过来抑制旧脑机制,以突破旧脑的束缚。比如所谓的自我意识,是否与动物已经有所不同,理性思维是否带来了更多的思想和行动自由。
控制器的实现
我们注意到现在计算机主要是以通用图灵机为基础建立起来的,冯诺依曼体系结构更加贴近我们脑中的图灵模型,但我们脑中未必是如计算机那样,通过存储程序然后运行指令来工作的,但两者确实具有十分相似之处,本小节,我们将深入探讨,图灵机制的一种实现方式,并来对比它和计算机组成结构的异同。
刚才我们初步讨论了,改变外界是通过输出信号,接收状态信息是用读取的方式,那么倘若有读取发生是如何发生的,倘若有写入又是如何发生的,是否还有其他的机制方式,我们首先对读写的概念发出质疑,对于现在计算机而言读写是十分重要的接口。而反映到脑中,会是这样么?首先读的本质是进行信息导流,将信息从一个位置导入到另一个位置,这个移动在神经网络中是自然发生的,所有信号的传递过程,都可以认为是下一个神经元对上一个神经元的读,写也类似,我们记忆下一个东西,就像我们往脑中写入了什么一样,记得有个电影《50次初恋》《记忆中的橡皮擦》主人公都会忘记每天的事情,导演观众都认可这个比喻,橡皮擦擦掉了写在脑中的信息,所谓信息的记录,就是神经之间的突触连接实现的,关于记忆的难易有一些专门研究突触可塑性的论文,在此不再赘述。所以在大脑中自然地无数读写都在同时发生,我们不需要专门的机构负责写,因为随处可写,就地就写,随处可读,在各个层面发生读,微观和宏观都有信息的传递过程。
第二个问题,经典图灵机中的读写头,注意力的目标是寻址实现的,对于线性存储器,有固定的起始位置,就可以读取对应位置的数据,而大脑中是没有地址这个概念的,注意力也不会限于固定的读取大小,我们可以定义一个注意力函数a,令current_read = a(status),这样通过一个未知的注意机制,完成数据的路由、消减工作,这是注意力十分重要的两个价值:路由和消减。
第三个问题,查表,假设存在查表函数f,则rule = r(status, current_read),大脑中的可能并不只有规则,规则本质是map,大脑有类似的结构——关联,当然也有规则,映射的规则,看到A就要做B,这样的规则,但规则不是唯一的映射关系,我们之前讨论结构与关系时,说过,很多看起来的映射关系是要标注属性的,规则是一种映射关系,目标-行为也是一种映射关系,在不同的上下文下,有不同的绑定存在,这不是一个简单的两个神经元之间的连接的问题,而是对于一个绑定组,比如记录了规则映射,当key受到激活时,value会接着受到激活,然后注意可以带着目标来关注这个value,value就会被注意路由到它所需要的地方,比如发出运动指令。比如一个球飞过来,你就要有反应,首先判断球的速度方向,然后在预测它接下来可能的轨迹,然后再发出运动指令,接这一个动作的运动指令也是相当复杂的,基本需要在参数确定下来的瞬间直接下放给训练好的神经模块,自动去完成。
当然还有一种可能就是不把value路由,而是value本身就在运动控制的地方,自动将其激活而发生运动控制。
第四个问题,执行。计算机中执行过程是这样的,计算机中只有读写两个动作,所谓的在纸带上写,和更改状态,都认为是写,反而我们看大脑中,由于读写并没有明确的位置和阶段,执行无法在读写头这样一个明确的位置发生,信息的路由过程,本身就在不停地改变整个大脑的状态,这个过程中也在不停地发生写动作,而经过流转导向最终到达肌肉时,也自然地完成了运动控制的工作。
那么图灵机制中的控制器到底是过程呢?它是如何做到如此灵活的呢?
控制器我们认为他可以向外界发出任何指令,比如你可以随意的控制肢体的运动,不一定非要依赖感觉驱动,感觉驱动机制在19世纪就被心理学家所抛弃了。控制器里有神秘的意识,这个机制是最后的秘密。我无法对意识给出任何科学的解释,我的职责是如何设计控制器以实现以下目标:
1. 自由控制,自由意志的体现,包括抑制旧脑,对注意力的控制,比如一件事情做着做着,突然就不想做了。我认为完全真正的自由是不存在的,很多找不到外界状态依赖的自由意志的表现其实是随机的结果,大脑本身在各个层面都具有很强的随机性。
2. 根据当前状态、结合知识,做出被动控制。
3. 支持自由控制和被动控制的组合控制。
4. 可以在有限的范围内读写工作空间中的世界模型。
主观体验和意识并没有列在这些目标里,因为我们并不知道,意识和主观体验是不是和颜色、三角结构一样只是可感知的完全不同的概念而已,这些概念可以帮助区分自我和外界,除此之外,我还不知道它如何从功能上帮助完成了智能任务,或者哪些智能任务的完成,必须需要这个东西。
被动机制
类似于计算机的被动指令执行过程一样,大脑的运转需要这样一个过程,首先我们要解决的是如何一步一步地执行指令,如何处理栈,上下文,如何基于当前状态,发出新的指令,如何基于认知进行推理,所有这些细节,都涉及图灵机制的正常运转。这里我们尽量先摒弃纯主动意识形态的自由控制层面,仅讨论不在主观故意干预的情况下,一些算法类的任务如何有效运转。
传统计算机是按照程序执行的,每条指令都可以改变整体状态,同时读取指令可以加载部分状态,计算过程可以产生新的有特定目标的有意义的数据。冯诺依曼体系机构的现代计算机的实现方式是利用程序计数器,指令执行器的配合,在频率发生器的驱动下,逐条执行指令。
执行指令的过程,又可细分为:取计数器的值,取指令、指令译码、执行指令、结果写回。
跳转和循环的实现就是篡改计数器的值。
整个通用过程是一套逻辑电路搞定的。
所以指令序列是核心驱动过程,通用性体现在程序结构中,可变性体现在内存上。
到了大脑中这些东西突然变得似乎简单了,因为读写似乎分离了,记忆和控制在持续进行,而记忆和控制指令的发出,可能来自于自主意识也可能来自于条件反射,也可能是主意识基于当前状态和规则做出的决策指令。我们重点研究的就是最后一种。
这个过程有个核心缓环节就是查表,查表的结果又自主意识决定时机和节奏。就像我知道要这样做的,但是被自主意识决定何时进行这个动作,比如唱歌时节奏的控制,可以慢着唱也可加快唱。
这个节奏控制是一个目标只是有些外界引发的目标有些是自主选择的目标,比如老师让你唱的再慢一点,那么节奏既作为目标,又作为编织因素,会与唤醒的序列进行组合编排,本质是在一个符合目标的节奏上进行组合控制。
所以这里涉及两个核心机制,一个是目标的保持,一个是查表征用。这已经探究到意识最核心的机制问题,这个到底是潜在不可观察的机制呢?用计算机属于是这个内核循环怎么写?从并行的角度看,default network如何协同出这些机制来?
意图或目标的产生我们可以认为受各种力量甚至随机的综合驱动而产生,有些是目标衍生目标。
总结
本文我们介绍了广义图灵机制,提出图灵机制是大脑进化的结果,是广义状态机的进一步延伸,增加了注意力、符号化,使得神经网络可以完成计算任务。也提出图灵机制的诞生,解决了时间上的组合解构问题,从而配合特征不变性抽取一起完成了时空上的组合解构问题。
值得注意的是,图灵机制并不是大脑中的唯一智能元素,它是为了解决某类复杂问题,而引入的机制,它也和其他机制相互配合,一起来完成智能体需要完成的各类智能任务。
图灵机制是大脑中的符号处理系统,我想图灵的工作就是将我们脑中的这个能力,以形式化地表述出来了吧,是一个伟大的科学发现和总结。
全部0条评论
快来发表一下你的评论吧 !