文档介绍:人工智能 FPGA ——人工智能的未来基于大规模数字逻辑的人工智能实现的可行性分析注: 本文为一年前写成, 具有一定的科普性, 其中有一些内容带有一定推想色彩,对其中的科学依据的真伪不予负责。摘要: 本文以大脑的工作原理的 FPGA 实现为出发,论证了其可行性,并提出了初步的电路模型。全文分十部分: 第一节介绍产业背景; 第二节论证现有技术为什么不适用于实现人工智能; 第三节介绍大脑皮层的物理结构; 第四节介绍 FPGA 的物理结构;第五节讲述智能机器的基本功能,即记忆——预测模型; 第六节讲述模型在大脑中实现方式, 第七节层级间的多层特征处理机制,第八节层级内部的垂直柱模型,并提出了电路化模型; 第九节讲述 FPGA 实现的人工智能的路线图;第十节预测未来机器的形态。一、问题溯源人工智能理论是随着数字计算机的出现应运而生的。人们对于计算机这种具有高速运算能力和大规模数据吞吐量的机器充满了希望。在电子制造业高速发展的几十年来, 计算机的硬件水平倍数级攀升。在其间, 人们发明了多媒体音频处理, 电子游戏, 网络通信, 手机和各种电子终端。然而, 人工智能的进展却微乎其微, 若将现今的智能设备与二十年前的机器对比, 发现没有多大长进。相比于硬件摩尔定律式的发展, 人工智能领域的发展可以说是微乎其微。白白枉费了计算机工程师几十年的辛劳。“电脑”,“智能手机”实际上都只是指令执行器, 生硬到不能产生随机数。这些东西无脑亦无智。对智能词语的滥用一方面表现了人们对人工智能的期待, 另一方面也说明了对计算机的误解, 认为只要计算机足够快,他就能拥有人一样的智能。那么智能产生的前提是什么?我们怎么能够保证智能在计算机上一定能够实现? 而在另一个领域, 近些年来随着微电子制造业的迅猛发展, FPGA/CPL D 等大规模集成数字逻辑芯片相继出现, 它可以将数以万计的逻辑门电路以可编程的方式烧写到单一芯片中。其最大的特点是大规模的对等逻辑。然而, 这个特征并没有得到充分的发挥, 业界的应用方向无非是用它烧写若干个软 CPU 核, 甚至外加 DSP 核, 连同周边的数字逻辑实现一个专用计算机,准确地将是嵌入式系统,在此 CPU 上运行μ clinux 或者 WindowsCE 操作系统, 让它像计算机一样工作。然而, FPGA 用作此用效率并不高,其应用方向的迷茫促使我们思考: FPG A 的特点究竟能够做什么? 二、现有技术为什么不适于研究人工智能现有的人工智能方式主要是利用数学公式将特征事物通过数学建模转换为数学模型,比如神经网络的模型,利用特定的运算手段求解, 并通过计算机编程实现运算过程。这种方法可以收到一定的效果,但是由于模型过于简单,运算量过大,使得智能几乎不可能实现。那么数学手段为什么很难推演智能呢?数学是一个独立于自然界的一个自洽的运算体系, 变量之间的约束关系构成了数学公式, 然而这些公式中能够被求解的大多是多数入变量, 单输出变量的公式, 即使是利用矩阵的方法, 最多也只能处理实数集合。但是, 如果需要进行运算的是一个复杂的数据结构体, 就显得颇为繁琐, 比如人包括头部和身体,头部包括五官和大脑等,五官的任何一个还有其内部结构。这样的数据格式, 任何数学公式对它的演算都必将使繁琐的。何况如果数据单元的各个数据之间还有许多牵连的话就更加无法表达了。然而, 生活中映射到我们大脑中的很多事物都具有很复杂的特征, 特征来源于不同方面(颜色,形状),特征之间含有复杂的层次关系,这些特征彼此联系, 这样的特征集合作为数据输入进行数学运算将是难以得出结论的。其次是计算机的模拟问题, 虽然计算机有很快的处理速度, 我们的大脑在信号的传递速度上比计算机慢大概一百万倍。有个很有趣的法则, 叫做一百步法则, 是说一秒钟之内, 你所做出的判断实际上最多经历了大脑中的一百个神经元的链条, 它的传播速度使得信号只可能走这么远, 但是我们一秒钟之内完全可以辨认出熟人的面孔, 如果将这个工作交给计算机, 几万行指令都不能实现。其根本原因其一是大脑的处理结构是对等的, 然而计算机是专有的, 不同的区域由自己专门的任务。比如中央处理器, 内存, 显示卡等, 中央处理器内部的结构也是专有化的。其二是处理的非并行, 典型的微机只有一个核心处理单元( ALU ),每一个时刻,只允许有一条指令通过,无论其运转频率有多高。如果想让计算机处理并发事件, 那么其唯一的办法就是分时处理。即在不同的时间段处理不同的任务。现今的多核处理架构虽然可以进行少量的并行, 但是其结构体系的功能专有化并没有任何改变。然而对于大脑, 从硬件结构上讲, 是由大规模的对等结构组成, 这个体系中的每一个处理单元的作用微乎其微, 然而, 正是这种规模化的协同并行处理使得其具有智能。诸如上述, 如果实现人