CN101882238B - 基于sopc的小波神经网络处理器 - Google Patents
基于sopc的小波神经网络处理器 Download PDFInfo
- Publication number
- CN101882238B CN101882238B CN201010227358XA CN201010227358A CN101882238B CN 101882238 B CN101882238 B CN 101882238B CN 201010227358X A CN201010227358X A CN 201010227358XA CN 201010227358 A CN201010227358 A CN 201010227358A CN 101882238 B CN101882238 B CN 101882238B
- Authority
- CN
- China
- Prior art keywords
- output
- output terminal
- module
- layer
- multiplier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本发明公开了一种基于sopc的小波神经网络处理器,由前向传播模块,误差反馈模块和网络更新模块构成;前向传播模块的输出端连接到误差反馈模块,误差反馈模块的输出端连接到网络更新模块,网络更新模块的输出端连接到前向传播模块;前向传播模块包括前向传播输入层功能模块,前向传播隐含层功能模块,前向传播输出层功能模块;误差反馈模块包括误差反馈输出层功能模块和误差反馈隐含层功能模块;网络更新模块包括网络更新输出层功能模块,网络更新隐含层功能模块。本发明在SOPC上实现小波神经网络,将小波神经网络算法划分为几种基本运算,这些基本运算由可重构单元RC完成,通过采用不同的RC连接方式能够构成功能不同的小波神经网络。
Description
技术领域
本发明涉及一种小波神经网络处理器,尤其是一种基于SOPC的小波神经网络处理器。
背景技术
小波神经网络(Wavelet Neural Network,WNN)是小波分析理论与神经网络理论相结合的产物。Pati和Krishaprasad提出了离散仿射小波网络模型,其基本思想是将离散小波变换引入神经网络模型,通过对Sigmoid函数的平移伸缩构成中的仿射框架,进而构造小波神经网络。Zhang Qinghua等1992年正式提出小波神经网络的概念,其思想是用小波元代替神经元,即用已定位的小波函数代替Sigmoid函数作为激活函数,通过仿射变换建立起小波变换与网络系数之间的连接。
小波神经网络在具体实施和应用过程中,需要大量、复杂的数学运算,依靠人工计算很难完成和进行实时处理,因此,目前实现小波神经网络算法是利用计算机配合相应软件及编程来完成。由于其成本、体积及功耗等问题也限制了小波神经网络的进一步发展和应用。
发明内容
针对上述现有技术的缺陷或不足,本发明提供了基于SOPC的小波神经网络处理器,在SOPC上实现小波神经网络,将小波神经网络算法划分为几种基本运算,这些基本运算由可重构单元(Reconfigurable Cell,RC)完成,通过采用不同的RC连接方式能够构成功能不同的小波神经网络。
为了达到以上目的,本发明采用如下的技术解决方案:一种基于sopc的小波神经网络处理器,由前向传播模块,误差反馈模块和网络更新模块组成;前向传播模块的输出端连接到误差反馈模块,误差反馈模块的输出端连接到网络更新模块,网络更新模块的输出端连接到前向传播模块。
所述前向传播模块包括前向传播输入层功能模块,前向传播隐含层功能模块,前向传播输出层功能模块。
所述前向传播输入层功能模块,是由若干个数据寄存器构成。
所述前向传播隐含层功能模块,是由若干个前向传播隐含层可重构单元和相同数目的小波函数查找表构成,前向传播输入层功能模块中每个数据寄存器的输出端连接每个前向传播隐含层可重构单元的输入端;每个前向传播隐含层可重构单元的输出端连接一个小波神经网络的小波函数查找表;前向传播隐含层可重构单元和小波函数查找表的数目由输入数据的数目、网络的性能决定。
所述前向传播输出层模块,是由若干个前向传播输出层可重构单元和相同数目的激励函数查找表构成,每个小波函数查找表的输出端连接每个前向传播输出层可重构单元的输入端,每个前向传播输出层可重构单元的输出端连接一个激励函数查找表;前向传播输出层可重构单元和激励函数查找表的数目由对输出信号的要求来决定。
所述误差反馈模块包括误差反馈输出层功能模块和误差反馈隐含层功能模块。
所述误差反馈输出层功能模块是由若干个误差反馈输出层可重构单元、若干个激励函数导函数查找表以及若干个误差反馈输出层乘法器构成;误差反馈输出层可重构单元,激励函数导函数查找表和误差反馈输出层乘法器的数目相同,该数目由前向传播输出层功能模块决定;误差反馈输出层可重构单元的输出端和激励函数导函数查找表的输出端分别连接到误差反馈输出层乘法器的输入端,误差反馈输出层乘法器的输出作为误差反馈输出层功能模块的输出;误差反馈输出层功能模块的两输入分别来自前向传播输出层激励函数查找表和前向传播输出层可重构单元。
所述误差反馈隐含层功能模块由若干个误差反馈隐含层可重构单元,若干个小波函数导函数查找表单元和若干个误差反馈隐含层乘法器构成;误差反馈隐含层可重构单元、小波函数导函数查找表单元和误差反馈隐含层乘法器的数目相同,该数目由前向传播隐含层可重构单元和前向传播隐含层激励函数查找表决定;每个误差反馈输出层乘法器的输出端连接误差反馈隐含层可重构单元的输入端;误差反馈隐含层可重构单元的输出端与小波函数导函数查找表单元的输出端分别连接误差反馈隐含层乘法器的输入端,误差反馈隐含层乘法器的输出端作为误差反馈隐含层功能模块的输出端。
所述网络更新模块包括网络更新输出层功能模块,网络更新隐含层功能模块。
所述网络更新输出层功能模块由若干个输出层更新量计算模块和若干个输出层更新模块组成;输出层更新量计算模块和输出层更新模块数目相同,该数目由前向传播输出层可重构单元决定;每个输出层更新量计算模块的输入端有三个输入端,每个输出层更新量计算模块的输出端对应连接一个输出层更新模块。
网络更新隐含层功能模块由若干个隐含层更新量计算模块和若干个隐含层更新模块组成,隐含层更新量计算模块和隐含层更新模块的数目相同,该数目由前向传播隐含层可重构单元决定;每个隐含层更新量计算模块的输出端连接隐含层更新模块。
本发明的基于sopc小波神经网络处理器,以可重构体系结构为基础,构建了一个小波神经网络硬件的可重构平台,缩短了神经网络设计周期,提高了神经网络的运行速度,推动了神经网络硬件在相关应用领域中的实用化。
附图说明
图1是本发明的结构示意图。
图2是小波神经网络前向传播模块方框图。
图3是前向传播隐含层可重构单元结构示意图。
图4是前向传播输出层可重构单元结构示意图。
图5是小波神经网络误差反馈模块方框图。
图6是误差反馈输出层可重构单元结构示意图。
图7是误差反馈隐含层可重构单元结构示意图。
图8是小波神经网络更新模块方框图。
图9是网络更新输出层更新量计算模块结构示意图。
图10是网络更新输出层更新模块结构示意图。
图11是网络更新隐含层更新量计算模块结构示意图。
图12是网络更新隐含层更新模块结构示意图。
下面结合附图和具体实施方式对本发明的内容作进一步的详细说明。
具体实施方式
如图1、图2所示,一种基于sopc的小波神经网络处理器,由前向传播模块1、误差反馈模块2、网络更新模块3组成。前向传播模块1的输出端连接到误差反馈模块2,误差反馈模块2的输出端连接到网络更新模块3,网络更新模块3的输出端连接到前向传播模块1。
前向传播模块1包括前向传播输入层功能模块1-1,前向传播隐含层功能模块1-2,前向传播输出层功能模块1-3。
前向传播输入层功能模块1-1,是由若干个数据寄存器构成。
前向传播隐含层功能模块1-2,是由若干个前向传播隐含层可重构单元RC1-1和相同数目的小波函数查找表LUT1-1构成,前向传播输入层功能模块1-1的每个数据寄存器的输出端连接每个前向传播隐含层可重构单元RC1-1的输入端;每个前向传播隐含层可重构单元RC1-1的输出端连接一个小波神经网络的小波函数查找表LUT1-1;前向传播隐含层可重构单元RC1-1和小波函数查找表LUT1-1的数目由输入数据的数目、网络的性能决定。
前向传播输出层模块1-3,是由若干个前向传播输出层可重构单元RC1-2和相同数目的激励函数查找表LUT1-2构成,每个小波函数查找表LUT1-1的输出端连接每个前向传播输出层可重构单元RC1-2的输入端,每个前向传播输出层可重构单元RC1-2的输出端连接一个激励函数查找表LUT1-2;前向传播输出层可重构单元RC1-2和激励函数查找表LUT1-2的数目由对输出信号的要求来决定。
如图3所示,每个前向传播隐含层可重构单元RC1-1的结构如下:由一个次当前权值寄存器、一个当前权值寄存器、一个乘法器、第一加法器ADD 1、第二加法器ADD 2、一个次当前平移因子寄存器、一个当前平移因子寄存器、一个次当前伸缩因子寄存器、一个当前伸缩因子寄存器和一个除法器组成;前向传播输入层功能模块1-1的每个数据寄存器的输出端和当前权值寄存器的一个输出端连接每个前向传播隐含层可重构单元RC1-1中的乘法器的输入端,该乘法器的输出端连接到第一加法器ADD1,该第一加法器ADD1的输出端分为两路:第一加法器ADD1的一个输出端和当前平移因子寄存器的输出端连接第二加法器ADD2的输入端,第一加法器ADD1的另一个输出端反馈连接到自身的另一个输入端;第二加法器ADD2的输出端和当前伸缩因子寄存器的一个输出端连接除法器的输入端;除法器的输出端作为前向传播隐含层可重构单元RC1-1的输出端;当前权值寄存器的另一个输出端连接到次当前权值寄存器,当前平移因子寄存器的另一个输出端连接到次当前平移因子寄存器,当前伸缩因子寄存器的另一个输出端连接到次当前伸缩因子寄存器;前向传播隐含层可重构单元RC1-1的功能:将进入前向传播隐含层可重构单元RC1-1的所有输入数据与当前权值寄存器中的对应的权值加权和运算后与当前平移因子寄存器中的平移因子相加,然后再与伸缩因子寄存器中的伸缩因子相乘,得到前向传播隐含层可重构单元RC1-1的输出hhi。
小波函数查找表LUT1-1是小波函数输入数据与输出数据一一对应的映射关系表,用于实现小波函数运算。小波函数查找表LUT1-1由FPGA内的ROM实现,ROM中存储小波母函数的输出值,前向传播隐含层可重构单元RC1-1中的每个除法器的输出端连接小波函数查找表LUT1-1的输入端,来自前向传播隐含层可重构单元RC1-1中的除法器的输入信号作为小波函数查找表LUT1-1的地址索引,小波函数查找表LUT1-1根据该输入信号求出小波函数输出值Yh(h)。
如图4所示,前向传播输出层可重构单元RC1-2的结构如下:由一个次当前权值寄存器、一个当前权值寄存器,一个乘法器、一个加法器和一个阈值寄存器组成,前向传播隐含层可重构单元RC1-1中的每个小波函数查找表LUT1-1的输出端和当前权值寄存器的一个输出端连接每个前向传播输出层可重构单元RC1-2中的乘法器,当前权值寄存器的另一个输出端连接到次当前权值寄存器;乘法器的输出端和阈值寄存器的输出端分别连接到加法器的输入端,该加法器的输出端分为两路:加法器ADD的一个输出端连接到与前向传播输出层可重构单元RC1-2对应的激励函数查找表LUT1-2的输入端,加法器的另一个输出端反馈连接到该加法器自身的另一个输入端;前向传播输出层可重构单元RC1-2的功能:对每个小波函数查找表LUT1-1的输出数据与当前权值寄存器中的相应权值作加权和运算,得到的结果作为前向传播输出层可重构单元RC1-2的输出hoh。
前向传播输出层的激励函数查找表LUT1-2是由存储器构成,是激励函数输入数据与输出数据一一对应的映射关系表,前向传播输出层可重构单元RC1-2的输出作为地址索引,前向传播输出层激励函数查找表LUT1-2根据地址索引实现激励函数运算。
前向模块1-1的作用是将输入数据由经过与权值做乘累加运算,再经过与小波函数运算后,得到输出数据Yo(o);如图5所示,误差反馈模块2包括误差反馈输出层功能模块2-1和误差反馈隐含层功能模块2-2。
误差反馈输出层功能模块2-1是由若干个误差反馈输出层可重构单元RC2-1、若干个激励函数导函数查找表LUT2-1以及若干个误差反馈输出层乘法器构成;误差反馈输出层可重构单元RC2-1,激励函数导函数查找表LUT2-1和误差反馈输出层乘法器的数目相同,该数目由前向传播输出层功能模块1-3决定;误差反馈输出层可重构单元RC2-1的输出端和激励函数导函数查找表LUT2-1的输出端分别连接误差反馈输出层乘法器的输入端,误差反馈输出层乘法器的输出作为误差反馈输出层功能模块2-1的输出δO。误差反馈输出层功能模块2-1的两输入分别来自前向传播输出层激励函数查找表LUT1-2和前向传播输出层可重构单元RC1-2;误差反馈隐含层功能模块2-2由若干个误差反馈隐含层可重构单元RC2-2,若干个小波函数导函数查找表LUT2-2和若干个误差反馈隐含层乘法器构成;误差反馈隐含层可重构单元RC2-2、小波函数导函数查找表LUT2-2和误差反馈隐含层乘法器的数目相同,该数目由前向传播隐含层可重构单元RC1-1和前向传播隐含层激励函数查找表LUT1-1决定。每个误差反馈输出层乘法器的输出端连接误差反馈隐含层可重构单元RC2-2的输入端;误差反馈隐含层可重构单元RC2-2的输出端与小波函数导函数查找表LUT2-2的输出端分别连接误差反馈隐含层乘法器的输入端,误差反馈隐含层乘法器的输出端作为误差反馈隐含层功能模块2-2的输出端δh;如图6所示,误差反馈输出层可重构单元RC2-1的结构如下:由一个目标数据寄存器和一个减法器组成,前向传播输出层功能模块1-3中的每个激励函数导函数查找表LUT2-1的输出端和目标数据寄存器的输出端连接减法器的输入端;该减法器的输出端的结果作为误差反馈输出层可重构单元RC2-1的输出Mo(o)。
激励函数导函数查找表LUT2-1由激励函数导函数ROM构成;前向传播隐含层可重构单元RC1-1的输出端连接激励函数导函数查找表LUT2-1的输入端,该激励函数导函数查找表LUT2-1的输出端作为误差反馈输出层功能模块2-1的输出端;激励函数导函数查找表LUT2-1的功能:对应于前向传播输出层激励函数的导函数,其中激励函数输入数据与激励函数导函数数据一一对应的映射关系表,激励函数导函数查找表LUT2-1用于实现激励函数求导运算。
如图7所示,误差反馈隐含层可重构单元RC2-2由一个乘法器和一个加法器组成,每个误差反馈输出层乘法器的输出端和前向传播输出层模块1-2的当前权值寄存器的输出端连接误差反馈隐含层可重构单元RC2-2的乘法器的输入端;误差反馈隐含层可重构单元RC2-2的乘法器的输出端连接加法器的一个输入端,该加法器的输出端分为两路:加法器的一个输出端反馈连接到该加法器自身的另一个输出端;当所有输入数据乘累加计算完成,加法器的另一路输出端作为误差反馈隐含层可重构单元RC2-2的输出端Mh(h);误差反馈隐含层可重构单元RC2-2的功能:每个误差反馈输出层乘法器的输出和对应的前向传播输出层模块1-2的当前权值寄存器中的权值分别作为二路输入信号进入误差反馈隐含层可重构单元RC2-2的乘法器,第i个反馈输出层乘法器的输出信号在误差反馈隐含层可重构单元RC2-2的乘法器中与对应权值相乘后,得到与第i+1个反馈输出层乘法器的输出信号在误差反馈隐含层可重构单元RC2-2的乘法器中与对应权值相乘后的结果相加,假定误差反馈输出层模块的数目为n个,则需要进行n次,得到加权和后输出;小波函数导函数查找表LUT2-2由小波函数导函数ROM构成;前向传播隐含层可重构单元RC1-1的输出端连接小波函数导函数查找表的输入端,该小波函数导函数查找表LUT2-2的输出端作为误差反馈隐含层功能模块2-2的输出端;小波函数导函数查找表LUT2-2的功能:将误差反馈隐含层可重构单元RC2-2单元的输出信号作为地址,根据小波函数导函数的一一映射关系,输出小波函数导函数值;误差反馈模块2的作用是将前向传播阶段产生的误差由后向前反向传播到其他各个层;如图8所示,网络更新模块3包括网络更新输出层功能模块3-1,网络更新隐含层功能模块3-2;网络更新输出层功能模块3-1由若干个输出层更新量计算模块RC3-1和若干个输出层更新模块RC3-2组成;输出层更新量计算模块RC3-1和输出层更新模块RC3-2数目相同,该数目由前向传播输出层可重构单元RC1-2决定;每个输出层更新量计算模块RC3-1的输入端有三个输入端,每个输出层更新量计算模块RC3-1的输出端对应连接一个输出层更新模块RC3-2;网络更新隐含层功能模块3-2由若干个隐含层更新量计算模块RC3-3和若干个隐含层更新模块RC3-4组成,隐含层更新量计算模块RC3-3和隐含层更新模块RC3-4的数目相同,该数目由前向传播隐含层可重构单元RC1-1决定;每个隐含层更新量计算模块RC3-3的输出端连接隐含层更新模块RC3-4;如图9所示,网络更新输出层更新量计算模块RC3-1由一个三输入的乘法器和学习速率寄存器构成,学习速率寄存器的输出作为乘法器的一个输入,误差反馈输出层功能模块2-1的输出δO作为乘法器的第二个输入,激励函数查找表LUT1-2的输出hoh作为乘法器的第三个输入。
如图10所示,网络更新输出层更新模块RC3-2由一个二输入减法器,一个二输入乘法器,一个三输入加法器组成;减法器的一个输入端连接前向传播输出层可重构单元RC1-2的当前权值寄存器(输入数据为W(n)),另一个输入端连接前向传播输出层可重构单元RC1-2的次当前权值寄存器(输入数据为W(n-1)),减法器的一个输出端连接乘法器的一个输入端,该乘法器的另一个输入端是输出层更新量计算单元RC3-1的学***移因子寄存器和伸缩因子寄存器构成;网络更新输出层更新量计算单元RC3-1的学***移因子的输出端分别连接到第一个除法器的输入端,第一个乘法器的第三路输出端和前向传播输出层可重构单元RC1-2的输出Ho(o)分别连接本模块的第三个乘法器的输入端;第三个乘法器的输出端和伸缩因子寄存器的输出端分别连接第二个除法器的输入端;第二乘法器的输出端、第一除法器的输出端以及第二除法器的输出端作为网络更新隐含层更新量计算模块RC3-3的输出;网络更新隐含层更新量计算模块RC3-3的功能:计算出权值的更新量Δw,平移因子的更新量Δa,伸缩因子的更新量Δb;如图12所示,网络更新隐含层更新模块RC3-4由第一可重构模块RC3-4-1、第二可重构模块RC3-4-2、第三可重构模块RC3-4-3组成;这三个可重构模块的结构相同且相互独立;每个可重构模块由一个二输入减法器,一个二输入乘法器,一个三输入加法器组成,输入数据进入减法器的输入端,该减法器的输出端与另一输入连接乘法器的输入端,该乘法器的输出端与另两个输入连接加法器的输入端,该加法器输出作为所属的可重构模块的输出;第一个可重构模块RC3-4-1中减法器的两个输入从上到下依次是:前向传播隐含层可重构单元RC1-1的当前权值寄存器的输出Wh(h)和次当前权值寄存器的输出Wh(n-1);乘法器的输入从上到下依次是:减法器的输出和输出层更新量计算单元RC3-1的学***移因子寄存器的输出ah(n)和次当前平移因子寄存器的输出ah(n-1);乘法器的输入从上到下依次是:减法器的输出和输出层更新量计算单元RC3-1的学***移因子的更新量Δa)和前向传播隐含层可重构单元RC1-1中的当前平移因子寄存器的输出ah(n);第三个可重构模块RC3-4-3中减法器的两个输入从上到下依次是:前向传播隐含层可重构单元RC1-1的当前伸缩因子寄存器的输出bh(n)和次当前伸缩因子寄存器的输出bh(n-1);乘法器的输入从上到下依次是:减法器的输出和输出层更新量计算单元RC3-1的学***移因子和伸缩因子也由计算得到,由此,权值、平移因子、伸缩因子三个变量同时并行完成了更新。
网络更新模块3的作用是利用误差值与小波函数产生的系数来改变小波神经网络的权值,平移因子、伸缩因子。
本发明的小波神经网络处理器具有可重构性,具体表现为结构可重构、小波函数可重构和学***移因子、伸缩因子的算法的更新只需通过更新RC3-4模块即可完成。
例如,一个字符识别的神经网络需要前向传播输入层功能模块1-164个数据寄存器,需要13个RC1-1模块和LUT1-1模块,需要12个RC1-2模块和LUT1-2模块,其他模块的数模由上述模块数目决定。
小波神经网络处理器工作原理:其工作过程分为三个阶段:前向传播阶段、误差反传阶段和网络更新阶段。在前向传播阶段,输入数据经过隐含层、输出层计算出实际输出值。若输出层的实际输出与期望的输出不符,则转入误差反馈阶段;误差反传是将输出误差通过输出层向隐含层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号。然后转入网络更新阶段;网络更新阶段是在将误差反馈阶段的误差信号即作为修正各单元权值的依据,由输出层到隐含层逐层更新小波神经网络的权值、平移因子、伸缩因子。然后在前向传播阶段的运算,计算出实际输出值。比较实际输出与期望的输出的误差,直到满足要求。***运行时,每次在FPGA中只配置一个阶段的功能,一个阶段的功能完成后,再配置下一个阶段的功能。这种“配置-执行”过程一直重复下去直到完成算法。
Claims (8)
1.一种基于sopc的小波神经网络处理器,其特征在于,由前向传播模块(1),误差反馈模块(2)和网络更新模块(3)组成;前向传播模块(1)的输出端连接到误差反馈模块(2),误差反馈模块(2)的输出端连接到网络更新模块(3),网络更新模块(3)的输出端连接到前向传播模块(1);
所述前向传播模块(1)包括前向传播输入层功能模块(1-1),前向传播隐含层功能模块(1-2),前向传播输出层功能模块(1-3);
所述前向传播输入层功能模块(1-1),是由若干个数据寄存器构成;
所述前向传播隐含层功能模块(1-2),是由若干个前向传播隐含层可重构单元(RC1-1)和相同数目的小波函数查找表(LUT1-1)构成,前向传播输入层功能模块(1-1)中每个数据寄存器的输出端连接每个前向传播隐含层可重构单元(RC1-1)的输入端;每个前向传播隐含层可重构单元(RC1-1)的输出端连接一个小波神经网络的小波函数查找表(LUT1-1);前向传播隐含层可重构单元(RC1-1)和小波函数查找表(LUT1-1)的数目由输入数据的数目、网络的性能决定;
所述前向传播输出层模块(1-3),是由若干个前向传播输出层可重构单元(RC1-2)和相同数目的激励函数查找表(LUT1-2)构成,每个小波函数查找表(LUT1-1)的输出端连接每个前向传播输出层可重构单元(RC1-2)的输入端,每个前向传播输出层可重构单元(RC1-2)的输出端连接一个激励函数查找表(LUT1-2);前向传播输出层可重构单元(RC1-2)和激励函数查找表(LUT1-2)的数目由对输出信号的要求来决定;
所述误差反馈模块(2)包括误差反馈输出层功能模块(2-1)和误差反馈隐含层功能模块(2-2);
所述误差反馈输出层功能模块(2-1)是由若干个误差反馈输出层可重构单元(RC2-1)、若干个激励函数导函数查找表(LUT2-1)以及若干个误差反馈输出层乘法器构成;误差反馈输出层可重构单元(RC2-1),激励函数导函数查找表(LUT2-1)和误差反馈输出层乘法器的数目相同,该数目由前向传播输出层功能模块(1-3)决定;误差反馈输出层可重构单元(RC2-1)的输出端和激励函数导函数查找表(LUT2-1)的输出端分别连接到误差反馈输出层乘法器的输入端,误差反馈输出层乘法器的输出作为误差反馈输出层功能模块(2-1)的输出;误差反馈输出层功能模块(2-1)的两输入分别来自前向传播输出层激励函数查找表(LUT1-2)和前向传播输出层可重构单元(RC1-2);
所述误差反馈隐含层功能模块(2-2)由若干个误差反馈隐含层可重构单元(RC2-2),若干个小波函数导函数查找表单元(LUT2-2)和若干个误差反馈隐含层乘法器构成;误差反馈隐含层可重构单元(RC2-2)、小波函数导函数查找表单元(LUT2-2)和误差反馈隐含层乘法器的数目相同,该数目由前向传播隐含层可重构单元(RC1-1)和前向传播隐含层激励函数查找表(LUT1-1)决定;每个误差反馈输出层乘法器的输出端连接误差反馈隐含层可重构单元(RC2-2)的输入端;误差反馈隐含层可重构单元(RC2-2)的输出端与小波函数导函数查找表单元(LUT2-2)的输出端分别连接误差反馈隐含层乘法器的输入端,误差反馈隐含层乘法器的输出端作为误差反馈隐含层功能模块(2-2)的输出端;
所述网络更新模块(3)包括网络更新输出层功能模块(3-1),网络更新隐含层功能模块(3-2);
所述网络更新输出层功能模块(3-1)由若干个输出层更新量计算模块(RC3-1)和若干个输出层更新模块(RC3-2)组成;输出层更新量计算模块(RC3-1)和输出层更新模块(RC3-2)数目相同,该数目由前向传播输出层可重构单元(RC1-2)决定;每个输出层更新量计算模块(RC3-1)的输入端有三个输入端,每个输出层更新量计算模块(RC3-1)的输出端对应连接一个输出层更新模块(RC3-2);
所述网络更新隐含层功能模块(3-2)由若干个隐含层更新量计算模块(RC3-3)和若干个隐含层更新模块(RC3-4)组成,隐含层更新量计算模块(RC3-3)和隐含层更新模块(RC3-4)的数目相同,该数目由前向传播隐含层可重构单元(RC1-1)决定;每个隐含层更新量计算模块(RC3-3)的输出端连接隐含层更新模块(RC3-4);
所述的前向传播隐含层可重构单元(RC1-1)的结构如下:
由一个次当前权值寄存器、一个当前权值寄存器、一个乘法器、第一加法器(ADD_1)、第二加法器(ADD_2)、一个次当前平移因子寄存器、一个当前平移因子寄存器、一个次当前伸缩因子寄存器、一个当前伸缩因子寄存器和一个除法器组成;
前向传播输入层功能模块(1-1)的每个数据寄存器的输出端和当前权值寄存器的一个输出端连接每个前向传播隐含层可重构单元(RC1-1)中的乘法器的输入端,该乘法器的输出端连接到第一加法器(ADD_1),该第一加法器(ADD_1)的输出端分为两路:第一加法器(ADD_1)的一个输出端和当前平移因子寄存器的输出端连接第二加法器(ADD_2)的输入端,第一加法器(ADD_1)的另一个输出端反馈连接到自身的另一个输入端;第二加法器(ADD_2)的输出端和当前伸缩因子寄存器的一个输出端连接除法器的输入端;除法器的输出端作为前向传播隐含层可重构单元(RC1-1)的输出端;
当前权值寄存器的另一个输出端连接到次当前权值寄存器,当前平移因子寄存器的另一个输出端连接到次当前平移因子寄存器,当前伸缩因子寄存器的另一个输出端连接到次当前伸缩因子寄存器。
2.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的前向传播输出层可重构单元(RC1-2)的结构如下:
由一个次当前权值寄存器、一个当前权值寄存器,一个乘法器、一个加法器和一个阈值寄存器组成,前向传播隐含层可重构单元(RC1-1)中的每个小波函数查找表(LUT1-1)的输出端和当前权值寄存器的一个输出端连接每个前向传播输出层可重构单元(RC1-2)中的乘法器,当前权值寄存器的另一个输出端连接到次当前权值寄存器;乘法器的输出端和阈值寄存器的输出端分别连接到加法器的输入端,该加法器的输出端分为两路:加法器的一个输出端连接到与前向传播输出层可重构单元(RC1-2)对应的激励函数查找表(LUT1-2)的输入端,加法器的另一个输出端反馈连接到该加法器自身的另一个输入端。
3.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的误差反馈输出层可重构单元(RC2-1)的结构如下:
由一个目标数据寄存器和一个减法器组成,前向传播输出层功能模块(1-3)中的每个激励函数导函数查找表(LUT2-1)的输出端和目标数据寄存器的输出端连接减法器的输入端;该减法器的输出端的结果作为误差反馈输出层可重构单元(RC2-1)的输出。
4.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的误差反馈隐含层可重构单元(RC2-2)由一个乘法器和一个加法器组成,每个误差反馈输出层乘法器的输出端和前向传播输出层模块(1-2)的当前权值寄存器的输出端连接误差反馈隐含层可重构单元(RC2-2)的乘法器的输入端;误差反馈隐含层可重构单元(RC2-2)的乘法器的输出端连接加法器的一个输入端,该加法器的输出端分为两路:加法器的一个输出端反馈连接到该加法器自身的另一个输出端;当所有输入数据乘累加计算完成,加法器的另一路输出端作为误差反馈隐含层可重构单元(RC2-2)的输出端。
5.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的网络更新输出层更新量计算模块(RC3-1)由一个三输入的乘法器和学习速率寄存器构成,学习速率寄存器的输出作为乘法器的一个输入,误差反馈输出层功能模块(2-1)的输出作为乘法器的第二个输入,激励函数查找表(LUT1-2)的输出作为乘法器的第三个输入。
6.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的网络更新输出层更新模块(RC3-2)由一个二输入减法器,一个二输入乘法器,一个三输入加法器组成;减法器的一个输入端连接前向传播输出层可重构单元(RC1-2)的当前权值寄存器,另一个输入端连接前向传播输出层可重构单元(RC1-2)的次当前权值寄存器,减法器的一个输出端连接乘法器的一个输入端,该乘法器的另一个输入端是输出层更新量计算单元(RC3-1)的学习因子寄存器,乘法器的输出端连接加法器的第一个输入端,网络更新输出层更新量计算模块(RC3-1)的乘法器的输出端连接该加法器的第二个输入端,该加法器的第三个输入端连接前向传播输出层可重构单元(RC1-2)的当前权值寄存器,加法器的输出端连接前向传播输出层可重构单元(RC1-2)的当前权值寄存器;加法器的输出作为网络更新输出层更新模块(RC3-2)的输出。
7.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的网络更新隐含层更新量计算模块(RC3-3)由三个二输入乘法器,两个二输入除法器、阈值寄存器、平移因子寄存器和伸缩因子寄存器构成;网络更新输出层更新量计算单元(RC3-1)的学***移因子的输出端分别连接到第一个除法器的输入端,第一个乘法器的第三路输出端和前向传播输出层可重构单元(RC1-2)中加法器的输出分别连接本模块的第三个乘法器的输入端;第三个乘法器的输出端和伸缩因子寄存器的输出端分别连接第二个除法器的输入端;第二乘法器的输出端、第一除法器的输出端以及第二除法器的输出端作为网络更新隐含层更新量计算模块(RC3-3)的输出。
8.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的网络更新隐含层更新模块(RC3-4)由第一可重构模块(RC3-4-1)、第二可重构模块(RC3-4-2)、第三可重构模块(RC3-4-3)组成;这三个可重构模块的结构相同且相互独立;每个可重构模块由一个二输入减法器,一个二输入乘法器,一个三输入加法器组成,输入数据进入减法器的输入端,该减法器的输出端与另一输入连接乘法器的输入端,该乘法器的输出端与另两个输入连接加法器的输入端,该加法器输出作为所属的可重构模块的输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010227358XA CN101882238B (zh) | 2010-07-15 | 2010-07-15 | 基于sopc的小波神经网络处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010227358XA CN101882238B (zh) | 2010-07-15 | 2010-07-15 | 基于sopc的小波神经网络处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101882238A CN101882238A (zh) | 2010-11-10 |
CN101882238B true CN101882238B (zh) | 2012-02-22 |
Family
ID=43054250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010227358XA Expired - Fee Related CN101882238B (zh) | 2010-07-15 | 2010-07-15 | 基于sopc的小波神经网络处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101882238B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106447037B (zh) * | 2015-10-08 | 2019-02-12 | 上海兆芯集成电路有限公司 | 具有多个可选择输出的神经网络单元 |
CN107688853B (zh) * | 2016-08-05 | 2020-01-10 | 中科寒武纪科技股份有限公司 | 一种用于执行神经网络运算的装置及方法 |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US11615297B2 (en) | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
US11238334B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method of input alignment for efficient vector operations in an artificial neural network |
CN110147872B (zh) * | 2018-05-18 | 2020-07-17 | 中科寒武纪科技股份有限公司 | 编码存储装置及方法、处理器及训练方法 |
CN109409514A (zh) * | 2018-11-02 | 2019-03-01 | 广州市百果园信息技术有限公司 | 卷积神经网络的定点运算方法、装置、设备和存储介质 |
US11263077B1 (en) | 2020-09-29 | 2022-03-01 | Hailo Technologies Ltd. | Neural network intermediate results safety mechanism in an artificial neural network processor |
US11811421B2 (en) | 2020-09-29 | 2023-11-07 | Hailo Technologies Ltd. | Weights safety mechanism in an artificial neural network processor |
US11874900B2 (en) | 2020-09-29 | 2024-01-16 | Hailo Technologies Ltd. | Cluster interlayer safety mechanism in an artificial neural network processor |
US11237894B1 (en) | 2020-09-29 | 2022-02-01 | Hailo Technologies Ltd. | Layer control unit instruction addressing safety mechanism in an artificial neural network processor |
US11221929B1 (en) | 2020-09-29 | 2022-01-11 | Hailo Technologies Ltd. | Data stream fault detection mechanism in an artificial neural network processor |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1251136C (zh) * | 2003-10-21 | 2006-04-12 | 上海交通大学 | 神经网络建模方法 |
CN100367300C (zh) * | 2006-07-07 | 2008-02-06 | 华中科技大学 | 一种基于人工神经网络的特征选择方法 |
-
2010
- 2010-07-15 CN CN201010227358XA patent/CN101882238B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101882238A (zh) | 2010-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101882238B (zh) | 基于sopc的小波神经网络处理器 | |
EP3754521A1 (en) | Structural topology optimization method based on material-field reduction series expansion | |
Alexandrov et al. | An overview of first-order model management for engineering optimization | |
WO2008067676A1 (en) | Architecture, system and method for artificial neural network implementation | |
Yang et al. | Model predictive controller design and implementation on FPGA with application to motor servo system | |
CN103793562B (zh) | 基于fpga的有源配电网暂态实时仿真***设计方法 | |
CN105468335A (zh) | 流水级运算装置、数据处理方法及片上网络芯片 | |
CN104615909A (zh) | 基于FPGA的Izhikevich神经元网络同步放电仿真平台 | |
CN106127302A (zh) | 处理数据的电路、图像处理***、处理数据的方法和装置 | |
Morales-Hernández et al. | High-performance computing in water resources hydrodynamics | |
CN110163362A (zh) | 一种计算装置及方法 | |
CN103810646B (zh) | 一种基于改进投影积分算法的有源配电***动态仿真方法 | |
CN108763159A (zh) | 一种基于fpga的lstm前向运算加速器 | |
CN105955031B (zh) | 非线性预测控制的fpga硬件加速控制器及其加速实现方法 | |
CN102394593B (zh) | 一种整型化的最小均方lms自适应滤波器和方法 | |
CN104375806B (zh) | 一种并行计算构件、方法及相应并行软件开发方法与*** | |
Liu et al. | FPGA implementation of an interior point method for high-speed model predictive control | |
Sun et al. | An OpenCL-based hybrid CNN-RNN inference accelerator on FPGA | |
Pedram et al. | Local linear model tree (LOLIMOT) reconfigurable parallel hardware | |
CN108734270A (zh) | 一种兼容型神经网络加速器及数据处理方法 | |
Mazouz et al. | Automated offline design-space exploration and online design reconfiguration for CNNs | |
CN104460444B (zh) | 基于广义相关系数的fpga运算电路 | |
CN106648883A (zh) | 基于 fpga 的动态可重构硬件加速方法及*** | |
CN104009733B (zh) | 基于fpga的样本重要性重采样粒子滤波器的硬件实现方法 | |
Saldaña et al. | A digital hardware architecture for a three-input one-output zero-order ANFIS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120222 Termination date: 20140715 |
|
EXPY | Termination of patent right or utility model |