当前位置: 首页 > 专利查询>江苏大学专利>正文

基于FPGA的神经网络缺失数据估算器及其估算方法技术

技术编号:2826414 阅读:235 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于FPGA的神经网络缺失数据估算器及其估算方法,将输入层内置在隐含层内,每个处理单元PE由基本运算单元PEA,查找表单元LUT,权值寄存器WT及临时寄存器REG组成,将各处理单元PE串联在一起并由FPGA构建线性阵列结构,每个PE的两侧连接数据总线以及数据有效标志信号;本发明专利技术建立故障时刻的数据估算数学模型,使用了移位寄存器和计数,以故障传感器的历史数据和与故障传感器相关的空间和时间上的其它传感器的数据为输入来估计故障传感器的缺失数据,实现缺失数据的恢复性估算,估计速度快,实时性好;使用串级结构减少系统对带宽的要求,在实现查找表功能时,使用函数对称性,减少了查找表的数据规模。

【技术实现步骤摘要】

本专利技术涉及一种神经网络估算技术,特别涉及采用广义回归神经网络的数据融合方法的缺失数据估算器及其估算
技术介绍
神经网络是近年来迅速发展的一门学科,它是由大量的处理单元PE通过广泛的连接形成的复杂的网络,神经网络技术已引入到了参数估计与系统辨识中,神经网络估算技术已应用于生物、医疗、电子、数学、物理和工程等学科,通过建立模型实现。常用的广义回归神经网络由输入层、一层或者多层隐含层和输出层组成,各层之间采用全互连接,但同一层单元间不相互连接,只要在隐层中有足够多的神经元,多层网络就可以用来逼近几乎任何一个非线性函数,根据一组特定的输入便可得到要求的输出。可编程逻辑阵列(FPGA)是由逻辑功能块排成阵列并由可编程的互连资源连接这些逻辑功能块,从而实现不同的设计。目前,要控制生物、医疗、电子、数学、物理和工程等诸多领域中多种因素对主体的影响,必须对这些因素进行长期连续监测,通过评估所监测的空间和时间上的历史数据确定采取相应的措施来控制。但是,实践中由于长期连续测量导致传感器经常发生故障,由于传感器故障原因引起了数据的缺失和失真。
技术实现思路
本专利技术针对现有技术中由于传感器故障引起数据缺失和失真的情况,提供了一种基于FPGA的神经网络缺失数据估算器,可获得最逼近故障传感器的缺失数据。本数据估算器采用可编程集成电路FPGA的硬件电路实现的,与通常用软件来实现的神经网络相比,估计速度快,体积小,功耗低,便于产品化。在用FPGA的硬件电路实现的过程中,采用了串行结构,增加了该设计的灵活性和可维护性。本专利技术的另一目的在于提供了一种基于FPGA的神经网络缺失数据估算器的估算方法,可实现故障传感器缺失或失真数据的恢复。本专利技术估算器采用的技术方案是:由输入层、隐含层和输出层组成,每一层都包含处理单元PE,各层之间采用全互连接,但同一层单元间不相互连接,将输入层内置在隐含层内,每个处理单元PE由基本运算单元PEA,查找表单元LUT,权值寄存器WT及临时寄存器REG组成,将各处理单元PE串联在一起并由FPGA构建线性阵列结构,每个PE的两侧连接数据总线以及数据有效标志信号。-->本专利技术估算方法采用的技术方案是:依次包括如下步骤:(A)初始化查找表LUT和每个PE中临时存放数据的寄存器,同时将初始的权值读入各自的权值存储器中;(B)隐含层中的PE从最左侧依次接收一组数据中的每一个输入数据进行内部运算,然后接收下一组输入数据运算后依次将接收的输入数据输出;再将运算结果输出到右侧下一个PE,通过三态门连接到总线,进而输入到输出层PE9;(C)输出层接收数据后,通过计算得出自身的权值误差,再通过数据总线依次将接收的权值误差反向传播,直至最左侧PE接收到该数据;完成一组权值更新。本专利技术通过FPGA构建神经网络恢复器,建立故障时刻的数据估算数学模型,使用了移位寄存器和计数,以故障传感器的历史数据和与故障传感器相关的空间和时间上的其它传感器的数据为输入来估计故障传感器的缺失数据,实现缺失数据的恢复性估算,估计速度快,实时性好。使用特殊的串级结构,减少了系统对带宽的要求,增加了该设计的可维护性。在实现查找表功能时,使用函数对称性,减少了查找表的数据规模。附图说明下面结合附图和具体实施方式对本专利技术作进一步详细说明。图1是本专利技术的系统结构示意图;图2是图1中隐含层PE的整体结构示意图。具体实施方式如图1、2所示,本专利技术的基本原理是利用FPGA构建神经网络数据恢复器对若干数据进行统计,从而将缺失的部分数据估算出来。具体方法是将故障传感器的历史数据和与故障传感器相关的空间和时间上的其它传感器的数据,将这些数据设为输入进行训练,建立合理的神经网络数据模型,将所要求的故障传感器的缺失数据估算出来。本专利技术估算器的结构是采用线性阵列结构构架硬件神经网络,包括隐含层和输出层,将输入层内置在隐含层内,每一层都包含处理单元PE,各层之间采用全互连接,但同一层单元间不相互连接,每个处理单元PE由基本运算单元PEA,查找表LUT,权值寄存器WT及临时寄存器REG组成,将各处理单元PE串联在一起并由FPGA构建线性阵列结构,每个PE的两侧连接数据总线以及数据有效标志信号。当发生数据失效时,直接读取该硬件输出数据替代原有传感器的数据,从而实现数据恢复的功能。采用串级结构实现神经网络功能。如图1所示,采用了6输入1输出的BP神经网络结构,该隐含层由8个处理单元PE组成-->(PE1至PE8),所有的处理单元串联在一起,每个PE的两侧提供三个数据总线(chan1,chan2,chan3)以及三个数据有效标志信号(valid1,valid2,valid3)。隐含层中每个PE具有类似于神经网络中隐含层神经元的作用,执行相同的功能(正向传播和反传误差及权值的调整)。输出层由PE9组成,基本结构与隐含层PE类似,实现输出层功能。该估算器的结构优点是仅通过增减处理单元数目来达到改变整个神经网络结构的目的,不需要更改同步时序控制电路,同时将系统对数据带宽的要求最小化。整个系统由隐含层和输出层组成,神经网络输入层的功能在隐含层内实现。当传感器出现故障时,系统就根据传感器的所在位置和缺失数据产生的时刻,将该时刻前一段时间的24组相应的输入输出数据(故障传感器的历史数据和与故障传感器相关的空间和时间上的其它传感器的数据)对神经网络进行训练,调整神经网络的权值,逐步建立合理的神经网络模型。训练结束后,用该神经网络估算出该时刻传感器的真实值替代采样值,实现数据恢复。从前馈阶段开始,其算法的计算公式分别为:在前馈阶段,对隐含层hi=f(Σn=1NWni*Xn)···(1);]]>对输出层yj=f(Σi=1NWij*hi)···(2);]]>在反传阶段,对输出层δj=(tj-yj)f′(sj)  …(3);对隐含层δi=f(Si)Σjδj*Wij···(4);]]>在权值更新阶段,对输出层Wij(n+1)=Wij(n)+λδjhi  …(5);对隐合层Wnj(n+1)=Wni(n)+λδjhi  …(6)。这里的W为权值,X为输入值。f(S)为激活函数f(S)=255/(1+e-s),h和y为隐含层和输出层的输出,tj是期望值,λ为学习率。经过试验研究,在本专利技术中λ的值取本文档来自技高网...

