首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA——人工智能的未来

FPGA——人工智能的未来

一、 问题溯源
人工智能理论是随着数字计算机的出现应运而生的。人们对于计算机这种具有高速运算能力和大规模数据吞吐量的机器充满了希望。在电子制造业高速发展的几十年来,计算机的硬件水平倍数级攀升。在其间,人们发明了多媒体音频处理,电子游戏,网络通信,手机和各种电子终端。然而,人工智能的进展却微乎其微,若将现今的智能设备与二十年前的机器对比,发现没有多大长进。相比于硬件摩尔定律式的发展,人工智能领域的发展可以说是微乎其微。白白枉费了计算机工程师几十年的辛劳。
www.xwcsfp.com www.xwcsfp168.com   www.hhcsfp168.com“电脑”,“智能手机”实际上都只是指令执行器,生硬到不能产生随机数。这些东西无脑亦无智。对智能词语的滥用一方面表现了人们对人工智能的期待,另一方面也说明了对计算机的误解,认为只要计算机足够快,他就能拥有人一样的智能。那么智能产生的前提是什么?我们怎么能够保证智能在计算机上一定能够实现?
而在另一个领域,近些年来随着微电子制造业的迅猛发展,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,这种处理方式在下文将具体介绍。
大脑记忆的内容也是特征序列,我们用一系列垂直柱(计算的基本单元)的组合来表征某个特征,通过丘脑的作用(猜测是这样)实现序列所需的延时。
一个与之相对的例子是现在流行的神经网络模型。在这些模型中训练和记忆的内容是一些权值和阈值。在这些模型中,特征序列都是准备好的,训练的目的是匹配每个特征序列的权重,使得权重设置为一个最理想的向量组;同时,他们没有采取序列的概念,将重点放在静态元素上。这种做法与大脑的工作重点不相符。
大脑新皮层最初对于所有特征都没有记忆,因此没有任何判断力,初生的婴儿的行为能力来源于古脑等结构,这些结构可以对基本的刺激做出正确的反应,以便于维持生存需要,而对于复杂的与生存无关的特征,则没有确定的行为。但是,这些特征序列作为新事物,在大脑中以编码的形式形成记忆,即用特定的一系列垂直柱的兴奋来代表特征,同时大脑皮层也会记住,在历次面临这种情况时,采取哪些输出将使情况向好的方向发展,采取哪些输出将使情况更糟。这样,随着我们的学习,
吹吧,FPGA每况愈下喽!~

深圳潮光光耦網——光耦(隔離器)應用服務商
原裝、正品、現貨
潮光光耦网-全球光耦资源整合者
返回列表