CN108665062B - 一种基于小波变换减少io开销的神经网络处理系统 - Google Patents

一种基于小波变换减少io开销的神经网络处理系统 Download PDF

Info

Publication number
CN108665062B
CN108665062B CN201810408130.7A CN201810408130A CN108665062B CN 108665062 B CN108665062 B CN 108665062B CN 201810408130 A CN201810408130 A CN 201810408130A CN 108665062 B CN108665062 B CN 108665062B
Authority
CN
China
Prior art keywords
chip
unit
data
neural network
instruction
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.)
Active
Application number
CN201810408130.7A
Other languages
English (en)
Other versions
CN108665062A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201810408130.7A priority Critical patent/CN108665062B/zh
Publication of CN108665062A publication Critical patent/CN108665062A/zh
Application granted granted Critical
Publication of CN108665062B publication Critical patent/CN108665062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression

Abstract

本公开提供了一种基于小波变换减少IO开销的神经网络处理系统,其中,所述基于小波变换的神经网络处理系统,包括:片下压缩单元,用于对片下数据进行压缩并发送至片上;以及片上计算装置,与所述片下压缩单元连接,用于接收所述压缩并发送至片上的数据,执行神经网络运算;其中,所述压缩单元基于小波变换对所述片下数据进行压缩。本公开神经网络处理系统,通过在加载与存储数据时进行数据压缩,减少了IO量,降低了时间与能量开销。

Description

