CN109117455A - 计算装置及方法 - Google Patents
计算装置及方法 Download PDFInfo
- Publication number
- CN109117455A CN109117455A CN201710495795.1A CN201710495795A CN109117455A CN 109117455 A CN109117455 A CN 109117455A CN 201710495795 A CN201710495795 A CN 201710495795A CN 109117455 A CN109117455 A CN 109117455A
- Authority
- CN
- China
- Prior art keywords
- input data
- parameter matrix
- space
- conversion
- geometric space
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title abstract description 33
- 239000011159 matrix material Substances 0.000 claims abstract description 52
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims description 35
- 239000013598 vector Substances 0.000 claims description 11
- 230000002441 reversible effect Effects 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 abstract description 23
- 230000008569 process Effects 0.000 description 23
- 230000004913 activation Effects 0.000 description 12
- 230000015654 memory Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 5
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 210000002364 input neuron Anatomy 0.000 description 3
- 210000005036 nerve Anatomy 0.000 description 3
- 210000004205 output neuron Anatomy 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0418—Architecture, e.g. interconnection topology using chaos or fractal principles
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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/08—Learning methods
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Abstract
本公开提供了一种计算装置,包括:计算模块,用于接收转换后的输入数据及参数矩阵并进行计算。本公开还提供了一种计算方法。本公开计算装置及方法,减少神经网络中的数据量,降低存储开销,加快了计算速度。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及一种可加速神经网络运算的计算装置及方法。
背景技术
神经网络算法已成为许多不同领域中最先进的算法,如图像识别领域、语音识别领域和自然语言处理领域。这其中最为主要的网络是深度学习。这些神经网络通过不同层的神经元,完成不同的操作,从而对输入数据进行处理,最后得到相应的输出结果。通常来说,神经网络中的正向计算存在于训练和测试过程中,因此正向计算的效率对于整个神经网络是非常重要的。更进一步的,对于神经网络,卷积操作是一个非常重要的操作,通常具较大的计算量也因此具有较大的开销。例如,在卷积神经网络中,卷积层的计算占到整个网络的80%以上的计算时间。
然而,在实现本公开的过程中,申请人发现现有技术主要存在如下技术缺陷:神经网络不能快速的完成正向计算,特别是卷积操作。
发明内容
(一)要解决的技术问题
为了解决或者至少部分缓解上述技术问题,本公开提供一种可加速神经网络运算的计算装置及方法,通过将计算转换至其他的空间(这里的空间指的是数学意义上的几何空间)进行计算,从而可以加速神经网络中计算如卷积计算,从而加速整个网络的快速完成。
(二)技术方案
根据本公开的一个方面,提供了一种计算装置,包括:
转换模块,用于对输入数据和/或参数矩阵进行空间转换,从第一几何空间转换至第二几何空间;以及
计算模块,与所述转换模块连接,用于接收转换后的输入数据及参数矩阵并进行计算。
在一些实施例中,通过空间转换将输入数据、参数矩阵利用第二几何空间基向量的线性组合表示,也即将其在第二几何空间展开。
在一些实施例中,所述输入数据及参数矩阵为卷积层,降采样层,归一化层或正则化层所使用的输入数据及参数矩阵。
在一些实施例中,所述第一几何空间为空域,所述第二几何空间为频域。
在一些实施例中,所述空间变换的方式为可逆空间变换,包括FFT,DFT,DCT,或DST。
在一些实施例中,所述计算模块包括:
乘法器,用于将输入其中的数据相乘得到相乘之后的输出;和/或
一个或多个加法器,用于将输入其中的数据相加得到输出数据。
在一些实施例中,所述多个加法器构成加法树,用于进行加法树运算,即将输入其中的数据逐级相加得到输出数据。
在一些实施例中,所述计算模块还包括:
激活函数单元,用于将输入其中的数据通过激活函数运算得到激活输出数据;该激活函数包括sigmoid、tanh、relu、或softmax。
在一些实施例中,所述计算模块还包括:
池化单元,用于将输入其中的数据通过池化运算得到池化操作之后的输出数据;该池化操作包括:平均值池化,最大值池化,或中值池化。
在一些实施例中,还包括:
存储模块,用于存储数据和指令;以及
控制模块,用于控制计算模块执行相应的计算。
在一些实施例中,所述存储模块包括:权值缓存单元、输入神经元缓存单元、输出神经元缓存单元以及指令缓存单元。
在一些实施例中,还包括:
优化模块,用于对转换后的输入数据和/或参数矩阵进行优化处理,其中,所述优化处理包括分量选取、量化、稀疏或压缩。
在一些实施例中,所述优化模块通过PCA分析根据一分量选取条件进行分量选取。
在一些实施例中,所述分量选取条件包括:
阈值条件,即给定一阈值,若分量的系数的绝对值大于所述阈值,则保留该分量;否则,若分量的系数的绝对值小于所述阈值,则删除该分量;
或数量条件,即给定一选取数量,将分量系数按从大到小选取符合给定数量的分量。
根据本公开的另一个方面,还提供了一种计算方法,包括:
将输入数据和/或参数矩阵进行空间转换,从第一几何空间转换至第二几何空间;以及
对转换后的输入数据及参数矩阵进行计算。
在一些实施例中,通过空间转换将输入数据或参数矩用第二几何空间基向量的线性组合表示,也即将其在第二几何空间展开。
在一些实施例中,所述输入数据及参数矩阵为卷积层,降采样层,归一化层或正则化层所使用的输入数据及参数矩阵。
在一些实施例中,所述第一几何空间为空域,所述第二几何空间为频域。
在一些实施例中,所述空间变换的方式为可逆空间变换,包括FFT,DFT,DCT,或DST。
在一些实施例中,对转换后的输入数据及参数矩阵进行运算,包括:
根据得到转换后参数矩阵,得到在第二几何空间中参数矩阵的线性组合的表达,即将参数矩阵表达为在第二几何空间的空间基向量的线性组合;
将空间变换后的输入数据与所述空间基向量耦合进行计算。
在一些实施例中,在对转换后的输入数据及参数矩阵进行运算之前,还包括:
将输入数据和/或参数矩阵在转换空间进行优化处理;其中,所述优化处理包括分量选取、量化、稀疏或压缩至少其中之一。
在一些实施例中,所述优化处理为通过PCA分析根据一分量选取条件进行分量选取。
在一些实施例中,所述分量选取条件包括:
阈值条件,即给定一阈值,若分量的系数的绝对值大于所述阈值,则保留该分量;否则,若分量的系数的绝对值小于所述阈值,则删除该分量;
或数量条件,即给定一选取数量,将分量系数按从大到小选取符合给定数量的分量。
在一些实施例中,对转换后的输入数据及参数矩阵进行计算,包括:乘法计算、加法计算、乘加计算、内积计算、非线性计算或卷积计算。
在一些实施例中,对转换后的输入数据及参数矩阵进行计算,还包括:激活函数运算或池化运算。
(三)有益效果
从上述技术方案可以看出,本公开计算装置及方法至少具有以下有益效果其中之一:
(1)通过分解神经网络的运算,将神经网络中的运算转换到另外一个空间进行计算,从而通过在另外一个空间进行少量的运算加速计算原来的神经网络。
(2)神经网络的数据转换至另外一个空间,从而减少神经网络中的数据量,降低存储开销。
(3)对参数矩阵和输入数据在转换空间进行优化处理,进一步降低了开销,加快了计算速度。
附图说明
图1为根据本公开计算装置的功能模块示意图。
图2为依据本公开计算装置的另一功能模块示意图。
图3为依据本公开计算装置的另一功能模块示意图。
图4为依据本公开计算过程示意图。
图5为依据本公开一实施例计算过程示意图。
图6为依据本公开另一实施例计算过程示意图。
图7为依据本公开另一实施例计算过程示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。
需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。附图中未绘示或描述的实现方式,为所属技术领域中普通技术人员所知的形式。另外,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于相应的值。此外,以下实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本公开。
本公开提供了一种可加速神经网络运算的计算装置及方法,主要但不限于加速神经网络中卷积操作。图1是根据本公开计算装置功能模块示意图。如图1所示,所述计算装置包括:
转换模块,用于对输入数据和/或参数矩阵进行空间转换,从第一几何空间转换至第二几何空间;以及
计算模块,与所述转换模块连接,用于接收转换后的输入数据及参数矩阵并进行计算。
所述计算装置的输入包括图片、视频、音频、文字等。
所述计算装置的输出为数值输出,其结果表示含义包括但不限于分类结果、生成结果。
请参照图2,所述计算装置还进一步包括:外部存储模块,内部存储模块,及控制模块。
其中,外部存储模块,用于存储计算模块、内部存储模块、控制模块和转换模块的数据信息。该数据信息包括:权值数据、神经元数据(包括输入)、指令数据,转换信息等。
另外,所述外部存储模块,可提供对外部存储器的读写接口,并且可以配置相关寄存器灵活实现对不同外部存储器的操作。
内部存储模块,用于存储供计算模块使用的数据,包括:权值、神经元(包括输入)、指令数据等。
内部存储模块,提供和外部存储模块的读写接口,用以完成内部存储模块和外部存储模块的数据交换。
控制模块,提供和外部存储模块进行控制信号交换的接口,用以接受并解析外部控制信号,从而完成对其他模块的控制。
控制模块,提供和计算模块的信号交换接口,用以控制计算模块,从而完成不同的计算。
控制模块,提供和转换模块的信号交换接口,用以发送信号到转换模块,从而控制转换功能。
经转换模块转换后的输入数据和参数矩阵可直接发送至计算模块进行计算,也可经由外部存储及内部存储模块再发送至计算模块进行计算。
本公开还提供了一种计算方法,包括:
将输入数据和/或参数矩阵进行空间转换,从第一几何空间转换至第二几何空间;以及
对转换后的输入数据及参数矩阵进行计算。
本公开内部存储模块中存储的指令能够用于完成加速神经网络中的训练或者测试操作。
具体的,在测试过程,将输入传递至神经网络通过计算模块计算得到正向结果。
在训练过程,反复将输入传递至神经网络通过计算模块计算得到正向结果,并在其中将正向计算结果与给定参考结果比较,计算误差,并计算梯度反向传播至神经网络输入端,每次正向过程或者每几次正向过程更新神经网络参数值。
更具体而言,对于上述过程中的正向计算过程,其包括:
S1、将输入传递至神经网络;
S2、神经网络分层对于输入数据通过计算模块进行处理,其处理过程包括但不限于卷积,降采样,归一化,正则化等,其对应的层为卷积层,降采样层,归一化层,正则化层;
S3、采集输出结果,并将结果传递出来。
请参照图4,对于上述过程中的某一层计算过程,其包括:
对输入数据进行空间变换,将输入从第一几何空间转换至第二几何空间;具体的,可将输入从空域转换至其他几何空间,如从空域转换至频域。采用的空间变换方式为可逆空间变换,如快速傅里叶变换FFT,离散傅里叶变换DFT,离散余弦变换DCT,离散正弦变换DST等,将原始数据用其他几何空间基向量的线性组合表示,也即将原始数据在其他几何空间展开;在神经网络运算中,所述输入数据例如是神经元。
对参数矩阵进行空间变换,将参数矩阵从第一几何空间转换至第二几何空间,具体的,可将参数矩阵从空域转换至其他几何空间,如从空域转换至频域。采用的空间变换方式为可逆空间变换,如FFT,DFT,DCT,DST等,将原始数据用其他几何空间基向量的线性组合表示,也即将原始数据在其他几何空间展开。该空间转换同于前述的空间转换;在神经网络运算中,所述参数矩阵例如是权值。
根据转换后参数矩阵,得到在转换空间中参数矩阵的表达,也即参数矩阵表达为在转换空间的数学表示。
根据第一步得到的输入数据的变换结果,将变换结果与转换后的参数矩阵进行进一步计算,得到输入数据对应的原始计算结果。
相应的,对于正向过程中的卷积计算过程,其包括:
对输入数据进行空间变换,将输入从空域转换至其他空间,如频域。采用的空间变换为可逆空间变换,如DFT,DCT,DST;
对卷积层的参数矩阵进行空间变换,将参数矩阵从空域转换至其他空间,如频域,该空间同于第一步中的空间;
根据得到转换后参数矩阵,得到在转换空间中参数矩阵的线性组合的表达,也即将参数矩阵表达为在转换空间的空间基向量的线性组合;
根据第一步得到的输入数据的转换结果,即输入数据在第二几何空间展开,用第二几何空间基向量的线性组合表示,将输入数据的变换结果与转换后的参数矩阵(即对于参数矩阵的线性组合表达方式)进行计算,得到输入数据对应的原始卷积计算结果。
在一个实施例中,所述计算模块执行运算包括神经网络计算。
具体的,所述计算模块包括:乘法器,用于将输入其中的数据相乘得到相乘之后的输出;和/或一个或多个加法器,用于将输入其中的数据相加得到输出数据。进一步的,所述多个加法器可构成加法树,用于进行加法树运算,即将输入其中的数据逐级相加得到输出数据。
更具体而言,计算模块包括但不仅限于:第一部分乘法器,第二部分加法树,第三部分为激活函数单元,和/或第四部分池化单元。第一部分将输入数据1(in1)和输入数据2(in2)相乘得到相乘之后的输出(out),过程为:out=in1*in2;第二部分将输入数据in1通过加法树逐级相加得到输出数据(out),其中in1是一个长度为N的向量,N大于1,过程为:out=in1[1]+in1[2]+...+in1[N],和/或将输入数据(in1)通过加法数累加之后和输入数据(in2)相加得到输出数据(out),过程为:out=in1[1]+in1[2]+...+in1[N]+in2,或者将输入数据(in1)和输入数据(in2)相加得到输出数据(out),过程为:out=in1+in2;第三部分将输入数据(in)通过激活函数(active)运算得到激活输出数据(out),过程为:out=active(in),激活函数active可以是sigmoid、tanh、relu、softmax等,除了做激活操作,第三部分可以实现其他的非线性函数,可将将输入数据(in)通过运算(f)得到输出数据(out),过程为:out=f(in)。池化单元将输入数据(in)通过池化运算得到池化操作之后的输出数据(out),过程为out=pool(in),其中pool为池化操作,池化操作包括但不限于:平均值池化,最大值池化,中值池化,输入数据in是和输出out相关的一个池化核中的数据。
相应的,所述计算模块执行运算包括:第一部分是将所述输入数据1和输入数据2相乘,得到相乘之后的数据;和/或第二部分执行加法树运算,用于将输入数据1通过加法树逐级相加,或者将所述输入数据1通过和输入数据2相加得到输出数据;和/或第三部分执行激活函数运算,对输入数据通过激活函数(active)运算得到输出数据;和/或第四部分执行池化运算,out=pool(in),其中pool为池化操作,池化操作包括但不限于:平均值池化,最大值池化,中值池化,输入数据in是和输出out相关的一个池化核中的数据。以上几个部分的运算可以自由选择一个多个部分进行不同顺序的组合,从而实现各种不同功能的运算。
进一步的,请参照图3,本公开计算装置中,所述内部存储模块进一步包括:指令缓存单元、输入神经元缓存单元、输出神经元缓存单元、权值缓存单元。其中,所述指令缓存单元,用于缓存指令;权值缓存单元,用于缓存权值数据;输入神经元缓存单元,用于缓存输入神经元;控制模块,还用于从指令缓存中读取指令,将其译码为计算模块能够执行的指令并输出至计算模块;输出神经元缓存单元,用于缓存计算模块输出的运算结果,并输出给外部存储模块。
在一实施例中,如图5所示,参数矩阵和输入数据在转换空间进行进一步优化处理,其中,可通过对分量进行分析从而进行优化处理以进一步加速操作。具体的,输入数据和参数矩阵空间转换之后,其表达式中包括多个分量及各分量对应的系数。这里可通过PCA分析根据一分量选取条件进行分量选取从而选取最主要的一些分量,删除掉其他不重要的分量;另外,除PCA分析之外,也可以通过其他自定义分析从而进行优化处理。其中,所述分量选取条件包括:阈值条件,例如,给定一阈值,若分量的系数的绝对值大于所述阈值,则保留该分量;否则,若分量的系数的绝对值小于所述阈值,则删除该分量;所述分量选取条件还可包括:数量条件,例如给定一具体选取数量,将分量系数按从大到小选取符合给定数量的分量。这里进一步处理对于参数矩阵和输入数据来讲都是可选的。其他可采用的一些进一步优化处理包括但不限于量化,即将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程、稀疏、压缩。
在一实施例中,如图6所示,其中计算为卷积操作,所选取的空间转换方式为DCT。该实施例中对于卷积核和输入数据都没有在转后的空间表达上做进一步优化处理。
在一实施例中,如图7所示,其中的计算为卷积操作,所选取的空间转换方式为DFT。该实施例中优化处理为首先通过PCA选择重要的空间分量来近似表达原始数据,这里处理的数据包括输入数据和权值,然后将其量化、稀疏、压缩,从而进一步降低计算量和需要存储的数据量。
在另外一些实施例中,采用的空间变换可以是自定义的空间变换,符合可逆正交变化的准则即可。
在另外一些实施例中,计算装置中的计算模块可以是CPU、GPU、FPGA、DSP和ASIC专用加速器。
另外,本公开神经网络不限于卷积神经网络,还可以是全连接神经网络、RBM神经网络、及循环神经网络(RNN,Recurrent Neural Networks)等。在另外一些实施例中,计算装置及方法中针对的计算可以是卷积计算之外的其他神经网络中的操作,如全连接等。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种计算装置,包括:
转换模块,用于对输入数据和/或参数矩阵进行空间转换,从第一几何空间转换至第二几何空间;以及
计算模块,与所述转换模块连接,用于接收转换后的输入数据及参数矩阵并进行计算。
2.根据权利要求1所述的计算装置,其中,通过空间转换将输入数据、参数矩阵利用第二几何空间基向量的线性组合表示,也即将其在第二几何空间展开。
3.根据权利要求1或2所述的计算装置,其中,所述输入数据及参数矩阵为卷积层,降采样层,归一化层或正则化层所使用的输入数据及参数矩阵。
4.根据权利要求1至3中任一项所述的计算装置,其中,所述第一几何空间为空域,所述第二几何空间为频域。
5.根据权利要求1至4中任一项所述的计算装置,其中,所述空间变换的方式为可逆空间变换,包括FFT,DFT,DCT,或DST。
6.一种计算方法,包括:
将输入数据和/或参数矩阵进行空间转换,从第一几何空间转换至第二几何空间;以及
对转换后的输入数据及参数矩阵进行计算。
7.根据权利要求6所述的计算方法,其中,通过空间转换将输入数据或参数矩用第二几何空间基向量的线性组合表示,也即将其在第二几何空间展开。
8.根据权利要求6或7所述的计算方法,其中,所述输入数据及参数矩阵为卷积层,降采样层,归一化层或正则化层所使用的输入数据及参数矩阵。
9.根据权利要求6至8中任一项所述的计算方法,其中,所述第一几何空间为空域,所述第二几何空间为频域。
10.根据权利要求6至9中任一项所述的计算方法,其中,所述空间变换的方式为可逆空间变换,包括FFT,DFT,DCT,或DST。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710495795.1A CN109117455A (zh) | 2017-06-26 | 2017-06-26 | 计算装置及方法 |
EP19217768.1A EP3657403A1 (en) | 2017-06-13 | 2018-06-12 | Computing device and method |
EP18818258.8A EP3637327B1 (en) | 2017-06-13 | 2018-06-12 | Computing device and method |
PCT/CN2018/090901 WO2018228399A1 (zh) | 2017-06-13 | 2018-06-12 | 运算装置和方法 |
US16/698,991 US11544526B2 (en) | 2017-06-26 | 2019-11-28 | Computing device and method |
US16/698,976 US11544542B2 (en) | 2017-06-13 | 2019-11-28 | Computing device and method |
US16/698,988 US11537858B2 (en) | 2017-06-13 | 2019-11-28 | Computing device and method |
US16/698,984 US11544543B2 (en) | 2017-06-13 | 2019-11-28 | Apparatus and method for sparse training acceleration in neural networks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710495795.1A CN109117455A (zh) | 2017-06-26 | 2017-06-26 | 计算装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109117455A true CN109117455A (zh) | 2019-01-01 |
Family
ID=64822631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710495795.1A Pending CN109117455A (zh) | 2017-06-13 | 2017-06-26 | 计算装置及方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11544526B2 (zh) |
CN (1) | CN109117455A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737473A (zh) * | 2019-09-24 | 2020-01-31 | 北京小米移动软件有限公司 | 数据处理方法及装置、终端、存储介质 |
CN111626794A (zh) * | 2020-06-03 | 2020-09-04 | 清华四川能源互联网研究院 | 一种电费计算方法、装置、系统、电子设备和存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11568021B2 (en) | 2020-02-21 | 2023-01-31 | Alibaba Group Holding Limited | Vector-vector multiplication techniques for processing systems |
CN111832717B (zh) * | 2020-06-24 | 2021-09-28 | 上海西井信息科技有限公司 | 芯片及用于卷积计算的处理装置 |
CN111814957B (zh) * | 2020-06-28 | 2024-04-02 | 深圳云天励飞技术股份有限公司 | 神经网络运算方法及相关设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI315489B (en) | 2005-04-13 | 2009-10-01 | Via Tech Inc | A processor and a system for reducing power through disabling unused arithmetic logic units |
CN101854526A (zh) | 2009-03-30 | 2010-10-06 | 国际商业机器公司 | 码率控制方法和编码控制器 |
US20130046803A1 (en) * | 2011-08-18 | 2013-02-21 | Qualcomm Mems Technologies | Dither-aware image coding |
CN103701414B (zh) * | 2012-09-28 | 2017-03-01 | 富士通株式会社 | 非线性项的选择装置及方法、辨识系统及补偿系统 |
US10528818B1 (en) * | 2013-03-14 | 2020-01-07 | Hrl Laboratories, Llc | Video scene analysis system for situational awareness |
US20160026912A1 (en) | 2014-07-22 | 2016-01-28 | Intel Corporation | Weight-shifting mechanism for convolutional neural networks |
CN104539263B (zh) | 2014-12-25 | 2017-04-12 | 电子科技大学 | 一种可重构低功耗数字fir滤波器 |
US9904874B2 (en) * | 2015-11-05 | 2018-02-27 | Microsoft Technology Licensing, Llc | Hardware-efficient deep convolutional neural networks |
CN107578099B (zh) | 2016-01-20 | 2021-06-11 | 中科寒武纪科技股份有限公司 | 计算装置和方法 |
CN106796668B (zh) | 2016-03-16 | 2019-06-14 | 香港应用科技研究院有限公司 | 用于人工神经网络中比特深度减少的方法和系统 |
CN106779068A (zh) | 2016-12-05 | 2017-05-31 | 北京深鉴智能科技有限公司 | 调整人工神经网络的方法和装置 |
CN109086880B (zh) | 2017-06-13 | 2021-06-29 | 上海寒武纪信息科技有限公司 | 一种运算装置和方法 |
-
2017
- 2017-06-26 CN CN201710495795.1A patent/CN109117455A/zh active Pending
-
2019
- 2019-11-28 US US16/698,991 patent/US11544526B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737473A (zh) * | 2019-09-24 | 2020-01-31 | 北京小米移动软件有限公司 | 数据处理方法及装置、终端、存储介质 |
CN111626794A (zh) * | 2020-06-03 | 2020-09-04 | 清华四川能源互联网研究院 | 一种电费计算方法、装置、系统、电子设备和存储介质 |
CN111626794B (zh) * | 2020-06-03 | 2022-05-31 | 清华四川能源互联网研究院 | 一种电费计算方法、装置、系统、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11544526B2 (en) | 2023-01-03 |
US20200097796A1 (en) | 2020-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117455A (zh) | 计算装置及方法 | |
CN105512723B (zh) | 一种用于稀疏连接的人工神经网络计算装置和方法 | |
US20180157969A1 (en) | Apparatus and Method for Achieving Accelerator of Sparse Convolutional Neural Network | |
CN109754063A (zh) | 用于学习低精度神经网络的方法及装置 | |
CN108932548A (zh) | 一种基于fpga的稀疏度神经网络加速系统 | |
CN107578014A (zh) | 信息处理装置及方法 | |
EP4318313A1 (en) | Data processing method, training method for neural network model, and apparatus | |
CN110782019A (zh) | 基于分解和剪枝的卷积神经网络压缩方法、系统、装置 | |
CN111986132A (zh) | 一种基于DLatLRR与VGG·Net的红外与可见光图像融合方法 | |
CN109472344A (zh) | 类神经网络系统的设计方法 | |
CN110163333A (zh) | 卷积神经网络的并行优化方法 | |
CN115860100A (zh) | 一种神经网络模型训练方法、装置及计算设备 | |
Zhang et al. | Summary of convolutional neural network compression technology | |
Chen et al. | Controllable image processing via adaptive filterbank pyramid | |
Du et al. | Blind image denoising via dynamic dual learning | |
US20220398697A1 (en) | Score-based generative modeling in latent space | |
WO2022019913A1 (en) | Systems and methods for generation of machine-learned multitask models | |
CN111325222A (zh) | 图像归一化处理方法及装置、存储介质 | |
CN110472668B (zh) | 一种图像分类方法 | |
CN109389218A (zh) | 数据压缩方法及压缩装置 | |
CN112789627A (zh) | 一种神经网络处理器、数据处理方法及相关设备 | |
CN110334359B (zh) | 文本翻译方法和装置 | |
CN113052030A (zh) | 一种基于单张rgb图像的双流多尺度手部姿态估计方法 | |
Tang et al. | Training Compact DNNs with ℓ1/2 Regularization | |
CN111652349A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190101 |