CN101882238A - 基于sopc的小波神经网络处理器 - Google Patents

基于sopc的小波神经网络处理器 Download PDF

Info

Publication number
CN101882238A
CN101882238A CN 201010227358 CN201010227358A CN101882238A CN 101882238 A CN101882238 A CN 101882238A CN 201010227358 CN201010227358 CN 201010227358 CN 201010227358 A CN201010227358 A CN 201010227358A CN 101882238 A CN101882238 A CN 101882238A
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.)
Granted
Application number
CN 201010227358
Other languages
English (en)
Other versions
CN101882238B (zh
Inventor
文常保
巨永锋
闫栋
康迤
任东明
刘清洪
李洪安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changan University
Original Assignee
Changan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changan University filed Critical Changan University
Priority to CN201010227358XA priority Critical patent/CN101882238B/zh
Publication of CN101882238A publication Critical patent/CN101882238A/zh
Application granted granted Critical
Publication of CN101882238B publication Critical patent/CN101882238B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于sopc的小波神经网络处理器,由前向传播模块,误差反馈模块和网络更新模块构成;前向传播模块的输出端连接到误差反馈模块,误差反馈模块的输出端连接到网络更新模块,网络更新模块的输出端连接到前向传播模块;前向传播模块包括前向传播输入层功能模块,前向传播隐含层功能模块,前向传播输出层功能模块;误差反馈模块包括误差反馈输出层功能模块和误差反馈隐含层功能模块;网络更新模块包括网络更新输出层功能模块,网络更新隐含层功能模块。本发明在SOPC上实现小波神经网络,将小波神经网络算法划分为几种基本运算,这些基本运算由可重构单元RC完成,通过采用不同的RC连接方式能够构成功能不同的小波神经网络。

Description

基于SOPC的小波神经网络处理器
技术领域
本发明涉及一种小波神经网络处理器,尤其是一种基于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的乘法器的输出端连接该加法器的第二个输入端(输入数据为△W),该加法器的第三个输入端连接前向传播输出层可重构单元RC1-2的当前权值寄存器(输入数据为W(n)),加法器的输出端连接前向传播输出层可重构单元RC1-2的当前权值寄存器;加法器的输出作为网络更新输出层更新模块RC3-2的输出;如图11所示,网络更新隐含层更新量计算模块RC3-3由三个二输入乘法器,两个二输入除法器、阈值寄存器、平移因子寄存器和伸缩因子寄存器构成;网络更新输出层更新量计算单元RC3-1的学习速率寄存器的输出λ和误差反馈输出层功能模块2-1的输出δo连接到第一个乘法器的输入端,第一个乘法器的输出端分为三路:第一个乘法器的第一路输出端和阈值寄存器的输入端分别连接到第二个乘法器,第一个乘法器的第二路输出端和平移因子的输出端分别连接到第一个除法器的输入端,第一个乘法器的第三路输出端和前向传播输出层可重构单元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的学习速率寄存器的输出λ;加法器的三个输入从上到下依次是:乘法器的输出,网络更新隐含层更新模块RC3-3的第一个输出(即权值的更新量Δw)和前向传播隐含层可重构单元RC1-1中的当前权值寄存器的输出Wh(n);第二个可重构模块RC3-4-2中减法器的两个输入从上到下依次是:前向传播隐含层可重构单元RC1-1的当前平移因子寄存器的输出ah(n)和次当前平移因子寄存器的输出ah(n-1);乘法器的输入从上到下依次是:减法器的输出和输出层更新量计算单元RC3-1的学习速率寄存器的输出λ;加法器的三个输入从上到下依次是:乘法器的输出,网络更新隐含层更新模块RC3-3的第二个输出(即平移因子的更新量Δa)和前向传播隐含层可重构单元RC1-1中的当前平移因子寄存器的输出ah(n);第三个可重构模块RC3-4-3中减法器的两个输入从上到下依次是:前向传播隐含层可重构单元RC1-1的当前伸缩因子寄存器的输出bh(n)和次当前伸缩因子寄存器的输出bh(n-1);乘法器的输入从上到下依次是:减法器的输出和输出层更新量计算单元RC3-1的学习速率寄存器的输出λ;加法器的三个输入从上到下依次是:乘法器的输出,网络更新隐含层更新模块RC3-3的第三个输出(即伸缩因子的更新量Δb)和前向传播隐含层可重构单元RC1-1中的当前伸缩因子寄存器的输出bh(n);网络更新隐含层更新模块RC3-4的功能:通过权值更新量、当前权值和学习因子的运算,计算出下一次权值,同样平移因子和伸缩因子也由计算得到,由此,权值、平移因子、伸缩因子三个变量同时并行完成了更新。
网络更新模块3的作用是利用误差值与小波函数产生的系数来改变小波神经网络的权值,平移因子、伸缩因子。
本发明的小波神经网络处理器具有可重构性,具体表现为结构可重构、小波函数可重构和学习算法可重构。结构可重构是指通过增删处理器中的RC模块即可完成小波神经网络结构的调整;小波函数的可重构是指用于实现小波函数的LUT1-2模块和LUT2-2中数据的能够灵活修改,从而影响小波神经网络的小波函数的结构;学习算法的可重构是指用于调整权值、平移因子、伸缩因子的算法的更新只需通过更新RC3-4模块即可完成。
例如,一个字符识别的神经网络需要前向传播输入层功能模块1-164个数据寄存器,需要13个RC1-1模块和LUT1-1模块,需要12个RC1-2模块和LUT1-2模块,其他模块的数模由上述模块数目决定。
小波神经网络处理器工作原理:其工作过程分为三个阶段:前向传播阶段、误差反传阶段和网络更新阶段。在前向传播阶段,输入数据经过隐含层、输出层计算出实际输出值。若输出层的实际输出与期望的输出不符,则转入误差反馈阶段;误差反传是将输出误差通过输出层向隐含层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号。然后转入网络更新阶段;网络更新阶段是在将误差反馈阶段的误差信号即作为修正各单元权值的依据,由输出层到隐含层逐层更新小波神经网络的权值、平移因子、伸缩因子。然后在前向传播阶段的运算,计算出实际输出值。比较实际输出与期望的输出的误差,直到满足要求。系统运行时,每次在FPGA中只配置一个阶段的功能,一个阶段的功能完成后,再配置下一个阶段的功能。这种“配置-执行”过程一直重复下去直到完成算法。

Claims (9)

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)。
2.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的前向传播隐含层可重构单元(RC1-1)的结构如下:
由一个次当前权值寄存器、一个当前权值寄存器、一个乘法器、第一加法器(ADD 1)、第二加法器(ADD 2)、一个次当前平移因子寄存器、一个当前平移因子寄存器、一个次当前伸缩因子寄存器、一个当前伸缩因子寄存器和一个除法器组成;
前向传播输入层功能模块(1-1)的每个数据寄存器的输出端和当前权值寄存器的一个输出端连接每个前向传播隐含层可重构单元(RC1-1)中的乘法器的输入端,该乘法器的输出端连接到第一加法器(ADD 1),该第一加法器(ADD 1)的输出端分为两路:第一加法器(ADD 1)的一个输出端和当前平移因子寄存器的输出端连接第二加法器(ADD 2)的输入端,第一加法器(ADD 1)的另一个输出端反馈连接到自身的另一个输入端;第二加法器(ADD 2)的输出端和当前伸缩因子寄存器的一个输出端连接除法器的输入端;除法器的输出端作为前向传播隐含层可重构单元(RC1-1)的输出端;
当前权值寄存器的另一个输出端连接到次当前权值寄存器,当前平移因子寄存器的另一个输出端连接到次当前平移因子寄存器,当前伸缩因子寄存器的另一个输出端连接到次当前伸缩因子寄存器。
3.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的前向传播输出层可重构单元(RC1-2)的结构如下:
由一个次当前权值寄存器、一个当前权值寄存器,一个乘法器、一个加法器和一个阈值寄存器组成,前向传播隐含层可重构单元(RC1-1)中的每个小波函数查找表(LUT1-1)的输出端和当前权值寄存器的一个输出端连接每个前向传播输出层可重构单元(RC1-2)中的乘法器,当前权值寄存器的另一个输出端连接到次当前权值寄存器;乘法器的输出端和阈值寄存器的输出端分别连接到加法器的输入端,该加法器的输出端分为两路:加法器的一个输出端连接到与前向传播输出层可重构单元(RC1-2)对应的激励函数查找表(LUT1-2)的输入端,加法器的另一个输出端反馈连接到该加法器自身的另一个输入端。
4.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的误差反馈输出层可重构单元(RC2-1)的结构如下:
由一个目标数据寄存器和一个减法器组成,前向传播输出层功能模块(1-3)中的每个激励函数导函数查找表(LUT2-1)的输出端和目标数据寄存器的输出端连接减法器的输入端;该减法器的输出端的结果作为误差反馈输出层可重构单元(RC2-1)的输出。
5.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的误差反馈隐含层可重构单元(RC2-2)由一个乘法器和一个加法器组成,每个误差反馈输出层乘法器的输出端和前向传播输出层模块(1-2)的当前权值寄存器的输出端连接误差反馈隐含层可重构单元(RC2-2)的乘法器的输入端;误差反馈隐含层可重构单元(RC2-2)的乘法器的输出端连接加法器的一个输入端,该加法器的输出端分为两路:加法器的一个输出端反馈连接到该加法器自身的另一个输出端;当所有输入数据乘累加计算完成,加法器的另一路输出端作为误差反馈隐含层可重构单元(RC2-2)的输出端。
6.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的网络更新输出层更新量计算模块(RC3-1)由一个三输入的乘法器和学习速率寄存器构成,学习速率寄存器的输出作为乘法器的一个输入,误差反馈输出层功能模块(2-1)的输出作为乘法器的第二个输入,激励函数查找表(LUT1-2)的输出作为乘法器的第三个输入。
7.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的网络更新输出层更新模块(RC3-2)由一个二输入减法器,一个二输入乘法器,一个三输入加法器组成;减法器的一个输入端连接前向传播输出层可重构单元(RC1-2)的当前权值寄存器,另一个输入端连接前向传播输出层可重构单元(RC1-2)的次当前权值寄存器,减法器的一个输出端连接乘法器的一个输入端,该乘法器的另一个输入端是输出层更新量计算单元(RC3-1)的学习因子寄存器,乘法器的输出端连接加法器的第一个输入端,网络更新输出层更新量计算模块(RC3-1)的乘法器的输出端连接该加法器的第二个输入端,该加法器的第三个输入端连接前向传播输出层可重构单元(RC1-2)的当前权值寄存器,加法器的输出端连接前向传播输出层可重构单元(RC1-2)的当前权值寄存器;加法器的输出作为网络更新输出层更新模块(RC3-2)的输出。
8.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的网络更新隐含层更新量计算模块(RC3-3)由三个二输入乘法器,两个二输入除法器、阈值寄存器、平移因子寄存器和伸缩因子寄存器构成;网络更新输出层更新量计算单元(RC3-1)的学习因子寄存器的输出和误差反馈输出层功能模块(2-1)的输出连接到第一个乘法器的输入端,第一个乘法器的输出端分为三路:第一个乘法器的第一路输出端和阈值寄存器的输入端分别连接到第二个乘法器,第一个乘法器的第二路输出端和平移因子的输出端分别连接到第一个除法器的输入端,第一个乘法器的第三路输出端和前向传播输出层可重构单元(RC1-2)中加法器的输出分别连接本模块的第三个乘法器的输入端;第三个乘法器的输出端和伸缩因子寄存器的输出端分别连接第二个除法器的输入端;第二乘法器的输出端、第一除法器的输出端以及第二除法器的输出端作为网络更新隐含层更新量计算模块(RC3-3)的输出。
9.如权利要求1所述的基于sopc的小波神经网络处理器,其特征在于,所述的网络更新隐含层更新模块(RC3-4)由第一可重构模块(RC3-4-1)、第二可重构模块(RC3-4-2)、第三可重构模块(RC3-4-3)组成;这三个可重构模块的结构相同且相互独立;每个可重构模块由一个二输入减法器,一个二输入乘法器,一个三输入加法器组成,输入数据进入减法器的输入端,该减法器的输出端与另一输入连接乘法器的输入端,该乘法器的输出端与另两个输入连接加法器的输入端,该加法器输出作为所属的可重构模块的输出。
CN201010227358XA 2010-07-15 2010-07-15 基于sopc的小波神经网络处理器 Expired - Fee Related CN101882238B (zh)

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 true CN101882238A (zh) 2010-11-10
CN101882238B 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)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485321A (zh) * 2015-10-08 2017-03-08 上海兆芯集成电路有限公司 具有架构神经网络执行单元的处理器
WO2018024232A1 (zh) * 2016-08-05 2018-02-08 上海寒武纪信息科技有限公司 用于执行神经网络运算的装置及方法
CN109409514A (zh) * 2018-11-02 2019-03-01 广州市百果园信息技术有限公司 卷积神经网络的定点运算方法、装置、设备和存储介质
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
CN110147873A (zh) * 2018-05-18 2019-08-20 北京中科寒武纪科技有限公司 卷积神经网络的处理器及训练方法
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
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
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529281A (zh) * 2003-10-21 2004-09-15 上海交通大学 神经网络建模方法
CN1945602A (zh) * 2006-07-07 2007-04-11 华中科技大学 一种基于人工神经网络的特征选择方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529281A (zh) * 2003-10-21 2004-09-15 上海交通大学 神经网络建模方法
CN1945602A (zh) * 2006-07-07 2007-04-11 华中科技大学 一种基于人工神经网络的特征选择方法

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485321A (zh) * 2015-10-08 2017-03-08 上海兆芯集成电路有限公司 具有架构神经网络执行单元的处理器
CN106485321B (zh) * 2015-10-08 2019-02-12 上海兆芯集成电路有限公司 具有架构神经网络执行单元的处理器
WO2018024232A1 (zh) * 2016-08-05 2018-02-08 上海寒武纪信息科技有限公司 用于执行神经网络运算的装置及方法
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11354563B2 (en) 2017-04-04 2022-06-07 Hallo Technologies Ltd. Configurable and programmable sliding window based memory access in a neural network processor
US11675693B2 (en) 2017-04-04 2023-06-13 Hailo Technologies Ltd. Neural network processor incorporating inter-device connectivity
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11216717B2 (en) 2017-04-04 2022-01-04 Hailo Technologies Ltd. Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11238331B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method for augmenting an existing artificial neural network
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
US11514291B2 (en) 2017-04-04 2022-11-29 Hailo Technologies Ltd. Neural network processing element incorporating compute and local memory elements
US11263512B2 (en) 2017-04-04 2022-03-01 Hailo Technologies Ltd. Neural network processor incorporating separate control and data fabric
US11461614B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. Data driven quantization optimization of weights and input data in an artificial neural network
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11461615B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. System and method of memory access of multi-dimensional data
CN110147873B (zh) * 2018-05-18 2020-02-18 中科寒武纪科技股份有限公司 卷积神经网络的处理器及训练方法
CN110147873A (zh) * 2018-05-18 2019-08-20 北京中科寒武纪科技有限公司 卷积神经网络的处理器及训练方法
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
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
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