一种基于小波变换减少IO开销的神经网络处理系统
技术领域
本公开属于计算机技术领域,更具体地涉及一种基于小波变换的神经网络处理系统及方法。
背景技术
人工神经网络(Artificial Neural Networks,ANNs)简称为神经网络 (NeuralNetworks,NNs)。它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间的相互连接关系,从而达到处理信息的目的。深度学习(deep learning)的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
目前的各种神经网络片上计算装置,往往面临访存瓶颈的问题,加载与存储数据造成了很大的时间与能量开销。
发明内容
(一)要解决的技术问题
基于以上问题,本公开的目的在于提出一种基于小波变换的神经网络处理系统及方法,用于解决以上技术问题的至少之一。
(二)技术方案
为了达到上述目的,作为本公开的一个方面,提供一种基于小波变换的神经网络处理系统,包括:
片下压缩单元,用于对片下数据进行压缩并发送至片上;以及
片上计算装置,与所述片下压缩单元连接,用于接收所述压缩并发送至片上的数据,执行神经网络运算;
其中,所述压缩单元基于小波变换对所述片下数据进行压缩。
在一些实施例中,所述的神经网络处理系统,还包括:
片上解压缩单元,设于所述片上计算装置内,用于对经所述片下压缩单元压缩并发送至片上的数据进行解压缩;
片上压缩单元,设于所述片上计算装置内,用于对片上数据进行压缩并发送至片下;以及
片下解压缩单元,设于所述片上计算装置外,用于对经所述片上压缩单元压缩并发送至片下的数据进行解压缩。
在一些实施例中,通过PCIe总线、DMA、无线网络实现所述数据在片上与片下之间传输。
在一些实施例中,所述压缩单元及解压缩单元利用小波基函数对数据进行小波变换,所述小波基函数包括哈尔基函数、Daubechies小波基函数、 Biorthogonal小波基函数、Mexican Hat小波基函数、Coiflets小波基函数、 Symlets小波基函数、Morlet小波基函数、Meyer小波基函数、Gaus小波基函数、Dmeyer小波基函数、ReverseBior小波基函数。
在一些实施例中,利用所述小波基函数通过阈值法、截取法、舍高频和取低频法对数据进行压缩。
在一些实施例中,所述小波变换为一维的小波变换或二维的小波变换。
在一些实施例中,利用所述压缩单元进行压缩的数据及利用所述解压缩单元进行解压缩的数据包括神经网络中的神经元数据和权值数据。
在一些实施例中,所述片上计算装置还包括:存储单元、指令控制单元以及运算单元;其中,
所述存储单元用于存储运算指令以及经所述片下压缩单元压缩后的数据;
所述片上解压缩单元与所述存储单元连接,用于接收所述存储单元发送的压缩后的数据并进行解压缩;
所述指令控制单元与所述存储单元连接,用于接收所述存储单元发送的运算指令,并译码为相应的微指令;
所述运算单元与所述解压缩单元和所述指令控制单元连接,用于接收所述微指令以及经所述片上解压缩单元解压缩后的数据,并进行神经网络运算;
所述片上压缩单元,用于对所述运算单元输出的数据进行压缩并发送至片下。
在一些实施例中,所述片上计算装置还包括:直接存储访问单元、指令缓存单元、输入权值缓存单元、输入神经元缓存单元以及输出缓存单元;其中,
所述直接存储访问单元用于在所述存储单元与所述指令缓存单元、所述输入权值缓存单元、所述输入神经元缓存单元和所述输出缓存单元之间进行数据读写;
所述指令缓存单元与所述直接存储访问单元连接,用于接收运算指令并发送至所述指令控制单元;
所述输入权值缓存单元与所述直接存储访问单元连接,用于接收权值数据并发送至所述片上解压缩单元;
所述输入神经元缓存单元与所述直接存储访问单元连接,用于接收神经元数据并发送至所述片上解压缩单元;
所述输出缓存单元与所述运算单元连接,用于接收运算单元输出的数据并发送至所述直接存储防问单元或发送至所述片上压缩单元。
在一些实施例中,所述片上计算装置还包括:预处理单元,与所述存储单元连接,用于对输入存储单元的数据进行预处理。
(三)有益效果
(1)本公开可以利用小波变换对数据进行压缩,从而有效地减少了神经网络加速器所需的IO量,减少了能耗,提高了处理速度;另外,利用小波变换对数据进行解压缩,还原原数据,满足了神经网络处理的数据精度需求。
(2)本公开可以利用小波变换对数据进行去噪声等有益操作,提高了数据质量。
附图说明
图1为依据本公开一实施例神经网络处理系统的方块图。
图2为依据本公开另一实施例神经网络处理系统方块图。
图3为依据本公开一实施例片上计算装置方块图。
图4为依据本公开另一实施例片上计算装置及神经网络处理系统方块图。
图5为依据本公开又一实施例片上计算装置及神经网络处理系统方块图。
图6为依据本公开另一实施例片上计算装置方块图。
图7为依据本公开又一实施例片上计算装置方块图。
图8为依据本公开实施例神经网络处理方法流程图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。
为了解决现有的各种神经网络片上计算装置面临访存瓶颈的问题,减少在加载与存储数据时造成的时间与能量开销,本公开利用小波变换对数据进行压缩,具体的可利用小波基函数对输入/输出数据进行小波变换,从而对数据进行压缩。
小波变换(wavelet transform,WT)是一种变换分析方法,其继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。小波分析用于信号与图象压缩是小波变换应用的一个重要方面。它的特点是压缩比高,压缩速度快,压缩后能保持信号与图像的特征不变,且在传递中可以抗干扰。基于小波分析的压缩方法很多,典型的有小波包最好基方法等,这些方法都可以用来对神经网络中使用到的数据进行压缩,从而减少IO开销。
在一些实施例中,如图1所示,所述基于小波变换的神经网络处理系统包括:
片下压缩单元,用于对片下数据进行压缩并发送至片上;以及
片上计算装置,与所述片下压缩单元连接,用于接收所述压缩并发送至片上的数据,执行神经网络运算;
其中,所述压缩单元基于小波变换对所述片下数据进行压缩。
本实施例通过对片下数据压缩再加载至片上,减少了IO数量,降低了时间与能量开销。
在一些实施例中,如图2所示,所述的神经网络处理系统包括上述片下压缩单元和片上计算装置,还包括:片下解压缩单元;且所述片上计算装置包括片上解压缩单元和片上压缩单元;其中
所述片下压缩单元,用于对片下数据进行压缩并发送至片上;
所述片上解压缩单元,设于所述片上计算装置内,用于对经所述片下压缩单元压缩并发送至片上的数据进行解压缩;
所述片上压缩单元,设于所述片上计算装置内,用于对片上数据进行压缩并发送至片下;以及
所述片下解压缩单元,设于所述片上计算装置外,用于对经所述片上压缩单元压缩并发送至片下的数据进行解压缩。根据实际情况,若发送至片下的数据之后还会再次被加载到片上,则可以选择不对其解压缩,之后加载时也不再对其压缩。由此,通过对片上数据压缩再输出至片下,同样减少了IO数量,降低了时间与能量开销。
上述实施例中,所述压缩单元基于小波变换对其输入数据进行压缩,具体的,利用小波基函数进行小波变换压缩操作;所述解压缩单元基于小波变换对其输入数据进行解压缩,使用相应的基函数对数据进行重构即可;二者执行的操作为逆操作,即解压缩为压缩的逆操作。所述小波变换压缩操作可以是任意一种小波变换压缩操作,包括但不限于“舍高频、取低频”、“阈值法”、“截取法”等,所述小波基函数,可以是任意一种小波基函数,包括但不限于哈尔基函数(Haar basis function)、Daubechies小波基、 Biorthogonal小波基、Mexican Hat小波基等。
可选地,采用专门的指令集来实现相应的小波变换压缩压缩、解压缩操作。也就是说,所述的压缩与解压缩操作,既可以使用专门的指令来完成,也可以默认地在LOAD指令加载数据时,自动完成压缩与解压缩的操作。
下面以利用小波变换对图像压缩为例具体介绍本公开压缩操作过程。首先选取一小波基函数,使用一组基函数来表示原图像;然后对其进行多级分解,分解方式可以但不限于根据塔式结构对二维图形进行多级分解。具体而言,先对图像做二维小波变换,得到近似(低频)部分(对应平均值)和细节(高频)部分(对应细节系数)。然后对近似(低频)部分再进行下一级分解,如此重复。之后根据具体情况,可采取舍去基函数中的高频分量的方式,也可根据一预定阈值来舍去一些分量等方式,忽略掉一些影响不大的细节部分。对于卷积神经网络中的特征图(feature map),可以采用如上述同样的方法。对于神经网络权值数据,也可以采用小波变换,例如对每个卷积核进行小波压缩,又例如将神经网络的全连接层权值看作一个矩阵,进行小波压缩。虽然上述的小波变换一般是指二维的小波变换,然而对权值,或其他数据类型(如语音)的小波变换并不限于二维小波变换,也可以是一维小波变换,并进行压缩。在进行解压缩时,将相应的各级近似部分与细节部分逐级复原即可。
下面以哈尔小波函数作为小波基函数为例说明本公开基于小波变换利用小波基函数进行数据压缩的过程。例如基于哈尔小波函数对图片进行压缩,简单起见我们举例对一个2乘2大小的图片进行小波压缩。设其像素值为[9735],用哈尔小波变换的过程是:计算相邻像素对的平均值 (averaging),得到一幅分辨率为原图像1/2的新图像:[8 4]。这时图像信息已部分丢失,为了能从2个像素组成的图像重构出4个像素的原图像,必须把每个像素对的第一个像素值减这个像素的平均值作为图像的细节系数(detail coefficient)保存。因此,原图像可用下面的两个平均值和两个细节系数表示:[8 4 1 -1]。之后可以把第一步变换得到的图像进一步变换,原图像两级变换的过程如下表1所示:
Figure GDA0002353479430000061
由于基于小波变换的数据压缩与解压缩是互逆操作。相应的,在进行解压缩时,根据上述平均值及细节系数将各级近似部分与细节部分逐级复原即可,具体不再赘述。本公开中所提及的加载(load)、存储(store)到片上、片下操作,即IO操作,可以是通过PCIe总线等来传输数据,可以是通过DMA,也可以是通过无线网络传输数据,对此不作限制,只要是在上述片上计算装置与他的装置之间传输数据,均可使用本公开中提及的传输方式。
另外,虽然上述实施例中是采用解压缩单元对数据进行解压缩操作,但是关于本公开中的对数据进行解压缩的操作,也可以使用神经网络片上计算装置的运算单元来进行(同样的,压缩操作既可以采用压缩单元来进行,也可以采用运算单元来进行)。若使用运算单元,则可以省去解压缩单元带来的硬件代价,使得面积更小,但增加了一定的运算单元的负担,使得流水线中计算阶段的时间变长,因此更适合于IO操作占比更大的情况。若增加专门的解压缩单元,则可以充分利用流水线技术,使得解压缩单元与运算单元并行工作,将压缩操作作为加载数据操作的一部分。
在一些实施例中,如图3所示,该片上计算装置100包括:解压缩单元101、存储单元102、指令控制单元107以及运算单元108;其中,
所述存储单元用于存储运算指令以及经压缩操作后的数据;
所述解压缩单元与所述存储单元连接,用于接收所述存储单元发送的压缩操作后的数据,并进行解压缩操作;
所述指令控制单元与所述存储单元连接,用于接收所述存储单元发送的运算指令,并译码为相应的微指令;
所述运算单元与所述解压缩单元和所述指令控制单元连接,用于接收所述微指令以及经解压缩操作后的数据,并进行神经网络运算。所述运算单元进行神经网络运算得到的运算结果可以反馈至所述片上计算装置的所述存储单元,也可以发送至片下。
进一步的,如图4所示,所述片上计算装置100还可包括片上压缩单元111,用于对所述运算单元的运算结果进行压缩再发送至片下。相应的,所述神经网络处理系统还可进一步包括片下解压缩单元112 ,用于对经所述片上压缩单元压缩后发送至片下的数据进行解压缩,从而在片下存储。
如图5所示,所述神经网络处理系统还可以包括片下压缩单元113,用于在片下数据输入在所述片上计算装置100之前,对数据进行压缩,以减少IO开销。
在一些实施例中,如图6所示,所述片上计算装置包括:存储单元102、第一输入缓存单元105、第二输入缓存单元106、指令控制单元107、解压缩单元101以及运算单元108。其中所述第一输入缓存单元可以为神经元缓存单元,所述第二输入缓存单元可以为权值缓存单元。
可选的,所述片上计算装置还可包括直接存储访问(Direct Memory Access,DMA)单元103、指令缓存单元104以及输出缓存单元109。
其中,所述存储单元用于存储运算指令(具体可包括但不限于神经网络运算指令、非神经网络运算指令、加法指令、卷积指令等)以及输入数据(具体可包括但不限于压缩处理后的输入数据、输入数据的位置关系数据、运算结果以及其他神经网络运算中产生的中间数据等)。所述输入数据包括但不限于输入权值和输入神经元数据,且所述输入数据可包括至少一个输入权值和/或至少一个输入神经元,具体数量不作限定,即所述输入数据。
所述直接存储访问DMA单元用于在所述存储单元102与所述指令缓存单元104、所述第二输入缓存单元106、所述第一输入缓存单元105和所述输出缓存单元109之间进行数据读写。
更具体而言,所述DMA单元103可从所述存储单元102中读取运算指令,并将该运算指令发送给指令控制单元107,或缓存至指令缓存单元 104。
所述DMA单元103还可从所述存储单元102中读取输入权值或处理后的输入权值,以发送至第一输入存储单元105或第二输入存储单元106 中进行缓存。相应地,DMA单元103还可从所述存储单元102中读取输入神经元或处理后的输入神经元,以发送至第一输入存储单元105或第二输入存储单元106中。其中,所述第一输入存储单元105和第二输入存储单元106中缓存的数据不同,例如第一输入缓存单元105为神经元缓存单元,其存储有输入神经元或处理后的输入神经元,第二输入缓存单元106 为权值缓存单元,其存储输入权值或处理后的权值;反之亦然。
所述指令缓存单元104用于缓存运算指令。
所述指令控制单元107可用于从所述指令缓存单元或存储单元中获取运算指令,进一步地可将所述运算指令译码为相应的微指令,以便所述运算单元中的相关部件能够识别和执行。
所述输出缓存单元109可用于缓存所述运算单元输出的运算结果。
所述运算单元用于根据指令控制单元发送的微指令进行相应的数据运算处理,以获得运算结果。
所述解压缩单元用于对数据进行解压缩处理,将压缩后的数据还原。
当然,与前一实施例类似,所述片上计算装置还可包括片上压缩单元,用于对所述片上计算装置的运算结果进行压缩再发送至片下。相应的,所述神经网络处理系统还可进一步包括片下解压缩单元,用于对经所述片上压缩单元压缩后发送至片下的数据进行解压缩,从而在片下存储。所述神经网络处理系统还可以包括片下压缩单元,用于在片下数据输入在所述片上计算装置之前,对数据进行压缩,以减少IO数量。
所述运算指令可以包括:操作域以及操作码,以卷积运算指令为例,如表2所示,其中,寄存器号(可选的,寄存器也可以是寄存器堆)0、寄存器号(可选的,寄存器也可以是寄存器堆)1、寄存器号(可选的,寄存器也可以是寄存器堆)2、寄存器号(可选的,寄存器也可以是寄存器堆)3、寄存器号(可选的,寄存器也可以是寄存器堆)4可以为操作域。
表2运算指令形式
Figure GDA0002353479430000091
在一些实施例中,如图7所示,与前述实施例片上计算装置不同的是,本实施例片上计算装置还包括预处理单元110,用于对输入存储单元的数据进行预处理。例如本公开中,所述存储单元中缓存的输入数据即可为经过该预处理模块处理后的输入数据等。所述预处理包括但不限于以下处理中的任一项或多项的组合:高斯滤波、二值化、归一化、正则化、异常数据筛选等等,本公开不做限定。本实施例其他功能模块与前一实施例类似,此处不再赘述。本公开包括使用压缩指令、解压缩指令来实现相应的小波变换压缩、解压缩操作。所述压缩指令、解压缩指令的形式具体如下表3 所示。
表3压缩指令和解压缩指令形式
Figure GDA0002353479430000101
另外,所述片上计算装置中还可以包括其他类型的压缩单元,例如量化压缩单元,由此可以对数据采用其他方式(如量化等)进行压缩以降低数据占用存储资源量,乃至减少数据运算量,提高数据处理效率。
本公开中,所述片下数据、片上数据包括神经网络中的神经元数据和权值数据。所述压缩单元基于小波变换对输入至所述压缩单元的数据进行压缩,所述解压缩单元基于小波变换对输入至所述解压缩单元的数据进行解压缩,解压缩也即重构,用于还原原数据。
在一些实施例中,如图8所示,本公开还提供一种基于小波变换的神经网络处理方法,包括:
S1、对片下数据进行压缩并发送至片上,即片下压缩和加载步骤;
S2、对所述压缩并发送至片上的数据进行解压缩,即片上解压缩步骤;
S3、接收所述解压缩后的数据并执行神经网络运算,即片上运算步骤;
S4、对神经网络运算得到的数据进行压缩并发送至片下,即片上压缩步骤;以及
S5、对所述压缩并发送至片下的数据进行解压缩并存储为片下数据,即片下解压缩和存储步骤;
其中,基于小波变换对数据进行所述压缩和/或解压缩操作。
具体的,在基于小波变换对数据进行所述压缩和/或解压缩操作的步骤中,利用小波基函数对数据进行小波变换,所述小波基函数包括哈尔基函数、Daubechies小波基函数、Biorthogonal小波基函数、Mexican Hat小波基函数、Coiflets小波基函数、Symlets小波基函数、Morlet小波基函数、 Meyer小波基函数、Gaus小波基函数、Dmeyer小波基函数、ReverseBior 小波基函数。所述小波变换可以为一维小波变换或二维的小波变换。
更具体而言,在基于小波变换对数据进行所述压缩操作的步骤中,利用小波基函数表示需要压缩的数据,根据塔式结构对其进行多级分解,得到多级近似部分和细节部分,选择性的舍去细节部分(可通过阈值法、截取法、舍高频和取低频法舍去细节部分,从而对数据进行压缩),即实现所述压缩操作;在基于小波变换对数据进行所述解压缩操作的步骤中,将相应的各级近似部分与细节部分逐级复原,即实现所述解压缩操作。(具体过程前文已示例型说明,此处不再赘述)。
在一些实施例中,在片下压缩的步骤和片上解压缩的步骤之间还包括:在片上存储指令和经片下压缩后发送至片上的数据,即片上存储步骤;
在进行神经网络运算的步骤之前还包括:将所述指令译码为微指令,即片上译码步骤;
由此,利用所述微指令以及经片上解压缩后的数据进行神经网络运算。
在片上存储步骤之前,还包括:对所述经片下压缩后发送至片上的数据进行预处理,即片上预处理步骤。
在一些实施例中,利用压缩指令和解压缩指令进行压缩操作和解压缩操作,所述压缩指令包括:域1,用于存储指令类型;域2用于存储源地址是否在片上信息;域3,用于存储目的地址是否在片上信息;域4,用于存储源地址是否使用寄存器;域5,用于存储目的地址是否使用寄存器;域6,用于存储源地址;域7,用于存储目的地址;域8,用于存储寄存器号,参照前述表3所示。
在上述神经网络处理方法中,涉及到片上与片下之间数据传输可通过 PCIe总线、DMA、无线网络实现。
本公开中,所述压缩以及解压缩操作的数据既可以是神经网络中的神经元数据,也可以是神经网络中的权值数据。此压缩操作可以作为神经网络训练阶段的一部分,得到数据或权值的压缩方法;也可以作为神经网络运算的一种算子操作。
在一些实施例中,本公开还提供了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行所述方法。
在一些实施例中,本公开还提供了一种芯片,所述芯片包括如上所述的片上计算装置。
在一些实施例中,本公开还提供了一种芯片封装结构,所述芯片封装结构包括如上所述提供的芯片。
在一些实施例中,本公开还提供了一种板卡,所述板卡包括如上所述的芯片封装结构。
在一些实施例中,本公开还提供了一种电子设备,所述电子设备包括如上所述的板卡。
在一些实施例中,所述电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
在一些实施例中,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (7)

