Hopfield提出了“按内容寻址”的概念与模型。“按内容寻址”就是说按照提问的内容启动脑的运动,使脑系统随之产生一串我们需要的信息。
我们先来看看记忆的存储。记忆的存储就是把我们的脑,把信息存在脑子当中,随着时间的推移它能够保持。记忆的恢复,就是把存储的信息按照需要的内容提取出来。2000多年以来,人们对记忆的认识,理解的都是往脑子里装信息。也就是说,理解成它和笔记本、电脑的存储器等等这些工具一样的,就是记录信息。
现代心理学基于大量的实验和观测,认为这种看法是完全错误的。记忆是新旧信息的组合。它既依赖于新的信息,也依赖于之前存储于脑中的旧的信息。而且,它还要把新信息和旧信息,有机地组合起来。
这就是哈佛(Harvard)出版的《心理学》(D. Schacter etc. 著 ,中译本,华东师范大学出版社,2015)这本书里,关于记忆的描述最基本的地方。传统的记忆方式中,都要有一个目录或索引,以提供记忆的存储地址,但是我们的大脑中似乎并没有这个索引。于是我们就要问一个问题了,你的记忆既然没有索引,那人的脑子是怎么把记忆存进去,用一个什么样的不同的模式把记忆存进去,又能按照我们的需要把它提取出来?
我们的脑子可以看成是一个,超大数量的神经元互相连接在一起的,这么一个大系统。这个系统是处于不停地运动和改变当中。脑的记忆,并不是简单的记录所要记忆的信息本身,而是记忆产生信息的方式。我这句话,下面我会用模型仔细的解释。
我再重复一遍,就是说,脑不是简单的记那些信息本身。笔记本是记忆信息本身,磁盘、U盘什么都是记忆信息本身。但是,那些只有容量的大小和提取速度的差别。而脑记忆的是产生那些信息的方式。
通过改变神经元之间的连接,就可以使得脑产生这些信息。提取就是从一些提问——提问其实就是我这个系统的,某一种比较简单的状态——然后经过脑子运转,把需要的信息,全让它产生出来。我说的信息并不一定只是,我们的脑系统在某一个时刻所处的状态,它也可以是一系列的状态。先出什么,再出什么......
我们可以想一想,我们的脑子是不是这样的。比如举个例子,我问你一个问题,今天早上你吃的是什么?然后你脑子里一下就出来了好多:我先拿了玻璃杯,倒了牛奶,然后又拿了面包,然后喝了牛奶、吃了面包,也许还煎了鸡蛋等等。其实人家并没有问你那些过程,但是你脑子里想的时候,肯定这些过程自己就冒出来了。
可见这是脑自己产生出来的,这跟有索引提取的那个就不一样。索引提取是说,你根据索引找到它,是什么信息就是什么信息。但脑它会有一系列的东西冒出来。由此可见,脑的信息的提取并不是,根据索引去找一个存储的地址,然后根据这个地址把里面的信息给拿出来看。而是由我们的脑产生所需信息的一大串信息。也就是,通过启动脑的运转,让它把这一大串信息在脑里过一遍。于是你就知道了这个信息。
所以我先来讲Hopfield的记忆神经网络模型。它的核心问题就是所谓的“按内容寻址”的记忆。就是说,我们的脑不是按照某个索引去找所要信息的存储地址,再按索引给出来的地址去找到这个地址里存储的内容。
按内容来寻址,就是说你的提问是什么内容,我根据这个内容,由脑系统自动把与内容相关的信息找出来。它不是真正找到地址(其实这个地址根本不存在)。更准确一点说,是按你的内容我启动脑的运动,使得脑的运动随之就产生一串我要的信息。Hopfield的网络就提出了这样一个“按内容寻址”的概念与模型。
神经网络的特点,它有两个状态,激发态和抑制态。这两个态,一个记为正1,代表激发态,一个记为负1,代表抑制态。有N个神经元组成一个神经网络,用X来代表。整个的网络可能的空间,就是。在这个空间上,Hopfield给出一个具有联想功能的、确定性的(或者随机的)动力体系。用它来代表这N个神经元互相关联的运动。这个关联是非常重要。
由于这个N非常非常的大(我们的大脑有约一千亿个神经元),那它全部可能的状态更是大得不得了。所以它可以表达很复杂很复杂的事情的信息。我都可以把它表达的信息,看成是网络X的一个状态,或者它的一个状态序列。下面,我用比较数学化的语言和符合来进一步说明在网络X上的动力学。
首先,神经网络的神经元之间有个相互作用势。相互作用势其实很简单,就是说,假如说现在网络系统处在X中的一个状态x(它是一个N维向量,第k个元素表示第k个神经元的状态:=1,表示处于激发状态;=-1,表示处于抑制状态),那么第i个神经元对第j个神经元,它的相互作用势就是。其实也就是说假定是+1,那么j对i的作用就是一个正的。假定是个-1,那对第i个神经元就是一个负的,这个很简单。
那整个体系对第i个神经元的作用呢?就是乘上的对所有j的和。这也很简单,它前头乘了个1/2,为了看起来对称。所以这是挺简单的一个函数。就是的一个线性函数,一个线性组合。由于只能取+1和-1两个,所以这个函数非常简单。这就叫相互作用势。
如果这个势高于一个门限值a(i),那下一时刻,第i个神经元就处于激发态;假如低于门限值a(i),下一步,这个神经元就处于抑制态。也有的稍微复杂一点,就是说它规定等于的时候,就给一个零状态,于是它的状态就有三个。我们暂且不讲那个复杂的,就讲两个状态,就这么简单。所以就可以看到,决定这个动力学的基本东西就是。
于是,从x出发下一步系统的状态如果用y来表示的话,那么y的第i个神经元的状态是什么呢?在a(i)有一个跳跃的阶跃函数,从-1跳到+1。那么,你把刚才的那个相互作用势,套到这个阶跃函数中去,它所完成的任务就是刚才说的那样的一个任务。
这个动力学很简单。但是,它实际上是可以执行很多很复杂的任务。这是所谓的决定性的动力学,那么我这里还引出了一个系统随机运动的规则。为什么需要引进系统的随机运动呢?待会我再解释。那么随机运动的规则跟刚才差不多,就是把刚才的那个推广一下。
我就把刚才的 这个函数,摆到指数上去,变成根据Bolzmann原理,我们就认为=1及 =-1的概率和它们成比例;归一化后,这两个概率就是和。当β非常非常大的时候,β趋于无穷的时候,这个概率就跟决定性的情况一样:以概率为1的,按决定性规律执行。
所以概率模型可以简化地叙述为,对于非常大的β,这个系统,以很大的概率按决定性的规律执行,但是以一个小概率,不按它执行,而按它的相反结果(因为它一共只有两个结果)执行。
所以这个规则其实是非常简单。正因为它的规则非常简单,所以对它的特性,我们就比较容易看出来。但是反正它规定了一个规则,那么我们下面来看看这样一个规则,它到底能不能完成我刚才讲的这个任务?
我先来说提取。为了说提取这件事情,我下面要稍微说得数学化一点。我们刚才说的,它的决定性规律,无非是在的空间上引入了一个动力学。那么这个动力学就会有很多吸引子。什么叫吸引子,吸引子是一个状态的集合。系统如果从这个吸引子里头的状态出发,它只能继续呆在这个吸引子里面,不能出去。
假定这个集合一共只有一个状态,假如是x,那么它是这个系统的吸引子的意思就是说,按照动力体系现在在x,下一步还在x。这个吸引子有个吸引盆。吸引盆什么意思?就是走m(m>0)步以后,要进入这个吸引子的全部状态。因为我们是有限状态的,所以它一定会进入吸引子。而进入这个吸引子,它就老跟那儿蹲着了。
所以,我们就可以把刚才的记忆提取问题转化为:如果一开始的提问,代表的信息假如是z,那么我让系统走有限步,比如说k步,它就跑到这个吸引子x里面去,这个x可能就是代表的全部信息(完全的信息)。
这个就是说,记忆恢复的过程是由一个不完全的信息,经过系统的运转,导出了一个完全的信息。这个完全的信息包括你提问所要问的东西,所以提问是一个不完全的信息。因为他说了吃早饭,吃早饭也是一个信息,你早上吃了早饭,对不对?于是你想吃早饭,你首先是我吃了没有,然后是吃了什么?吃了早饭这件事情,其实是个部分信息,那你导出完全信息就是,怎么吃的,吃了什么?
吸引子也可以是包括多个状态的状态环。我刚才说了,因为你一个状态的信息,它比较简单,还可以它是一列状态,。那么这个里头最典型的这样的状态环就是在系统的运动下变成,变成,变成,然后到以后又回到。
所以你一旦进入这个吸引子,在系统规定的动力学下,它就老在这里头转了。这里的吸引子,就相当于常微分方程里面的极限环。例如,,它的吸引盆是。
系统从极限环的吸引盆里头出发,它就往这个吸引子跑,由于我们状态是有限的,所以它一定不是无限时间才到,它就是直接到达。于是从你这个吸引盆里头的任何一个提示出发,它就会走走走,走到这个吸引子里头去,然后把完全信息给呈现出来,这就是脑的记忆恢复的基本模型。
那么接着,这个就是我怎么存进去?你知道,就举两个简单例子,我信息是x,我怎么让系统具有以x为吸引子。所以Hopfield在他的文章当中,就给出了这么一个东西:怎么去改变使得它具有我们要的吸引子。
我下面在讲具体规律之前,我先讲两个信息学里头给我们的提示。因为只有我们给出的模型具有这种性质,才说明我们给出的模型是符合实际的。一个提示就是我刚才说的,当你问一个提问的时候,你得到的完全信息,不见得只包含提问要的内容,它可以比提问要的内容更多。
第二个,心理学的一个书里头也说,记忆是变化的,记忆在我们脑子里头,会加强或者淡忘,而且,时常被“复述”的信息,或者出现非常相似的、相关的信息,会使得我们记忆加强,而形成长程记忆,这是脑子里的另外一个功能。那么总之一条,就是说记在我们脑子里,其实并不是记进去了以后,就一成不变,记忆会加强,也会淡忘。
好,假如我要记n个独立的信息,。那么我只要取那个修改量是,它的第i个分量乘上,是要记得这串序列,的第j个分量的乘积,把它全部都加起来,然后乘一个因子。这个因子其实不重要,重要的就是后面这个东西。两个东西的乘积,那么把所有各项加起来,就是
其实假定p=1的话,那也就是,就是。很简单,那你看看这个很神奇。按照它的规则我们就可以算一下,我里有个算式。按照这个算式,按照我们刚才的规则算出来,假定输进去是,那么输出就是。这就记住了。事实上,故而
假如你要记住的信息满足两条,第一,p个信息是相互独立的,每个信息只用一个状态就可以描述,那么你就取我刚才讲的那个修改。又如果你假设你脑子里原来没东西,那直接就取它为,就是,这么一个连接系数,你就把,通通都记住了。很神奇吧。
而且假如说你要记得是一串,那么只要在刚刚的式子里,把改成。也就是说,原来两个指标一样,现在你就改成输入输出的两个指标就行了。而且假如这一串,是相互独立的一串序列。这一串序列我就记住了。所以,假定它就有这个吸引子,所以你从这个吸引子的吸引盆出发,它就会恢复到这里。
那么我们现在来问一句,这样的学习,跟把所有的知识堆在脑子里的记事本,有什么不同?没有附加的方式,记事本记得是平行的,没有区别。记事本记得,也与你已有的信息之间没有关联。但是在大脑中,就把所有的状态空间组织起来,形成了吸引子,和这个吸引子的吸引盆。于是就有从哪些状态出发,我就可以走到这个,要恢复的全部信息,它就建立了状态之间的联系,而这个状态之间的联系,正是我们恢复的现实,所以它这就叫做“以内容寻址”。
作者(译者)面对面为你讲解一本书的核心要义。
喜欢就下载APP试用吧!
作者(译者)面对面为你讲解一本书的核心要义。
喜欢就下载APP试用吧!