Also Published As

Publication number Publication date
CN101882238B (zh) 2012-02-22

Similar Documents

Publication Publication Date Title
CN101882238B (zh) 基于sopc的小波神经网络处理器
EP3754521A1 (en) Structural topology optimization method based on material-field reduction series expansion
EP2122542A1 (en) Architecture, system and method for artificial neural network implementation
CN205139973U (zh) 基于fpga器件构建的bp神经网络
CN104145281A (zh) 神经网络计算装置和系统及其方法
CN106126481A (zh) 一种计算引擎和电子设备
CN107392395A (zh) 一种基于价格激励机制的配电网和微电网协调优化方法
CN106127302A (zh) 处理数据的电路、图像处理系统、处理数据的方法和装置
CN104615909A (zh) 基于FPGA的Izhikevich神经元网络同步放电仿真平台
CN105468335A (zh) 流水级运算装置、数据处理方法及片上网络芯片
CN108763159A (zh) 一种基于fpga的lstm前向运算加速器
CN103810646B (zh) 一种基于改进投影积分算法的有源配电系统动态仿真方法
CN105279629A (zh) 一种优化的智能装箱系统
CN110163358A (zh) 一种计算装置及方法
CN104375806A (zh) 一种并行计算构件、方法及相应并行软件开发方法与系统
Haro et al. A model for solving the optimal water allocation problem in river basins with network flow programming when introducing non-linearities
CN106897942A (zh) 一种配电网分布式并行状态估计方法及装置
KR20170098790A (ko) 적응형 자동화 제어 소프트웨어에 의한 에너지 저장 수명 성능 예측 및 최적화
CN108462184A (zh) 一种电力系统线路串补优化配置方法
CN103246934A (zh) 基于轨迹灵敏度的电力系统等值模型参数分类优化方法
CN106505575A (zh) 一种基于粒计算的线路潮流经济调度方法
CN103366058B (zh) 基于fpga的高维卡尔曼滤波器及其实现方法
CN108734270A (zh) 一种兼容型神经网络加速器及数据处理方法
Wang et al. Accelerating on-line training of LS-SVM with run-time reconfiguration
Carpegna et al. Spiker+: a framework for the generation of efficient Spiking Neural Networks FPGA accelerators for inference at the edge

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