1.一种基于小波变换的神经网络处理系统,包括:
片下压缩单元,根据压缩指令对片下数据进行压缩并发送至片上;所述压缩指令包括:第一操作域,用于存储指令类型;第二操作域,用于存储源地址是否在片上信息;第三操作域,用于存储目的地址是否在片上信息;第四操作域,用于存储源地址是否使用寄存器;第五操作域,用于存储目的地址是否使用寄存器;第六操作域,用于存储源地址;第七操作域,用于存储目的地址;第八操作域,用于存储寄存器号;以及
片上计算装置,与所述片下压缩单元连接,用于接收所述压缩并发送至片上的数据,执行神经网络运算;
其中,所述压缩单元基于小波变换对所述片下数据进行压缩,所述小波变换为一维的小波变换或二维的小波变换;
利用小波基函数通过阈值法、截取法、舍高频和取低频法对所述片下数据进行压缩;
其中,利用所述压缩单元进行压缩的数据包括神经网络中的神经元数据和权值数据;
还包括:
片上解压缩单元,设于所述片上计算装置内,用于对经所述片下压缩单元压缩并发送至片上的数据进行解压缩;
片上压缩单元,设于所述片上计算装置内,用于对片上数据进行压缩并发送至片下;
所述片上计算装置还包括:存储单元、指令控制单元以及运算单元;其中,
所述存储单元用于存储运算指令以及经所述片下压缩单元压缩后的数据;
所述片上解压缩单元与所述存储单元连接,用于接收所述存储单元发送的压缩后的数据并进行解压缩;
所述指令控制单元与所述存储单元连接,用于接收所述存储单元发送的运算指令,并译码为相应的微指令;
所述运算单元与所述解压缩单元和所述指令控制单元连接,用于接收所述微指令以及经所述片上解压缩单元解压缩后的数据,并进行神经网络运算;
所述片上压缩单元,用于对所述运算单元输出的数据进行压缩并发送至片下。
2.根据权利要求1所述的神经网络处理系统,还包括:
片下解压缩单元,设于所述片上计算装置外,用于对经所述片上压缩单元压缩并发送至片下的数据进行解压缩。
3.根据权利要求2所述的神经网络处理系统,其中,通过PCIe总线、DMA、无线网络实现所述数据在片上与片下之间传输。
4.根据权利要求1所述的神经网络处理系统,其中,所述压缩单元及解压缩单元利用小波基函数对数据进行小波变换,所述小波基函数包括哈尔基函数、Daubechies小波基函数、Biorthogonal小波基函数、Mexican Hat小波基函数、Coiflets小波基函数、Symlets小波基函数、Morlet小波基函数、Meyer小波基函数、Gaus小波基函数、Dmeyer小波基函数、ReverseBior小波基函数。
5.根据权利要求2所述的神经网络处理系统,其中,利用所述解压缩单元进行解压缩的数据包括神经网络中的神经元数据和权值数据。
6.根据权利要求1所述的神经网络处理系统,其中,所述片上计算装置还包括:直接存储访问单元、指令缓存单元、输入权值缓存单元、输入神经元缓存单元以及输出缓存单元;其中,
所述直接存储访问单元用于在所述存储单元与所述指令缓存单元、所述输入权值缓存单元、所述输入神经元缓存单元和所述输出缓存单元之间进行数据读写;
所述指令缓存单元与所述直接存储访问单元连接,用于接收运算指令并发送至所述指令控制单元;
所述输入权值缓存单元与所述直接存储访问单元连接,用于接收权值数据并发送至所述片上解压缩单元;
所述输入神经元缓存单元与所述直接存储访问单元连接,用于接收神经元数据并发送至所述片上解压缩单元;
所述输出缓存单元与所述运算单元连接,用于接收运算单元输出的数据并发送至所述直接存储访问单元或发送至所述片上压缩单元。
7.根据权利要求6所述的神经网络处理系统,其中,所述片上计算装置还包括:预处理单元,与所述存储单元连接,用于对输入存储单元的数据进行预处理。
CN201810408130.7A 2018-04-28 2018-04-28 一种基于小波变换减少io开销的神经网络处理系统 Active CN108665062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810408130.7A CN108665062B (zh) 2018-04-28 2018-04-28 一种基于小波变换减少io开销的神经网络处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810408130.7A CN108665062B (zh) 2018-04-28 2018-04-28 一种基于小波变换减少io开销的神经网络处理系统

