CN108629409B - 一种基于主成分分析减少io开销的神经网络处理系统 - Google Patents
一种基于主成分分析减少io开销的神经网络处理系统 Download PDFInfo
- Publication number
- CN108629409B CN108629409B CN201810408127.5A CN201810408127A CN108629409B CN 108629409 B CN108629409 B CN 108629409B CN 201810408127 A CN201810408127 A CN 201810408127A CN 108629409 B CN108629409 B CN 108629409B
- Authority
- CN
- China
- Prior art keywords
- unit
- chip
- dimension
- data
- neural network
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 65
- 238000000513 principal component analysis Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 title claims abstract description 42
- 230000009467 reduction Effects 0.000 claims abstract description 110
- 239000011159 matrix material Substances 0.000 claims description 63
- 230000009466 transformation Effects 0.000 claims description 45
- 238000000354 decomposition reaction Methods 0.000 claims description 15
- 210000002364 input neuron Anatomy 0.000 claims description 12
- 210000002569 neuron Anatomy 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 10
- 230000000630 rising effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 17
- 230000001174 ascending effect Effects 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种基于主成分分析减少IO开销的神经网络处理系统,其中,所述神经网络处理系统,包括:片下降维单元,用于对片下数据进行降维并发送至片上;以及片上计算装置,与所述片下降维单元连接,用于接收所述降维并发送至片上的数据,执行神经网络运算;其中,所述降维单元基于主成分分析对所述片下数据进行降维。本公开基于主成分分析减少IO开销的神经网络处理系统,通过在加载与存储数据时进行数据降维,减少了IO数量,降低了时间与能量开销。
Description
技术领域
本公开属于计算机技术领域,更具体地涉及一种基于主成分分析的神经网络处理系统及方法。
背景技术
人工神经网络(Artificial Neural Networks,ANNs)简称为神经网络(NeuralNetworks,NNs),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间的相互连接关系,从而达到处理信息的目的。深度学习(deep learning)的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
目前的各种神经网络片上计算装置,往往面临访存瓶颈的问题,加载与存储数据造成了很大的时间与能量开销。因此,亟需提出一种IO时间与能量开销低、处理速度快的神经网络处理系统及方法。
发明内容
(一)要解决的技术问题
基于以上问题,本公开的目的在于提出一种基于主成分分析的神经网络处理系统及方法,用于解决以上技术问题的至少之一。
(二)技术方案
为了达到上述目的,根据本公开的一个方面,提供了一种基于主成分分析的神经网络处理系统,包括:
片下降维单元,用于对片下数据进行降维并发送至片上;以及
片上计算装置,与所述片下降维单元连接,用于接收所述降维并发送至片上的数据,执行神经网络运算;
其中,所述降维单元基于主成分分析对所述片下数据进行降维。
在一些实施例中,所述的神经网络处理系统,还包括:
片上升维单元,设于所述片上计算装置内,用于对经所述片下降维单元降维并发送至片上的数据进行升维。
在一些实施例中,所述的神经网络处理系统,还包括:
片上降维单元,设于所述片上计算装置内,用于对片上数据进行降维并发送至片下;以及
片下升维单元,设于所述片上计算装置外,用于对经所述片上降维单元降维并发送至片下的数据进行升维。
在一些实施例中,利用所述降维单元进行降维的数据及利用所述升维单元进行升维的数据包括神经网络中的神经元数据和权值数据。
在一些实施例中,所述降维单元基于主成分分析利用变换矩阵对输入至所述降维单元的数据进行降维;所述变换矩阵由奇异值分解(SVD)确定。
在一些实施例中,所述升维单元利用降维变换矩阵的逆矩阵对输入至所述升维单元的数据进行升维。
在一些实施例中,基于主成分分析的降维操作即将需要降维的数据乘以变换矩阵;基于主成分分析的升维操作即将需要升维的数据乘以降维变换矩阵的逆矩阵。
在一些实施例中,所述片上计算装置还包括:存储单元、指令控制单元以及运算单元;其中,
所述存储单元用于存储运算指令以及经所述片下降维单元降维后的数据;
所述片上升维单元与所述存储单元连接,用于接收所述存储单元发送的降维后的数据并进行升维;
所述指令控制单元与所述存储单元连接,用于接收所述存储单元发送的运算指令,并译码为相应的微指令;
所述运算单元与所述升维单元和所述指令控制单元连接,用于接收所述微指令以及经所述片上升维单元升维后的数据,并进行神经网络运算;
所述片上降维单元,用于对所述运算单元输出的数据进行降维并发送至片下。
在一些实施例中,所述片上计算装置还包括:直接存储访问单元、指令缓存单元、输入权值缓存单元、输入神经元缓存单元以及输出缓存单元;其中,
所述直接存储访问单元用于在所述存储单元与所述指令缓存单元、所述输入权值缓存单元、所述输入神经元缓存单元和所述输出缓存单元之间进行数据读写;
所述指令缓存单元与所述直接存储访问单元连接,用于接收运算指令并发送至所述指令控制单元;
所述输入权值缓存单元与所述直接存储访问单元连接,用于接收权值数据并发送至所述片上升维单元;
所述输入神经元缓存单元与所述直接存储访问单元连接,用于接收神经元数据并发送至所述片上升维单元;
所述输出缓存单元与所述运算单元连接,用于接收运算单元输出的数据并发送至所述直接存储访问单元或发送至所述片上降维单元。
在一些实施例中,所述片上计算装置还包括:预处理单元,用于对输入存储单元的数据进行预处理。
(三)有益效果
(1)本公开可以利用主成分分析对数据进行降维,从而有效地减少了神经网络加速器所需的IO量,减少了能耗,提高了处理速度;另外,利用主成分分析对数据进行升维,还原原数据,满足了神经网络处理的数据精度需求。
(2)本公开神经网络处理系统及方法可以使主成分分析以及奇异值分解(SVD)操作在神经网络处理过程中更好地得到支撑。
附图说明
图1为依据本公开一实施例神经网络处理系统的方块图。
图2为依据本公开另一实施例神经网络处理系统方块图。
图3为依据本公开一实施例片上计算装置方块图。
图4为依据本公开另一实施例片上计算装置及神经网络处理系统方块图。
图5为依据本公开又一实施例片上计算装置及神经网络处理系统方块图。
图6为依据本公开另一实施例片上计算装置方块图。
图7为依据本公开又一实施例片上计算装置方块图。
图8为依据本公开实施例神经网络处理方法流程图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。
本公开涉及一种基于主成分分析(Principal Component Analysis,PCA)的神经网络处理系统及方法。
主成分分析(PCA)是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。主成分分析,是考察多个变量间相关性一种多元统计方法,研究如何通过少数几个主成分来揭示多个变量间的内部结构,即从原始变量中导出少数几个主成分,使它们尽可能多地保留原始变量的信息,且彼此间互不相关。PCA是一种无监督降维算法,可以很好地解决因变量太多而复杂性、计算量增大的弊端。与此类似,K-L变换的本质与主成分分析基本一致,本公开中关于主成分分析的方法同样适用于K-L变换。主成分分析(PCA)常使用奇异值分解(Singular ValueDecomposition,SVD)的方法来完成。
具体的,本公开主要用于支持两种主成分分析计算:1.对一组数据进行SVD分解,根据SVD分解结果选取合适的特征值,输出得到的变换矩阵。2.已知主成分分析的变换矩阵或已利用SVD分解确定了变换矩阵,利用变换矩阵进行降维和/或利用变换矩阵的逆矩阵进行升维,将经过变换矩阵降维的数据加载到片上和/或将经过变换矩阵降维的数据存储至片下,在加载到片上之前和/或存储至片下之前选择性利用变换矩阵的逆矩阵的将降维后的数据升维,从而还原得到(相当于)经过有损压缩的原数据。
更具体而言,对于上述第1种主成分分析计算,例如,一组人脸图片数据,其图片大小固定,可以将每张图片看作一个向量,这些向量组成一个矩阵,对此矩阵进行SVD分解。SVD分解有多种实现方式,这里只例举其中一种,可以择优实现。SVD分解中涉及的矩阵减去均值、矩阵与自身的转置相乘的操作,可以使用专门的硬件进行计算。对其结果求特征值以及特征向量以后,可以得到SVD分解的三个结果矩阵U、sigma、V(计算中可以只求U和V中的一个,来对行或列进行降维,对于图像等数据,一般压缩其像素的维度,如将m个像素表示的图像降维压缩成n个像素来表示,其中m>n)。其中,sigma是对角矩阵,对角线上的值的平方根就是奇异值。对奇异值进行排序,取其中最大的k个值以及其对应的特征向量,特征向量组成的矩阵就是主成分分析所要求的变换矩阵。
对于上述第2种主成分分析计算,根据已知的或已确定的降维变换矩阵,在将数据加载到片上之前,先将数据在片下降维(将变换矩阵与原矩阵(待降维数据)相乘,即可对原矩阵进行降维),再进行加载操作,加载之后可以选择性的在片上进行升维,以还原原始数据。在将数据存储到片下之前,先对其进行降维,再进行存储操作。将数据存储到片下后,视其之后的用途,对其进行升维,或不升维以备之后再加载之需。
下面详细介绍本公开基于主成分分析的神经网络处理系统及方法。
在一些实施例中,如图1所示,所述基于主成分分析的神经网络处理系统包括:
片下降维单元,用于对片下数据进行降维并发送至片上;以及
片上计算装置,与所述片下降维单元连接,用于接收所述降维并发送至片上的数据,执行神经网络运算;
其中,所述降维单元基于主成分分析对所述片下数据进行降维。具体的,所述降维单元基于主成分分析利用变换矩阵对输入至所述降维单元的数据进行降维;所述变换矩阵可以是已知的变换矩阵,也可以由奇异值分解(SVD)确定。
本实施例通过对片下数据降维再加载至片上,减少了IO数量,降低了时间与能量开销。
在一些实施例中,如图2所示,所述的神经网络处理系统包括上述片下降维单元和片上计算装置,还包括:片下升维单元;且所述片上计算装置包括片上升维单元和片上降维单元;其中
所述片下降维单元,用于对片下数据进行降维并发送至片上;
所述片上升维单元,设于所述片上计算装置内,用于对经所述片下降维单元降维并发送至片上的数据进行升维;
所述片上降维单元,设于所述片上计算装置内,用于对片上数据进行降维并发送至片下;以及
所述片下升维单元,设于所述片上计算装置外,用于对经所述片上降维单元降维并发送至片下的数据进行升维。由此,通过对片上数据降维再输出至片下,同样减少了IO数量,降低了时间与能量开销。
上述实施例中,基于主成分分析的降维操作,即将数据乘以变换矩阵。基于主成分分析的升维操作,即将数据乘以变换矩阵的(伪)逆矩阵(由于变换矩阵是正交矩阵,其逆矩阵是自身的转置)。另外,虽然上述实施例中是采用升维单元对数据进行升维操作,但是关于本公开中的对数据进行升维的操作,也可以使用片上计算装置中的运算单元来进行(同样的,降维操作既可以采用降维单元来进行,也可以采用运算单元来进行)。由于涉及的操作是纯粹的矩阵乘法,运算单元可以高效地完成。若使用运算单元,则可以省去升维单元带来的硬件代价,使得面积更小,但增加了一定的运算单元的负担,使得流水线中计算阶段的时间变长,因此更适合于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。
其中,所述存储单元用于存储运算指令(具体可包括但不限于神经网络运算指令、非神经网络运算指令、加法指令、卷积指令、SVD指令等)以及输入数据(具体可包括但不限于降维处理后的输入数据、输入数据的位置关系数据、运算结果以及其他神经网络运算中产生的中间数据等)。所述输入数据包括但不限于输入权值和输入神经元数据,且所述输入数据可包括至少一个输入权值和/或至少一个输入神经元,具体数量不作限定,即所述输入数据。
所述直接存储访问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数量。
所述运算指令可以包括:操作域以及操作码,如表1所示,其中,寄存器号(可选的,寄存器也可以是寄存器堆)0、寄存器号(可选的,寄存器也可以是寄存器堆)1、寄存器号(可选的,寄存器也可以是寄存器堆)2、寄存器号(可选的,寄存器也可以是寄存器堆)3、寄存器号(可选的,寄存器也可以是寄存器堆)4可以为操作域。本公开在对输入矩阵进行奇异值分解(SVD)分解计算中所涉及的具体的SVD计算需要SVD指令的支持,具体形式如表1所示。
表1运算指令形式
在一些实施例中,如图7所示,与前述实施例片上计算装置不同的是,本实施例片上计算装置还包括预处理单元110,用于对输入存储单元的数据进行预处理。例如本公开中,所述存储单元中缓存的输入数据即可为经过该预处理单元处理后的输入数据等。所述预处理包括但不限于以下处理中的任一项或多项的组合:高斯滤波、二值化、归一化、正则化、异常数据筛选等等,本公开不做限定。本实施例其他功能模块与前一实施例类似,此处不再赘述。本公开包括使用降维指令、升维指令来实现相应的主成分分析降维、升维操作。所述降维指令、升维指令的形式具体如下。
表2降维指令和升维指令形式
另外,所述片上计算装置中还可以包括其他类型的压缩单元,例如量化压缩单元,由此可以对数据采用其他方式(如量化等)进行压缩以降低数据占用存储资源量,乃至减少数据运算量,提高数据处理效率。
本公开中,所述片下数据、片上数据包括神经网络中的神经元数据和权值数据。所述降维单元基于主成分分析利用变换矩阵对输入至所述降维单元的数据进行降维,所述变换矩阵可以是已知的变换矩阵,也可以由奇异值分解SVD确定。所述升维单元利用降维变换矩阵的逆矩阵对输入至所述升维单元的数据进行升维,升维也即重构,用于还原原数据。
在一些实施例中,如图8所示,本公开还提供一种基于主成分分析的神经网络处理方法,包括:
S1、对片下数据进行降维并发送至片上,即片下降维和加载步骤;
S2、对所述降维并发送至片上的数据进行升维,即片上升维步骤;
S3、接收所述升维后的数据并执行神经网络运算,即片上运算步骤;
S4、对神经网络运算得到的数据进行降维并发送至片下,即片上降维步骤;以及
S5、对所述降维并发送至片下的数据进行升维并存储为片下数据,即片下升维和存储步骤;
其中,基于主成分分析对数据进行所述降维和/或升维操作。
在一些实施例中,在片下降维的步骤和片上升维的步骤之间还包括:在片上存储指令和经片下降维后发送至片上的数据,即片上存储步骤;
在进行神经网络运算的步骤之前还包括:将所述指令译码为微指令,即片上译码步骤;
由此,利用所述微指令以及经片上升维后的数据进行神经网络运算。
在片上存储步骤之前,还包括:对所述经片下降维后发送至片上的数据进行预处理,即片上预处理步骤。
具体的,在所述降维步骤(片上降维、片下降维)中,基于主成分分析利用变换矩阵对数据进行降维操作;在所述升维步骤(片上升维、片下升维)中,利用降维变换矩阵的逆矩阵对数据进行升维操作。
可选的,所述变换矩阵为一已知的变换矩阵,或由奇异值分解(SVD)确定的一变换矩阵。在奇异值分解(SVD)确定变换矩阵的过程中,将输入数据进行SVD分解得到三个结果矩阵U、sigma、V;sigma是对角矩阵,其对角线上的值的平方根就是奇异值,对奇异值进行排序,取其中最大的k个值对应的特征向量,这些特征向量组成的矩阵即用于主成分分析的变换矩阵。
在降维步骤中,将需要降维的数据乘以变换矩阵以完成降维操作;在升维步骤中,将需要升维的数据乘以降维变换矩阵的逆矩阵以完成升维操作。
在一些实施例中,利用SVD指令进行奇异值分解,如前述表1所示,SVD指令包括:寄存器号0,用于存储输入地址;寄存器号1用于存储输入矩阵m方向长度;寄存器号2用于存储输入矩阵n方向长度,寄存器号3用于存储奇异值输出地址;寄存器号4,用于存储奇异矩阵输出地址。
在一些实施例中,利用降维指令和升维指令进行降维操作和升维操作,如前述表2所示,降维指令包括:域1,用于存储指令类型;域2用于存储源地址是否在片上;域2,用于存储目的地址;域3,用于存储目的地址是否在片上;域4,用于存储源地址是否使用寄存器;域5,用于存储目的地址是否使用寄存器;域6,用于存储源地址;域7,用于存储目的地址;域8,用于存储寄存器号;域9,用于存储降维变换矩阵地址;域10,用于存储降维变换矩阵的第一个维度。
在降维步骤中,可利用给定的降维维度(降维指令中包含的降维维度信息)对数据进行PCA降维。此降维操作可以作为神经网络训练阶段的一部分,得到数据或权值的降维方法;也可以作为神经网络运算的一种算子操作。
本公开中,所述降维以及升维操作的数据既可以是神经网络中的神经元数据,也可以是神经网络中的权值数据。
在一些实施例中,本公开还提供了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行所述方法。
在一些实施例中,本公开还提供了一种芯片,所述芯片包括如上所述的片上计算装置。
在一些实施例中,本公开还提供了一种芯片封装结构,所述芯片封装结构包括如上第四方面提供的芯片。
在一些实施例中,本公开还提供了一种板卡,所述板卡包括如上所述的芯片封装结构。
在一些实施例中,本公开还提供了一种电子设备,所述电子设备包括如上所述的板卡。
在一些实施例中,所述电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
在一些实施例中,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (7)
1.一种基于主成分分析的神经网络处理系统,包括:
片下降维单元,根据降维指令对片下数据进行降维并发送至片上;所述降维指令包括:第一操作域,用于存储指令类型;第二操作域,用于存储源地址是否在片上;第三操作域,用于存储目的地址是否在片上;第四操作域,用于存储源地址是否使用寄存器;第五操作域,用于存储目的地址是否使用寄存器;第六操作域,用于存储源地址;第七操作域,用于存储目的地址;第八操作域,用于存储寄存器号;第九操作域,用于存储降维变换矩阵地址;第十操作域,用于存储降维变换矩阵的第一个维度;以及
片上计算装置,与所述片下降维单元连接,用于接收所述降维并发送至片上的数据,执行神经网络运算;
其中,所述降维单元基于主成分分析对所述片下数据进行降维;
所述降维单元基于主成分分析利用变换矩阵对输入至所述降维单元的数据进行降维;所述变换矩阵由奇异值分解(SVD)确定;
还包括:
片上升维单元,设于所述片上计算装置内,用于对经所述片下降维单元降维并发送至片上的数据进行升维;
片上降维单元,设于所述片上计算装置内,用于对片上数据进行降维并发送至片下;
所述片上计算装置还包括:存储单元、指令控制单元以及运算单元;其中,
所述存储单元用于存储运算指令以及经所述片下降维单元降维后的数据;
所述片上升维单元与所述存储单元连接,用于接收所述存储单元发送的降维后的数据并进行升维;
所述指令控制单元与所述存储单元连接,用于接收所述存储单元发送的运算指令,并译码为相应的微指令;
所述运算单元与所述升维单元和所述指令控制单元连接,用于接收所述微指令以及经所述片上升维单元升维后的数据,并进行神经网络运算;
所述片上降维单元,用于对所述运算单元输出的数据进行降维并发送至片下。
2.根据权利要求1所述的神经网络处理系统,还包括:
片下升维单元,设于所述片上计算装置外,用于对经所述片上降维单元降维并发送至片下的数据进行升维。
3.根据权利要求1或2所述的神经网络处理系统,其中,利用所述降维单元进行降维的数据及利用所述升维单元进行升维的数据包括神经网络中的神经元数据和权值数据。
4.根据权利要求3所述的神经网络处理系统,其中,所述升维单元利用降维变换矩阵的逆矩阵对输入至所述升维单元的数据进行升维。
5.根据权利要求1、2或4所述的神经网络处理系统,其中,基于主成分分析的降维操作即将需要降维的数据乘以变换矩阵;基于主成分分析的升维操作即将需要升维的数据乘以降维变换矩阵的逆矩阵。
6.根据权利要求1所述的神经网络处理系统,其中,所述片上计算装置还包括:直接存储访问单元、指令缓存单元、输入权值缓存单元、输入神经元缓存单元以及输出缓存单元;其中,
所述直接存储访问单元用于在所述存储单元与所述指令缓存单元、所述输入权值缓存单元、所述输入神经元缓存单元和所述输出缓存单元之间进行数据读写;
所述指令缓存单元与所述直接存储访问单元连接,用于接收运算指令并发送至所述指令控制单元;
所述输入权值缓存单元与所述直接存储访问单元连接,用于接收权值数据并发送至所述片上升维单元;
所述输入神经元缓存单元与所述直接存储访问单元连接,用于接收神经元数据并发送至所述片上升维单元;
所述输出缓存单元与所述运算单元连接,用于接收运算单元输出的数据并发送至所述直接存储访问单元或发送至所述片上降维单元。
7.根据权利要求6所述的神经网络处理系统,其中,所述片上计算装置还包括:预处理单元,用于对输入存储单元的数据进行预处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810408127.5A CN108629409B (zh) | 2018-04-28 | 2018-04-28 | 一种基于主成分分析减少io开销的神经网络处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810408127.5A CN108629409B (zh) | 2018-04-28 | 2018-04-28 | 一种基于主成分分析减少io开销的神经网络处理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108629409A CN108629409A (zh) | 2018-10-09 |
CN108629409B true CN108629409B (zh) | 2020-04-10 |
Family
ID=63695180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810408127.5A Active CN108629409B (zh) | 2018-04-28 | 2018-04-28 | 一种基于主成分分析减少io开销的神经网络处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108629409B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11216184B2 (en) * | 2019-12-06 | 2022-01-04 | Western Digital Technologies, Inc. | Non-volatile memory with on-chip principal component analysis for generating low dimensional outputs for machine learning |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102754078A (zh) * | 2009-09-30 | 2012-10-24 | 信飞系统公司 | 使用压缩和解压缩的增强型多处理器波形数据交换 |
US8811415B2 (en) * | 2010-10-13 | 2014-08-19 | Samsung Electronics Co., Ltd. | Routing apparatus and network apparatus |
CN107154064A (zh) * | 2017-05-04 | 2017-09-12 | 西安电子科技大学 | 基于深度稀疏编码的自然图像压缩感知重建方法 |
CN107590533A (zh) * | 2017-08-29 | 2018-01-16 | 中国科学院计算技术研究所 | 一种用于深度神经网络的压缩装置 |
CN107800700A (zh) * | 2017-10-27 | 2018-03-13 | 中国科学院计算技术研究所 | 一种路由器和片上网络传输系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9026568B2 (en) * | 2012-03-30 | 2015-05-05 | Altera Corporation | Data compression for direct memory access transfers |
US9691034B2 (en) * | 2013-05-14 | 2017-06-27 | The Trustees Of Princeton University | Machine-learning accelerator (MLA) integrated circuit for extracting features from signals and performing inference computations |
US20160358069A1 (en) * | 2015-06-03 | 2016-12-08 | Samsung Electronics Co., Ltd. | Neural network suppression |
CN106909320B (zh) * | 2017-02-20 | 2020-01-21 | 北京中科睿芯科技有限公司 | 一种多维数据扩充传输的方法、装置以及系统 |
CN108958801B (zh) * | 2017-10-30 | 2021-06-25 | 上海寒武纪信息科技有限公司 | 神经网络处理器及使用处理器执行向量最大值指令的方法 |
-
2018
- 2018-04-28 CN CN201810408127.5A patent/CN108629409B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102754078A (zh) * | 2009-09-30 | 2012-10-24 | 信飞系统公司 | 使用压缩和解压缩的增强型多处理器波形数据交换 |
US8811415B2 (en) * | 2010-10-13 | 2014-08-19 | Samsung Electronics Co., Ltd. | Routing apparatus and network apparatus |
CN107154064A (zh) * | 2017-05-04 | 2017-09-12 | 西安电子科技大学 | 基于深度稀疏编码的自然图像压缩感知重建方法 |
CN107590533A (zh) * | 2017-08-29 | 2018-01-16 | 中国科学院计算技术研究所 | 一种用于深度神经网络的压缩装置 |
CN107800700A (zh) * | 2017-10-27 | 2018-03-13 | 中国科学院计算技术研究所 | 一种路由器和片上网络传输系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108629409A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11727276B2 (en) | Processing method and accelerating device | |
Shen et al. | Deep semantic face deblurring | |
CN109032669B (zh) | 神经网络处理装置及其执行向量最小值指令的方法 | |
US10853722B2 (en) | Apparatus for executing LSTM neural network operation, and operational method | |
CN111221578A (zh) | 计算装置以及计算方法 | |
CN108615074B (zh) | 基于压缩感知的神经网络处理系统及方法 | |
CN108764454B (zh) | 基于小波变换压缩和/或解压缩的神经网络处理方法 | |
CN108629410B (zh) | 基于主成分分析降维和/或升维的神经网络处理方法 | |
KR20160034814A (ko) | 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템 | |
Zuo et al. | Convolutional neural networks for image denoising and restoration | |
CN113610232A (zh) | 网络模型量化方法、装置、计算机设备以及存储介质 | |
CN113837942A (zh) | 基于srgan的超分辨率图像生成方法、装置、设备及存储介质 | |
CN111160547A (zh) | 一种人工神经网络运算的装置及方法 | |
CN114925320A (zh) | 一种数据处理方法及相关装置 | |
CN108629409B (zh) | 一种基于主成分分析减少io开销的神经网络处理系统 | |
WO2022227024A1 (zh) | 神经网络模型的运算方法、训练方法及装置 | |
CN108665062B (zh) | 一种基于小波变换减少io开销的神经网络处理系统 | |
Sakr et al. | Memory-efficient CMSIS-NN with replacement strategy | |
CN108960420B (zh) | 处理方法及加速装置 | |
CN111860557A (zh) | 图像处理方法及装置、电子设备及计算机存储介质 | |
Nakahara et al. | A tri-state weight convolutional neural network for an FPGA: Applied to YOLOv2 object detector | |
CN116420174A (zh) | 用于卷积神经网络的全尺度卷积 | |
CN111784557A (zh) | 一种处理图像数据的方法、装置、板卡及可读存储介质 | |
CN112328844A (zh) | 一种处理多类型数据的方法及系统 | |
Li et al. | A research and strategy of remote sensing image denoising algorithms |
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 |