【技术保护点】
一种基于FPGA的神经网络缺失数据估算器,由输入层、隐含层和输出层组成,每一层都包含处理单元PE,各层之间采用全互连接,但同一层单元间不相互连接,其特征是:将输入层内置在隐含层内,每个处理单元PE由基本运算单元PEA,查找表LUT,权值寄存器WT及临时寄存器REG组成,将各处理单元PE串联在一起并由FPGA构建线性阵列结构,每个PE的两侧连接数据总线以及数据有效标志信号。

【技术特征摘要】
1.一种基于FPGA的神经网络缺失数据估算器,由输入层、隐含层和输出层组成,每一层都
包含处理单元PE,各层之间采用全互连接,但同一层单元间不相互连接,其特征是:将输
入层内置在隐含层内,每个处理单元PE由基本运算单元PEA,查找表LUT,权值寄存器WT
及临时寄存器REG组成,将各处理单元PE串联在一起并由FPGA构建线性阵列结构,每个
PE的两侧连接数据总线以及数据有效标志信号。
2.根据权利要求1所述的基于FPGA的神经网络缺失数据估算器:其特征是:采用6输入
和1输出的网络结构,隐含层采用8个神经元;在每个PE的两侧连接三个数据总线以及三
个数据有效标志信号。

【专利技术属性】
技术研发人员:朱伟兴李新城
申请(专利权)人:江苏大学
类型:发明
国别省市:32[中国|江苏]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1