Publications (2)

Publication Number Publication Date
CN108665062A CN108665062A (zh) 2018-10-16
CN108665062B true CN108665062B (zh) 2020-03-10

Family

ID=63781553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810408130.7A Active CN108665062B (zh) 2018-04-28 2018-04-28 一种基于小波变换减少io开销的神经网络处理系统

Country Status (1)

Country Link
CN (1) CN108665062B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111353594B (zh) * 2018-12-24 2022-12-02 上海寒武纪信息科技有限公司 数据处理方法、装置、处理器和存储介质
CN111353593A (zh) * 2018-12-24 2020-06-30 上海寒武纪信息科技有限公司 数据处理方法、装置、处理器和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101485198A (zh) * 2006-04-18 2009-07-15 马维尔半导体有限公司 共享存储器多视频频道显示装置和方法
CN107590533A (zh) * 2017-08-29 2018-01-16 中国科学院计算技术研究所 一种用于深度神经网络的压缩装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8692695B2 (en) * 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
CA2461830C (en) * 2001-09-26 2009-09-22 Interact Devices System and method for communicating media signals
US7565491B2 (en) * 2005-08-04 2009-07-21 Saffron Technology, Inc. Associative matrix methods, systems and computer program products using bit plane representations of selected segments
US9101279B2 (en) * 2006-02-15 2015-08-11 Virtual Video Reality By Ritchey, Llc Mobile user borne brain activity data and surrounding environment data correlation system
JP5429445B2 (ja) * 2008-04-08 2014-02-26 富士フイルム株式会社 画像処理システム、画像処理方法、およびプログラム
EP2483777A4 (en) * 2009-09-30 2016-05-11 Altera Corp ENHANCED EXCHANGE OF WAVEFORM DATA BETWEEN MULTIPLE PROCESSORS USING COMPRESSION AND DECOMPRESSION
CN104156919B (zh) * 2014-08-04 2016-09-14 陕西科技大学 一种基于小波变换和Hopfield神经网络的运动模糊图像恢复方法
US9875747B1 (en) * 2016-07-15 2018-01-23 Google Llc Device specific multi-channel data compression
CN106447034B (zh) * 2016-10-27 2019-07-30 中国科学院计算技术研究所 一种基于数据压缩的神经网络处理器、设计方法、芯片

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101485198A (zh) * 2006-04-18 2009-07-15 马维尔半导体有限公司 共享存储器多视频频道显示装置和方法
CN107590533A (zh) * 2017-08-29 2018-01-16 中国科学院计算技术研究所 一种用于深度神经网络的压缩装置

