您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 基于FPGA的神经网络结构的翻译
使用VHDL跟现场可编程门阵列实现一个多层感知器神经网络简介:我们的目的是如何使用基于FPGA的SRAM电路在运行时重新配置的能力来实现人工多层神经网络——在处理从一套微量化学传感器中获得的实时、非线性的数据中常要用的。所以在这篇论文我们提出一个基于多处理器的新型可变换的ASICs结构。1.介绍:有许多实时的应用,这要求用低功耗、小型化、自动化的系统来分类和识别。通常情况这样的器件由几个提供复杂数据的传感器组成,这些数据只能由人工神经网络来处理。从这个角度,电子鼻子的发展代表了替代传统的物理化学分析技术的一种新技术,它工作起来与人的嗅觉相似但结构更简单更灵敏。这项技术具有很多潜在的应用,在不同方面如食品加工业、安全及环境污染评估中对混合气体进行大量高精度的分析。电子鼻子的原型从原理上由一系列的温度传感器、湿度传感器以及化学微传感器(以锡氧化物传感层的半导体)。这些传感器有很多优势,例如功耗低、灵敏度高、反应时间短,但是他缺乏选择性的缺点是由于神经网络的工作方式决定的,神经网络的工作方式有两步构成:学习和识别。在这些原型中使用的ANN在基于平行算法的软件上开发仿真的。由于许多特殊的应用,比如检测偏远地区的空气污染情况,这对我们在实时性、小型化以及电源等方面提出了很多限制,这让我们考虑使用ANNS硬件。从设计时间和硅表面技术在ASIC技术上使用的角度看,平行神经结构是非常昂贵的,并且它也有一个明显的经济风险,就是缺乏可靠的组成元件。这导致神经器件很少用于硬件中。一个可供替代的选择就是:现场可编程门阵列(FPGA)。它允许使用具有动态可重新配置能力的元件来设计高效的电路。在这篇论文中,我们将根据我们之前FPGA的设计经验,描述我们的原创方案并提出可能的解决办法来解决将多层感知器(MLP)应用到实时跟踪大气污染中。2.MLP的探测和分类A.算法MLP由多种层组成:输入和输出之间隐藏着一个或几个输出不可观。这些层基于许多处理单元(神经元),它们通过前向反馈考虑连接(图2)。所有的这些处理元件进行着相同的操作(图3):也就是求输入权值的和(等式1)。然后将结果输入到非线性函数中,这个函数是激活函数,通常是基于曲线函数的(等式2)。bxwyjiijijjf(1)xexf11)((2)yi是处理元件j的输出wiji-th运算器j的输入的加权系数bj是偏移量MLP处理过程由两步组成:学习和识别。它们之间是相互独立的,所以可以当成是分开的。学习环节事实上,在学习过程中,神经网络调整它的参数,神经元突触的权值,来对一个激源输入作出响应,以便它的得到希望的输出。在这个层面上,每个运算器单元通过动态改变神经突触的权值,来达到一个被定义了的错误的层面,然后根据一个被称为学习算法的优化标准(例如反向传播算法)来对一个特殊的问题根据已给定了单元的个数来定义最优结构。当实际的输出反应与期望值相同时,则网络就完成了学习过程。此时就可认知最优的结构:输入个数输出个数分层数突触权值传递函数识别环节:MLP不仅给出已知输入相应的期望输出,而且给出在学习环节过程中在等式(1)中任何用wij来表示值的输入变量的输出。B.处理过程对于我们的系统中,通过电脑上的算法模拟来识别突触的权值和最优网络结构来实现学习过程。然后硬件的具体试用被考虑进来。该AT89S51是一个低功耗,高性能CMOS8位微控制器,可在4K字节的系统内编程的闪存存储器。该设备是采用Atmel的高密度、非易失性存储器技术和符合工业标准的80C51指令集和引脚。芯片上的Flash程序存储器在系统中可重新编程或常规非易失性内存编程。通过结合通用8位中央处理器的系统内可编程闪存的单芯片,AT89S51是一个功能强大的微控制器提供了高度灵活的和具有成本效益的解决办法,可在许多嵌入式控制中应用。在AT89S51提供以下标准功能:4K字节的Flash闪存,128字节的RAM,32个I/O线,看门狗定时器,两个数据指针,两个16位定时器/计数器,5向量两级中断结构,全双工串行端口,片上振荡器和时钟电路。此外,AT89S51设计了可降至零频率的静态逻辑操作和支持两种软件可选的节电工作模式。在空闲模式下停止CPU的工作,但允许RAM、定时器/计数器、串行接口和中断系统继续运行。掉电模式保存RAM中的内容,停止振荡器工作并禁止其它所有部件工作,直到下一个外部中断或硬件复位。P0端口是一个8位漏极开路双向I/O端口。作为一个输出端口,每个引脚可驱动8个TTL输入。对端口写“1”可作为高阻抗输入端用。在访问外部程序和数据存储器时,P0端口也可以配置为复低阶地址/数据总线。在访问期间激活内部上拉电阻。在Flash编程时,PO端口接收指令字节,而在程序校验时,输出指令字节,同时要求外接上拉电阻。P1端口是一个带内部上拉电阻的8位双向I/O端口。P1端口的输出缓冲级可以驱动四个TTL输入。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL),Flash编程和程序校验期间,P1接收低8位地址。我们必须把硬件的限制纳入考虑之内。优化解决方案软件通常会根据数据的多少建立起极其复杂的电路。要想用方便、准确并且合理大笑的硬件建立起一个现实可行的仪器,那我们必须重新定义系数和微积分的分辨率。优化了的结构和减少在FPGA电路中使用的逻辑区段(CLB)数都牵涉到了在学习环节中所获得的精度。综合考虑这些因素,我们决定运算使用的类型(是否使用浮点型)和处理数据的大小(使用位的多少)。在精确度和处理单元的复杂度之间取一个适当的折中方案,可以获得一个高效的器件(从在FPGA电路中使用的CLB数目和ASICs中派生的硅区域的角度来看)。3.FPGA的使用A.合成工具事实上,合成工具用图表进囗和算法的允许FPGA资源的使用。算法是用VHDL(超高速集成电路硬件描述语言)[5]编写设计的。这种语言允许用结构描述(数据流图)或者动作来设计复杂电路。合成软件(ViewLogic公司的ViewSynthesis)从一个VHDL程序在编辑之后引导到一个被Xilinx工具使用的XNF(XilinxNetlist格式)文件和相应藉由原始和X-集团的逻辑优化组件优化过的图表中。功能模拟确保在FPGA的行程线能实现设计的功能(图4)。图4.合成设计流程图B.结构MLP结构如图2所示是,在神经元i和j2层之间是重复的并且是主要的连接,需要先验。一个空的突触权值对应一个不存在的链接。这让我们想象一次一层的去建立一个完整的网络结构和使用FPGA的动态可重置功能,这确保了单个FPGA电路设计实现的可行性。神经元结构:用VHDL描述神经元的结构在的编译步骤期间允许叙述一些像输入的数目和数据大小的特性,甚至允许修改像加数、乘数这样的运算因子,如果想修改激活方程的话,也可以修改激活方程。神经元用存储在RAM中输入结果和存储在EEPROM中相应的突触权值进行计算,结果再加起来。结果被送到一个被设计表现适当的曲线函数职能的一比较组件中。然后这组比较组件的输出被用作传输神经元输出y的倍加器的控制字(图5)。图5.神经处理结构层结构以相同的方式,层结构的VHDL描述允许在进行比较的过程中决定这一层上神经元的个数,这使得合成的层上的神经元的数目可能是任意数目的。图3.层结构网络结构FPGA电路的运行再配置的能力使我们能利用2片RAMS(1)、RAMS(2)来通过神经元层(i)来处理经元层(i-1)的输出数据。4.结论Xilins公司的FPGA的运行再配置的使用会让我们在相同的电路上开发和执行许多不同的算法,但与此同时可能是没用。而且,上面所示的不同区块的执行,允许对特定问题提出结构进行评估和验证。5.参考文献:[1]J.W.Gardncr.H.V.ShurmerandT.T.Tan.Applicationofanelectronicnosetothediscriminationofcoffees.Sen.cor.yand.ActuatorsB.6(1992)71-75.[2]J.Mizsei.VLantto,Airpollutionmonitoringwithasemiconductorgassensorarraysystem,SensorsandActuatorsB.6(1992)223-227.[3]GNiebling.Identificationofgaseswithclassicalpattern-recognitionmethodsandartificialneuralnetworks,Sensorsand.IctuatorsB.18-19(1994)259-263.[4]M.Hubin.Y.Taright.S.Lee,MultisensorSmartMicrosystemfortheSupervisionofAccidentalAtmosphericPollution,8thInternationalCongressforSensor,TrnnshicersC%systems.\'urnberg,(1997)Vol2.129-133.[5]J.R.Armstrong.F.Gai1Gray.StructuredLogicDesignwithVHDL.PTRPrenticeHall.[6]XILINX.TheprogrammableGate.IrrgvDataBook.1995.
本文标题:基于FPGA的神经网络结构的翻译
链接地址:https://www.777doc.com/doc-2569708 .html