FPGA——人工智能的未来
基于大规模数字逻辑的人工智能实现的可行性分析
注:本文为一年前写成,具有一定的科普性,其中有一些内容带有一定推想色彩,对其中的科学依据的真伪不予负责。
摘要:
本文以大脑的工作原理的FPGA实现为出发,论证了其可行性,并提出了初步的电路模型。
全文分十部分:第一节介绍产业背景;第二节论证现有技术为什么不适用于实现人工智能;第三节介绍大脑皮层的物理结构;第四节介绍FPGA的物理结构;第五节讲述智能机器的基本功能,即记忆——预测模型;第六节讲述模型在大脑中实现方式,第七节层级间的多层特征处理机制,第八节层级内部的垂直柱模型,并提出了电路化模型;第九节讲述FPGA实现的人工智能的路线图;第十节预测未来机器的形态。
一、 问题溯源
人工智能理论是随着数字计算机的出现应运而生的。人们对于计算机这种具有高速运算能力和大规模数据吞吐量的机器充满了希望。在电子制造业高速发展的几十年来,计算机的硬件水平倍数级攀升。在其间,人们发明了多媒体音频处理,电子游戏,网络通信,手机和各种电子终端。然而,人工智能的进展却微乎其微,若将现今的智能设备与二十年前的机器对比,发现没有多大长进。相比于硬件摩尔定律式的发展,人工智能领域的发展可以说是微乎其微。白白枉费了计算机工程师几十年的辛劳。
“电脑”,“智能手机”实际上都只是指令执行器,生硬到不能产生随机数。这些东西无脑亦无智。对智能词语的滥用一方面表现了人们对人工智能的期待,另一方面也说明了对计算机的误解,认为只要计算机足够快,他就能拥有人一样的智能。那么智能产生的前提是什么?我们怎么能够保证智能在计算机上一定能够实现?
而在另一个领域,近些年来随着微电子制造业的迅猛发展,FPGA/CPLD等大规模集成数字逻辑芯片相继出现,它可以将数以万计的逻辑门电路以可编程的方式烧写到单一芯片中。其最大的特点是大规模的对等逻辑。然而,这个特征并没有得到充分的发挥,业界的应用方向无非是用它烧写若干个软CPU核,甚至外加DSP核,连同周边的数字逻辑实现一个专用计算机,准确地将是嵌入式系统,在此CPU上运行μclinux或者WindowsCE操作系统,让它像计算机一样工作。然而,FPGA用作此用效率并不高,其应用方向的迷茫促使我们思考:FPGA的特点究竟能够做什么?
二、 现有技术为什么不适于研究人工智能
现有的人工智能方式主要是利用数学公式将特征事物通过数学建模转换为数学模型,比如神经网络的模型,利用特定的运算手段求解,并通过计算机编程实现运算过程。这种方法可以收到一定的效果,但是由于模型过于简单,运算量过大,使得智能几乎不可能实现。
那么数学手段为什么很难推演智能呢?数学是一个独立于自然界的一个自洽的运算体系,变量之间的约束关系构成了数学公式,然而这些公式中能够被求解的大多是多数入变量,单输出变量的公式,即使是利用矩阵的方法,最多也只能处理实数集合。但是,如果需要进行运算的是一个复杂的数据结构体,就显得颇为繁琐,比如人包括头部和身体,头部包括五官和大脑等,五官的任何一个还有其内部结构。这样的数据格式,任何数学公式对它的演算都必将使繁琐的。何况如果数据单元的各个数据之间还有许多牵连的话就更加无法表达了。然而,生活中映射到我们大脑中的很多事物都具有很复杂的特征,特征来源于不同方面(颜色,形状),特征之间含有复杂的层次关系,这些特征彼此联系,这样的特征集合作为数据输入进行数学运算将是难以得出结论的。
其次是计算机的模拟问题,虽然计算机有很快的处理速度,我们的大脑在信号的传递速度上比计算机慢大概一百万倍。有个很有趣的法则,叫做一百步法则,是说一秒钟之内,你所做出的判断实际上最多经历了大脑中的一百个神经元的链条,它的传播速度使得信号只可能走这么远,但是我们一秒钟之内完全可以辨认出熟人的面孔,如果将这个工作交给计算机,几万行指令都不能实现。其根本原因其一是大脑的处理结构是对等的,然而计算机是专有的,不同的区域由自己专门的任务。比如中央处理器,内存,显示卡等,中央处理器内部的结构也是专有化的。其二是处理的非并行,典型的微机只有一个核心处理单元(ALU),每一个时刻,只允许有一条指令通过,无论其运转频率有多高。如果想让计算机处理并发事件,那么其唯一的办法就是分时处理。即在不同的时间段处理不同的任务。现今的多核处理架构虽然可以进行少量的并行,但是其结构体系的功能专有化并没有任何改变。
然而对于大脑,从硬件结构上讲,是由大规模的对等结构组成,这个体系中的每一个处理单元的作用微乎其微,然而,正是这种规模化的协同并行处理使得其具有智能。
诸如上述,如果实现人工智能,就必须从大脑的结构出发,从大脑的基本处理方法出发,真正理解大脑的工作原理是开发人工智能机器的必由之路。
三、 大脑新皮层物理结构探究
<1>神经元
神经元由细胞体、树突和轴突组成,树突用于接收信号,轴突用于发送信号。
<2>一小撮神经元——自匹配记忆体
“自匹配记忆”理论证明了神经元之间的精确连接能够带来记忆。
自匹配记忆由相互连接的简单神经元构成,它们之间的连接方式不同,其中涉及大量的反馈,这种神经元在达到某个临界点时可以自动激活,当一种模式施加在人工神经元之后,他们就会对这种模式形成记忆,这种记忆叫做自匹配记忆。
记忆是形成记忆——预测模型的基础,本文将逐步阐释记忆——预测模型是怎样实现的。
如果几个神经元都可以带来记忆,那么大规模的相似结构带来的是什么呢?
<3>大规模的神经元互连——大脑新皮层
大脑皮层有众多神经元组成。其物理结构按照其细胞种类不同可分为六层,L1主要由平行延展的轴突组成,L2,L3层由锥体细胞的神经元构成,L4有一种星形细胞,L5层除含有正常的锥体细胞外,还含有巨大的金字塔形细胞,L6层也有些独特的神经元。形成皮层的最大一类是金字塔形神经元,占细胞数量的4/5。除最上层有长达几千米的轴突区几乎没有细胞外,其他五层中都有金字塔形神经元,它与自己最近的神经元相连,并伸出长长的轴突,向旁边的大脑皮层延伸,甚至可到达较低的大脑结构——丘脑。一个标准的金字塔形神经元有几千个突触。他们的密度极大且个体极小,保守估算一下,一个普通金字塔形神经元有一千个突触,大脑皮层就有大概30兆个突触,这些突触用来运行所有的推理和提供记忆。
更深一步的大脑功能的研究,提供了许多很重要的结论,我们主要关注蒙卡斯尔的单一皮层算法
<4>结构对等性与单一算法理论
“大脑皮层在外表和结构上惊人的相似,不论是主管视觉输入的区域,主管触觉的区域,控制肌肉的区域,布罗卡语言区域还是其他,实际上结构完全一样。”同时,我们推测“既然这些区域是相同的,那么他们在实际中所发挥的作用也可能是相同的,而且大脑皮层完成各个功能所使用的方法也是相同的。”也就是说“大脑皮层各个功能区域都遵循着一个共同的算法”同时,实验证实“进入大脑皮层的输入信息是基本相同的”,无论来自什么感觉器官。所以,如果某个算法只能用于处理视觉,而不能处理听觉的话,它就不应该是智能的算法,我们必须找出一种方法,使之对于任意的输入都能做出合理的令人满意的输出,尽管它可能并不擅长计算和批量无损记忆。同时,我们也只需要研究这一种方法,就应该能够对所有的输入设备服务,也就能够驱动所有的外围设备,而不需要专门的驱动,这方面计算机几乎不可能做的,计算机的每一个外设都需要特制的驱动,完成任何一个任务都需要特制的算法程序。同时,对于大脑结构的令人惊讶的对等性,于计算机而言,也是完全不同。
一百步法则证明,我们的大脑不可能有复杂的数学式的计算,同时又不会有专门的算法,那么这种普适的效率极高的通用算法是什么样的算法,它究竟能在什么结构上实现?答案就是记忆——预测模型和基于逻辑层级结构的特征序列处理体系。
首先,我们先证实一下,FPGA能不能构建大规模的对等逻辑,这个逻辑是实现处理方式对等的基础。
四、 FPGA的物理结构
早在1943年,神经生理学家Warren McCulloch和数学家Walter Pitts解释了神经元是如何数字化工作的,他们认为:大脑神经元的工作原理和电路的逻辑门是一样的。用精确的方式可以将神经元连接起来,以实现逻辑功能,可以把神经元想象成生物上的逻辑门,这样,我们可以大胆想象,大脑是由“and”,“or”等逻辑门及其他类的逻辑节点构成的,和数字逻辑相似。大有可能大脑的神经元就是这样工作的。
虽然由于当时的条件所限,他们的理论只能归咎于一种设想。但他却表明,神经网络的逻辑电路化是可能的。现今,最适合的实验平台已经到来,那就是FPGA芯片。
FPGA学名叫现场可编程门阵列。它可以将数字电路通过代码的方式进行描述,并通过器件综合的方法将其自动转化为可实现的硬件结构,通过烧写程序将此结构固化到芯片上。一个芯片可以反复烧写数千次。
下文以Altera公司的Stratix系列为例,一片Straix芯片可集成80000个LE(基本单元),StraixII系列甚至可以达到180000个等效LE,每个LE包含一个四输入查找表(可看作两个两输入门),一个可编程触发器(用于时序电路)和一些辅助电路。同时具有数据存储器和十二个全局时钟。其内部结构为行列走线结构,行列线之间就是LAB块,一个LAB块包含10个LE。
LAB
LAB
局部互连线
局部互连线
局部互连线
M512
RAM
块
LAB
LE
LE
LE
LE
...
共10个
LAB内部结构
LAB与行列线结构图
可以概括的说,大脑皮层的物理结构是由神经元构成了垂直柱,作为基本计算单位。垂直柱的并行工作机制实现了记忆——预测模型和特征序列检索。
而FPGA是由LE作为基础单元。基础单元之间可以进行并行处理和时序逻辑。
值得注意的是,我们并不需要在意FPGA中的物理结构与大脑新皮层的相似性有多高,因为现今的器件描述语言(如VHDL和Verilog HDL)和器件综合工具(如Altera公司的QuartusII软件)能够将逻辑结构自动转化为物理结构。我们只需要保证逻辑结构的相似就可以了。在此,只是为了说明,我们可以充分利用其物理结构的优势将所需的逻辑上的智能结构高效的转化为物理结构。
总之,FPGA是人类有史以来制造出的最接近人脑的器件的一种。无论是计算机,还是机械设备都无法与之匹敌,它是实现人工智能的最理想的硬件环境。
五、 记忆——预测模型
<1>输入到大脑中的信息形式
前文已述,进入到你大脑皮层的输入信息形式是基本相同的。无论是视觉还是听觉,都通过成千上万根神经纤维将信号传入大脑。你可以将这些输入看成一束电线,他们承载的神经信号被称为“动作电位”或“电脉冲”,虽然这些信号来自不同的感觉器官,一旦转化为有大脑控制的动作电位,他们就变成了完全相同的形式,由于它代表着输入的信号的特征,我们称这些信号叫做特征信息。
这些特征信息不是静态的,它是一个时变信息,因此我们称这种随时间不断改变的特征信息为特征序列。比如,在通常情况下,你的眼睛每秒钟会快速移动三次,它们注视一个点,然后很快又会突然跳到另一个点。也就是说,输入到大脑中的特征信息会随着每一次眼的扫视而彻底改变。何况在实际生活中,你会不停的转动头和身体,虽然你接受到的是一系列毫不重复的图像,但你感到的却是一个稳定的可观世界,这种感觉是由大脑创造出来的。感觉信息是一系列的特征,像一条河流进大脑,与其说它是一幅画,不如说它是一首歌。
<2>特征序列是大脑处理和记忆的对象
在识别周围环境的时候,大脑并不是识别事物本身,而是识别它的若干特征。大脑区分一个事物于其他事物,靠的也是特征。通常,大脑对静态的特征组并不敏感,而对动态的特征序列很敏感。因为当它确定一事物的时候,会将记忆中的下一个序列状态与实际相比较。比如某特征序列的电路化模型为001—>010—>100—>001,那么当处于010态时,他会对一组运动神经输出脉冲,期待得到100,这种处理方式在下文将具体介绍。
大脑记忆的内容也是特征序列,我们用一系列垂直柱(计算的基本单元)的组合来表征某个特征,通过丘脑的作用(猜测是这样)实现序列所需的延时。
一个与之相对的例子是现在流行的神经网络模型。在这些模型中训练和记忆的内容是一些权值和阈值。在这些模型中,特征序列都是准备好的,训练的目的是匹配每个特征序列的权重,使得权重设置为一个最理想的向量组;同时,他们没有采取序列的概念,将重点放在静态元素上。这种做法与大脑的工作重点不相符。
大脑新皮层最初对于所有特征都没有记忆,因此没有任何判断力,初生的婴儿的行为能力来源于古脑等结构,这些结构可以对基本的刺激做出正确的反应,以便于维持生存需要,而对于复杂的与生存无关的特征,则没有确定的行为。但是,这些特征序列作为新事物,在大脑中以编码的形式形成记忆,即用特定的一系列垂直柱的兴奋来代表特征,同时大脑皮层也会记住,在历次面临这种情况时,采取哪些输出将使情况向好的方向发展,采取哪些输出将使情况更糟。这样,随着我们的学习,记忆的内容丰富起来。我们对于各种输入都有了识别和处理的经验。
<3> 智能来源于记忆
大脑受到的特征序列来自不同种类的输入,其本身没有任何实际意义,那么大脑是怎么处理它的呢?
请你回想一下学骑车的经历。最开始,当你第一次骑车时,你根本无法控制它,因为从肌肉的压力感和身体的方向感这些特征模式序列我们没有学习过,这时,只能由古脑和其他经验支配平衡。逐渐你对骑车的相关特征模式变得越来越熟悉,稍有一点不平衡的感觉,大脑就能根据记忆找到解决办法。做出相应输出。因此可以说,大脑并没有对这些输入特征进行任何处理,而只是到记忆中去提取解决办法,大脑本质是一个特征序列的记忆体。
<4>智能来源于可控的预测
如果新大脑皮层只有记忆提取机制,它远远不会工作的这样好,因为神经元间信号传输的速度太慢,大脑无法实时的根据输入作出反应。大脑实际采用的方法是预测执行。即利用记忆的模式序列控制输出,而不是通过输入来控制输出,当反馈回的输入特征信息与自身记忆匹配时,它会继续以这种记忆序列输出,当不匹配的时候,大脑会立刻意识到有错误发生,可能还需要停顿一下,重新找到正确的记忆序列后,按照新的记忆序列输出。
如果不太明白上述的说明,请设想下面一个例子:
假如你每天都会从家中的卧室走到厨房,并且已经非常熟悉这样做了,今天在通往厨房的门下多了一个门槛,如果你不是很小心的话,很可能会被绊一下。这就说明发送给运动神经的输出是按照没有门槛的情况发出的,而不是根据从脚上传来的信号临时决定出的。换句话说,我们的输出信息是来源于预测的。
人类之所以智能,还有一个线索需要研究。那就是人类的新大脑皮层的六层结构中,第五层的大型金字塔神经元细胞与输出的运动细胞之间有着非常密切的联系。也就是说,我们的新大脑皮层根据预测的需要,可以直接控制运动器官,而不用通过小脑或者古脑。比如你看到了一个人的眼睛,猜测到了他是某个人,然后需要根据嘴的特征予以验证,这时新大脑皮层可以直接控制眼球移动,得到所需的信息。相比而言,海豚也有很大的新大脑皮层,它也有很强的记忆力,能够记住曾经到达过的海域。但是由于没有直接控制运动神经的通路,所以它们的大脑只能称作一个记忆体。而远远没有产生智能。
现在,我们已知了要实现人工智能,就要实现记忆——预测,它约等于指出了我们要制造的智能机器到底应该完成什么样的功能,下面我们就讨论一下具体的实现方式。我们仍然从大脑的实现方式出发。
六、新大脑皮层的多层结构与特征序列处理机制
我们若用实验的方法对视觉处理区域进行观察,就会发现它的逻辑结构具有多层性,最基本的视觉区是V1区,它由许多彼此分离的小皮层区域组成。V1区把处理后的特征序列传入V2区,V2区也由许多子区域组成,但数目较少,面积较大,它将特征序列传至V4区,V4区也是如此,最后传入IT区,这一区域是单一区域,对整个视觉界有鸟瞰作用。
同时,视觉区,听觉区等不同方面的处理区域之间也有高层将他们综合,使得各个感觉区之间是连通的。
值得指出的是,低级处理层有通向高级处理层的前向通路,而高级处理层有更多数量的反馈通路回馈到低级处理层,这些反馈的存在自有其意义,而计算机却很难表达。
基于这种基础结构,我们讨论一下信息流,也就是特征序列是怎样在这个体系中上下传播的。
设想一下,你是怎么通过视觉信息分辨出向你走来的是你的一个老朋友?
你的一个较高的大脑皮层的发出指示,要识别一张脸,它的向下反馈通路会通知它下属的物体识别皮层中所有关于朋友的脸的特征信号通道准入开启,而识别为其他物品的信号通道准入通道关闭。期待下方的大脑皮层的反馈信号会满足这种预测,即有脸特征的信号传入通道。这时,进入你眼帘的是对这张脸不同部位点进行的扫描,扫描是光线转化为神经冲动的过程。这些冲动表征的是一系列的特征,即特征序列,通过输入神经进入你的大脑,请注意,进入大脑的视觉信号并不是物体的图像,在大脑中,根本找不到这样的图像区域,我们只是看到了由图像抽象出来的一系列特征,这些特征最初也许只是相邻输入神经元间表征的物体颜色的跃变。这些信息被V1区整合成一个相对抽象了一些的特征序列,比如一个很小的倾斜直线或者边缘线,这些序列及从其他V1区的序列被送到较高级的V2区进行更高程度的整合,比如说发现这是一个眼睛的轮廓。然后送至V4区……就是这样,从低层而来的信号在准入开关的筛选之下,逐步攀升到较高级的区域,此时这个皮层将寻找这些特征序列中的若干特征,向上级皮层汇报一个特征名,表明这是一张脸,上级的脸识别的信号准入通道收到了应有的信号,即预测是成功的。此时,它将做出进一步预测,根据下级传来的预测外通道中最有区别能力的一些独有特征,猜测他是张三,于是开启关于记忆中张三特征序列的所有通道,只允许这个序列特征进入预测通道,并将这个特征名通知下面的皮层,这个特征名被下级皮层转换成自身的一系列具体的特征准入通道开和关,并以相同的办法通知下级,当传播到运动控制层时,它的输出控制运动神经(比如眼球的运动肌肉)对特定的欲观察处进行观察,V1区的细胞收到了新的信号,将特征上报,一层层回馈回去,符合的信号一直传入上层,如果上级的预测得到了肯定,那么它将会用同样的办法进一步核实,这就是对一张脸的不同部位进行扫描的控制依据。如果猜测失误,即没有在开通的通道中收到期望的信号,那么上级会从预测外通道中获取其他一些特征去匹配另外一个记忆,并根据此猜测开启其他一些开关。并通知下级去支配运动器官,期待其反馈。这样,确定的过程逐渐建立起来,当坚信它是某事物的时候,表征这一猜测特征的一系列神经元将一直处于兴奋,用于代表这个事物的特征序列,我们称这种现象叫恒定表征,我们有有理由承认,下属层向上属层汇报的特征名就是基于此层的恒定表征,恒定表征基于各层的特征组,发生在各级的处理皮层上。
设想如果是其他的一些情况,比如看到的物体不是脸,这时,起初的预测就会被否定,不会引起具体的猜测了,主管识别物体的那个皮层会尝试打开其他的特征开关,试图理解为其他的物体。如果怎么也找不到正确的预测,那么大脑就会完全陷于识别的思考之中,抑或顿悟,抑或放弃,研究表明,顿悟将引起上文所述的强烈的阶流式预测。而放弃代表着我们不再关心他具体是何种物体,也许只是当作一幅抽象画来欣赏。
如果将某个皮层作为一个电路模块,那么它可绘制成类似于以下基本形态的结构:
本皮层区域
序列名
前馈通路
开关选通号
上级反馈
运动输出*
下级前馈
向下反馈
*运动输出可选
皮层区域模块化图示
如果皮层区域间的传播方式基本确定了,那么皮层内部的结构应该是什么样的?
下文将试析皮层内部的结构与处理方式
七、 垂直柱理论及其电路实现
除了从横向上看,大脑皮层可分为六层之外,我们也发现了位于一特定柱形(斜柱形)细胞之间存在很强的信号传递关系,我们称这个结构为垂直柱结构,支持单一皮层算法的蒙卡斯尔理论指出,垂直柱是皮层的基本计算单位,也就是记忆——预测模型的基本单位。它的结构可如图所示
自下而上的特征信息传递过程
由下级皮层区输入的信号先到达第四层——主要输入层,顺带形成第六层的连接,然后向上投射到第二层和第三层的细胞,当一个垂直柱向上投射信息时,第二层和第三层中的许多细胞会向上级皮层区域的输入层伸展轴突,将自己的兴奋信号传输给上级皮层区。其中,第二层区域在输入有信号且垂直柱选通时输出,即预测内输出。第三层区域在有输入信号且未选通时输出,即预测外输出。这样此层垂直柱报告给上级的是两套数据——预测检验数据和预测外数据。
自上而下的特征信息传递过程
上级层的L6向此层的L1投射信息,L1中的轴突延展很长的区域,因此有激活下面许多垂直柱的潜能。L2,L3,L5的细胞都在L1层有树突,即可以接受来自L1的信号,L2,L3在L5处形成突触,从而人们认为它们能激活第五层和第六层细胞。
丘脑参与的延时链与肌肉控制
随时间变化的特征形成了特征序列,那么大脑就要具有专门的延时环节处理序列。人们发现皮层运动区(M1区)中巨大的L5层细胞与肌肉和脊髓中的运动区有直接的联系,这些细胞直接驱动肌肉,只要你在说话,打字,这些细胞就会高度协调的切换兴奋状态,使肌肉产生收缩。进来发现,L5层中的此种细胞在每一个区域都有分布,而不只局限于运动区。同时,值得注意的是,L5细胞的轴突一分为二,其中一支还伸向了丘脑,将信息投射到那类被认为是非特定的细胞上,这些细胞又将信息通过轴突投射回L1层。这样做,很可能是起到延时的作用。
L1的信息中有一半来自上级层的L6的投射,这部分作为序列名称,另一半是L5细胞延时 后的输出,它表征序列的当前状态。L1的输出有对L2,L3层细胞的选通控制作用,上级把序列名传递给L1层,L1层将其展开成一系列选通开关,对于L2的作用是正选通,即选通兴奋时,L2的兴奋可顺利上传,而对于L3来讲使反选通,只要选通兴奋,它的信号就不能被上传。而在选通不兴奋的时候,可以顺利上传。这样就使得L2,L3可以正确的输出预测内和预测外两组信号。
基于以上神经生物学上的依据,我们将一个垂直柱模型转化成如下的电路模型。
L4层的星形细胞对应于与门,对下级皮层不同垂直柱的输入作合并处理。与门输出分两路,分别通向L2的正选通三态门和L3的反选通三态门。(虽然严格的讲,三态门在控制端禁止时成高阻态,而本文作“0”处理,但功能相似,故仍沿用此词)三态门的控制信号由译码器输出控制。译码器同时接受上级的反馈信号和序列的延时信号。译码器的另一条输出通至L5层细胞,信号一分为二,一个方向通向延时器,另一个接通运动输出。
基于以上的垂直柱模型,我们可以将一个皮层的整体情况如图示:
每个“垂直柱”都对上级有输出,这个输出在上级的L4通过与门整合。
上级的输出通过译码器展开,用于控制每一个三态门。
译码和延时可以合并起来并通过计数型序列信号发生器实现,也可通过VHDL描述。
单皮层若干垂直柱的整体图形示于下页。
这样,一个酷似大脑结构的皮层模型就构建出来了,在此基础上,我们将其封装成模块,再配合上文的层级结构,即可构建新大脑皮层的整体结构。
顺带提一下,用与门代替星形细胞具有一定风险,因为它几乎没有容错性能,更为严格的方式是加权的部分与操作,只要到达一定域值就可输出。这要看具体的运行情况来决定。
单垂直柱结构等效电路图
单皮层等效电路总图
八、 FPGA构建人工智能体系的优势和劣势
FPGA运行的是数字逻辑,它的运行速度可以比神经元的传输速度快几十万倍。同时,FPGA是逻辑可移植的,而大脑的记忆不可移植。我们可以造出起初就具有很高智商的机器,而不用重新训练。再次,人脑的结构是进化而来,并不是最优化的,而且不可改动,而FPGA是人工的,其结构可以任意修改。最后是成本问题,一片FPGA的成本在几十美元左右,完全可以利用于各种消费领域,走进千家万户。
FPGA的缺陷主要体现在以下几方面:
逻辑智能一次性烧写。即在运行之前就要将所有确定性逻辑烧写到芯片中。然而,人脑却能够根据需要搭建新的神经突触。这个差别使得我们对FPGA的学习能力有所质疑。不过最坏的打算是他对新事物没有学习能力,但是可以通过烧写到芯片上的旧有记忆工作。利用它进行语音识别,图像处理等等都是可以的。补救的办法也很多,比如可以通过其内建的RAM(数据存取器)将译码逻辑存储到其中,进行动态的译码,只不过电路结构要进行一定修改。
其次是规模问题, 一个神经元所含的树突数量可达几千个,其轴突可延伸数千米之长,然而,一个数字电路们的输入端一般只多几十个,其布线也不可能向轴突的伸展那么容易。并且对于一个芯片,它的门电路总数相比大脑神经元来讲还是过少,不在一个数量级上。一个是百亿级,一个是十万级。何况十万中可能还要根据具体结构打折。不过人脑记忆了太多的信息,有太多的处理区域,而一个专用的芯片没必要那么复杂。做视频识别只需保留视觉处理就行了,这么看来,现在的规模是够用的。令人乐观的是,FPGA是一个通用电路,是一个实验性平台,一旦验证模型有效,大批量的专有芯片将产生,他们会有更大的规模和更优化的结构。可以说,微电子技术已经准备好了,等待的是新大脑皮层模型和原理的确定。
再次,是神经元的数字化问题,有人指出神经元的信号是模拟量,是不能数字化成“0”,“1”对待的,必须承认,以这种方式转换成数字信号,必将产生信息泄露,但是并不一定影响其工作。比如我们用一台黑白的打印机打印一幅彩色照片,黑白打印机只会在特定区域打点和不打点,即使是灰度也是通过打点的疏密模拟的。那么我们打印出的照片能够观看吗?可以的,虽然远远没有彩色的好看,但是我们仍然可以分辨上边的许多信息。也许将人脑数字化之后会产生相同的结果。
九、 基于FPGA的人工智能实现路线图
<1> 实现可行性分析,即证明所有逻辑都可以通过数字电路实现.
<2> 实现垂直柱模型,可以对标准输入做出正确反应.
<3> 实现多层结构,能做出对标准输入的恒定表征.
<4> 实现自主学习与训练,可以通过外界输入更改译码逻辑
<5> 实现对于音频的识别
<6> 实现简单的输出控制
<7> 实现对简单视频的识别
<8> 逻辑结构优化,使之精度提高
<9> 制作实用化产品样机
<10>进行更多领域的更复杂的信号训练,研究并改进其智能能力.
十、将来智能机器的想象
智能机器不必像人一样,具备两只眼睛和两个耳朵,根据大脑皮层统一算法原理,我们可以利用先进任何的传感设备作为输入,因为他不需要做特定驱动,同时,他的输出也不一定是身躯,而也许是某架无人飞机的操纵杆或者流水线上的机器手臂。
然而,他的核心处理结构应该和新大脑是类似的,比如有多层处理结构和记忆——预测能力。
他的硬件只是提供了智能的基础,它的有价值的输出是通过训练得到的,要想让他为我们服务,我们必须对它进行训练。
机器没有人一样的成长经历,因此,很可能没有人一样的情感,它的思维和行为方式可能于我们人类完全不同,但是我们需要智能机器,就像今日的家用电器一样,在不久的将来,人工智能设备将遍布于世界的每个角落,走进千家万户,走进我们的生活。
请大家相信,如果按照正常的研究阶段来推断,我们离目标并不遥远,也许只需等待几年抑或十几年,这个领域即将腾飞。如果有兴趣,不妨投入到这个领域的建设中来,相信你将大有发展。让我们大家拭目以待! |