Also Published As

Publication number Publication date
CN108665062A (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
CN108764454B (zh) 基于小波变换压缩和/或解压缩的神经网络处理方法
CN108615074B (zh) 基于压缩感知的神经网络处理系统及方法
US20200097831A1 (en) Processing method and accelerating device
US10599935B2 (en) Processing artificial neural network weights
CN104838653B (zh) 使用差分传送进行的无损图像压缩
US20190190538A1 (en) Accelerator hardware for compression and decompression
CN108271026A (zh) 压缩/解压缩的装置和系统、芯片、电子装置
KR20190089777A (ko) 이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치
CN110535869B (zh) 一种基于压缩算法的数据传输方法、终端设备及存储介质
CN108665062B (zh) 一种基于小波变换减少io开销的神经网络处理系统
US11960421B2 (en) Operation accelerator and compression method
CN108629410B (zh) 基于主成分分析降维和/或升维的神经网络处理方法
CN110913219A (zh) 一种视频帧预测方法、装置及终端设备
CN110909870A (zh) 训练装置及方法
US10608664B2 (en) Electronic apparatus for compression and decompression of data and compression method thereof
CN111045726B (zh) 支持编码、解码的深度学习处理装置及方法
CN110913230A (zh) 一种视频帧预测方法、装置及终端设备
CN110717864A (zh) 一种图像增强方法、装置、终端设备及计算机可读介质
CN112492312B (zh) 基于小波变换的图像压缩恢复方法、装置、设备和介质
CN111047020A (zh) 支持压缩及解压缩的神经网络运算装置及方法
WO2023124428A1 (zh) 芯片、加速卡以及电子设备、数据处理方法
CN108629409B (zh) 一种基于主成分分析减少io开销的神经网络处理系统
CN111083479A (zh) 一种视频帧预测方法、装置及终端设备
CN109117945B (zh) 处理器及其处理方法、芯片、芯片封装结构及电子装置
CN110677671A (zh) 一种图像压缩方法、装置及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant