CN109214508A - 信号处理的系统和方法 - Google Patents
信号处理的系统和方法 Download PDFInfo
- Publication number
- CN109214508A CN109214508A CN201710525239.4A CN201710525239A CN109214508A CN 109214508 A CN109214508 A CN 109214508A CN 201710525239 A CN201710525239 A CN 201710525239A CN 109214508 A CN109214508 A CN 109214508A
- Authority
- CN
- China
- Prior art keywords
- matrix
- piecemeal
- signal
- weight matrix
- rarefaction
- 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
Links
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
-
- 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
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- 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/044—Recurrent networks, e.g. Hopfield networks
Abstract
本申请实施例公开了一种信号处理方法以及装置,包括:输入模块,用于接收输入信号矩阵和权重矩阵;第一交织模块,用于交织输入信号矩阵,得到交织信号矩阵;第一分块模块,用于分块该交织信号矩阵;第二交织模块,用于交织权重矩阵,得到交织权重矩阵;处理模块,用于处理该交织权重矩阵,得到多个稀疏化分块权重矩阵;矩阵乘模块,用于实现多个稀疏化分块权重矩阵与多个分块信号矩阵对应矩阵乘,得到多个矩阵乘运算结果;输出模块,用于输出信号处理结果。该方法及相关装置解决了关键权重分布不均匀导致的负载不均衡问题,提高了神经网络的运算效率。
Description
技术领域
本申请涉及人工智能领域,尤其涉及信号处理的系统和方法。
背景技术
人工神经网络(artificial neural networks,ANN),也简称为神经网络(neuralnetwork,NN),是一种模仿动物神经网络行为特征进行信息处理的网络结构。该结构由大量的节点(或称神经元)相互联接构成,基于特定运算模型通过对输入信息进行学习和训练达到处理信息的目的。一个神经网络包括输入层、隐藏层及输出层,输入层负责接收输入信号,输出层负责输出神经网络的计算结果,隐藏层负责学习、训练等计算过程,是网络的记忆单元,隐藏层的记忆功能由权重矩阵来表征。
循环神经网络(recurrent neural network,RNN)是一种神经网络。循环神经网络的隐藏层存在一定的循环反馈机制,神经元彼此之间相互连接,且对历史输入信息具有记忆功能。通常每个隐藏层的神经元个数数以千计,其权重矩阵的大小远远超出神经网络硬件处理器的承载值,因此权重矩阵存储在外部存储器中,而从片外读取权重矩阵的操作大大增加了处理器的带宽需求和循环神经网络的处理功耗。
针对权重矩阵过大的问题,通常的解决方案是对权重矩阵进行稀疏化,即将权重矩阵中小于预设阈值的元素置为零。这种稀疏化方案在降低权重矩阵大小的同时导致权重矩阵非零参数分布不均,由于权重矩阵的运算通常是在多个处理器核中并行运算的,权重矩阵的不均匀导致每个处理器核的运算量不均匀,运算资源利用率不高,从而降低了神经网络的运算效率。
针对上述问题,现有的解决方案是对稀疏策略进行调整,通过设置自适应的稀疏化阈值,使得稀疏之后的权重矩阵的非零参数趋于均匀,从而使处理器核的运算负载趋于均匀。但是自适应阈值的选择与处理器核的个数强相关,对于不同的处理器规格稀疏方案也要相应调整,增加了计算复杂度;且关键权重的分布不可能是均匀的,通过改变阈值强行使其均匀会导致神经网络性能下降。
发明内容
本申请的实施例提供一种信号处理的系统和方法,用于提高神经网络的运算效率。
有鉴于此,本申请第一方面提供了一种信号处理方法,该方法包括:
接收输入信号矩阵,该信号矩阵包括多个计算机可处理的待处理信号;接收权重矩阵,该权重矩阵包括多个权重系数;对该输入信号矩阵进行交织,得到交织信号矩阵;对该交织信号矩阵进行分块,得到多个分块信号矩阵;对该权重矩阵进行交织,得到交织权重矩阵;对该交织权重矩阵进行处理,得到多个稀疏化分块权重矩阵;将该多个稀疏化分块权重矩阵与该多个分块信号矩阵进行矩阵乘运算得到多个矩阵乘运算结果,其中,每个稀疏化分块权重矩阵与对应于该稀疏化分块权重矩阵的分块信号矩阵进行矩阵乘运算得到一个矩阵乘运算结果,每个矩阵乘运算结果包括多个计算机可处理的输出信号;输出信号处理结果,其中该信号处理结果包括上述的多个矩阵乘运算结果。
在一种可能的设计中,对交织权重矩阵的处理包括:先对交织权重矩阵进行分块,得到多个分块权重矩阵;再对该多个分块权重矩阵进行稀疏化,得到多个稀疏化分块权重矩阵。
在一种可能的设计中,对交织权重矩阵的处理包括:先对交织权重矩阵进行稀疏化,得到稀疏化权重矩阵;再对该稀疏化权重矩阵进行分块,得到多个稀疏化分块权重矩阵。
在一种可能的设计中,交织该输入信号矩阵和交织该权重矩阵遵循相同的交织规则。
在一种可能的设计中,该待处理信号包括语音信号、文本信号或图像信号中的至少一项。在一种可能的设计中,该输入信号矩阵来自神经网络的输入层或中间层。
在一种可能的设计中,该信号处理结果去往神经网络的输出层或中间层。
在一种可能的设计中,该多个分块信号矩阵和该多个稀疏化分块权重矩阵满足矩阵乘规则。
在一种可能的设计中,该多个分块信号矩阵的个数与该多个稀疏化分块权重矩阵的个数相同。
在一种可能的设计中,该方法还包括:对该多个矩阵乘运算结果进行组合,得到该信号处理结果。
在一种可能的设计中,该输出信号处理结果包括:将该多个矩阵乘运算结果作为整体输出,以形成该信号处理结果。
本申请第二方面提供了一种信号处理装置,包括:
第一输入模块,用于接收输入信号矩阵,该输入信号矩阵包括多个计算机可处理的待处理信号;第二输入模块,用于接收权重矩阵,该权重矩阵包括多个权重系数;第一交织模块,用于交织输入信号矩阵,得到交织信号矩阵;第一分块模块,用于分块该交织信号矩阵,得到多个分块信号矩阵;第二交织模块,用于交织权重矩阵,得到交织权重矩阵;处理模块,用于处理该交织权重矩阵,得到多个稀疏化分块权重矩阵;矩阵乘模块,用于将多个稀疏化分块权重矩阵与多个分块信号矩阵进行矩阵乘运算得到多个矩阵乘运算结果,其中,每个稀疏化分块权重矩阵与对应于该稀疏化分块权重矩阵的分块信号矩阵进行矩阵乘运算得到一个矩阵乘运算结果,每个矩阵乘运算结果包括多个计算机可处理的输出信号;输出模块,用于输出信号处理结果,其中该信号处理结果包括上述的多个矩阵乘运算结果。
在一种可能的设计中,对交织权重矩阵进行处理的处理模块包括:第二分块模块和稀疏化模块,第二分块模块在稀疏化模块之前,先在第二分块模块中对交织权重矩阵进行分块,得到多个分块权重矩阵;然后在稀疏化模块中对该多个分块权重矩阵进行稀疏化,得到多个稀疏化分块权重矩阵。
在一种可能的设计中,对交织权重矩阵进行处理的处理模块还可以包括:第二分块模块和稀疏化模块,稀疏化模块在第二分块模块之前,先在稀疏化模块中对交织权重矩阵进行稀疏化,得到稀疏化权重矩阵;然后在第二分块模块中对该稀疏化权重矩阵进行分块,得到多个稀疏化分块权重矩阵。
在一种可能的设计中,该第一交织模块与该第二交织模块遵循相同的交织规则。
在一种可能的设计中,该待处理信号包括语音信号、文本信号或图像信号中的至少一项。
在一种可能的设计中,该输入信号矩阵来自神经网络的输入层或中间层。
在一种可能的设计中,该信号处理结果去往神经网络的输出层或中间层。
在一种可能的设计中,该第一分块模块与该第二分块模块遵循相同的分块规则。
在一种可能的设计中,该多个分块信号矩阵和该多个稀疏化分块权重矩阵满足矩阵乘规则。
本申请第三方面提供了一种信号处理装置,包括:输入接口,用于接收输入信号矩阵,该输入信号矩阵包括多个计算机可处理的待处理信号,以及用于接收权重矩阵,该权重矩阵包括多个权重系数;处理器,被配置为可处理如下操作:交织输入信号矩阵,得到交织信号矩阵;分块该交织信号矩阵,得到多个分块信号矩阵;交织该权重矩阵,得到交织权重矩阵;处理该交织权重矩阵,得到多个稀疏化分块权重矩阵;将该多个稀疏化分块权重矩阵与该多个分块信号矩阵进行矩阵乘运算得到多个矩阵乘运算结果,其中,每个稀疏化分块权重矩阵与对应于该稀疏化分块权重矩阵的分块信号矩阵进行矩阵乘运算得到一个矩阵乘运算结果,每个矩阵乘运算结果包括多个计算机可处理的输出信号;输出接口,用于输出信号处理结果,其中该信号处理结果包括上述的多个矩阵乘运算结果。
在一种可能的设计中,处理该交织权重矩阵,得到多个稀疏化分块权重矩阵包括:先对交织权重矩阵进行分块,得到多个分块权重矩阵;再对该多个分块权重矩阵进行稀疏化,得到该多个稀疏化分块权重矩阵。
在一种可能的设计中,处理该交织权重矩阵,得到多个稀疏化分块权重矩阵包括:先对交织权重矩阵进行稀疏化,得到稀疏化权重矩阵;再对该稀疏化权重矩阵进行分块,得到该多个稀疏化分块权重矩阵。
在一种可能的设计中,交织该输入信号矩阵和交织该权重矩阵遵循相同的交织规则。
在一种可能的设计中,该待处理信号包括语音信号、文本信号或图像信号中的至少一项。
在一种可能的设计中,该输入信号矩阵来自该输入接口或上级处理器。
在一种可能的设计中,该信号处理结果去往该输出接口或下级处理器。
在一种可能的设计中,该输入接口可用于以分时复用的方式接收所述输入信号矩阵和接收所述权重矩阵。
在一种可能的设计中,该信号处理装置还可以包括存储器,该存储器用于存储计算机指令,该计算机指令用于驱动该处理器执行上述操作。
在一种可能的设计中,该存储装置包括计算机可读存储介质、软盘设备、硬盘设备、光盘设备或磁盘设备中的至少一项。
本申请的第四方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述第一方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:由于先对权重矩阵进行交织,然后再进行分块和稀疏化,使得每个稀疏化分块权重矩阵中关键权重参数趋于均匀,既不会增加计算复杂度导致神经网络性能下降,同时又解决了权重矩阵不均匀导致神经网络运算效率降低的问题。
附图说明
图1为本申请实施例中一种神经网络的原理示意图;
图2为本申请实施例中一种神经网络的具体实施场景;
图3为本申请实施例中另一种神经网络的具体实施场景;
图4为本申请实施例中一种信号处理方法的流程示意图;
图5为本申请实施例中的一种交织过程示意图;
图6为本申请实施例中的另一种交织过程示意图;
图7为本申请实施例中的一种分块过程示意图;
图8为本申请实施例中的另一种分块过程示意图;
图9为本申请实施例中一种信号处理方法的流程示意图;
图10为本申请实施例中一种信号处理装置的示意图;
图11为图10中信号处理装置的稀疏化分块模块的示意图;
图12为本申请实施例中一种信号处理装置的结构示意图;
具体实施方式
本申请实施例提供了一种信号处理的系统和方法,用于提高神经网络的运算效率。
为了使本技术领域的人员更好地理解本申请实施例方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。
本申请的说明书实施例和权利要求书及上述附图中的术语“第一”、“第二”、和“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,是一种神经网络的原理示意图,该神经网络100具有N个处理层,N≥3且N取自然数,该神经网络的第一层为输入层101,负责接收输入信号,该神经网络的最后一层为输出层103,输出神经网络的处理结果,除去第一层和最后一层的其他层为中间层104,这些中间层共同组成隐藏层102,隐藏层中的每一层中间层既可以接收输入信号,也可以输出信号,隐藏层负责输入信号的处理过程。每一层代表了信号处理的一个逻辑级别,通过多个层,数据信号可经过多级逻辑的处理。
为便于理解,下面对本申请实施例中神经网络的处理原理进行描述,神经网络的处理通常是非线性函数f(xi),如f(xi)=max(0,xi),在一些可行的实施例中,该处理函数可以是激活函数如:Rectified Linear Units函数、双曲正切函数(tanh)或S型函数(sigmoid)等。假设(x1,x2,x3)是一个一维输入信号矩阵,(h1,h2,h3)是输出信号矩阵,Wij表示输入xj与输出hi之间的权重系数,权重系数构成的矩阵为权重矩阵,则该一维输入信号矩阵与输出信号矩阵对应的权重矩阵W如式(1)所示:
输入信号与输出信号的关系如式(2)所示,其中bi为神经网络处理函数的偏置值,该偏置值对神经网络的输入进行调整从而得到理想的输出结果。
在一些可行的实施例中该神经网络的输入信号可以是语音信号、文本信号、图像信号、温度信号等各种形式的信号,该语音信号可以是录音设备录制的语音信号、移动手机或固定电话在通话过程中接收的语音信号、以及收音机接收的电台发送的语音信号等,文本信号可以是TXT文本信号、Word文本信号、以及PDF文本信号等,图像信号可以是相机拍摄的风景信号、显监控设备捕捉的社区环境的图像信号以及门禁系统获取的人脸的面部信号等,该神经网络的输入信号包括其他各种计算机可处理的工程信号,在此不再一一列举。该神经网络的隐藏层102进行的处理可以是去除语音信号中混杂的噪音信号从而增强语音信号、对文本信号中的特定内容进行理解、以及对人脸的面部图像信号进行识别等处理。
本申请实施例提供一种该神经网络100具体的实施场景,如图2所示,移动智能手机客户201向移动智能手机客户205发起语音呼叫,语音信号经智能手机202发出,经基站203转送给智能手机204,由于发起语音呼叫时暴雨骤起且伴有强烈的电闪雷鸣,导致输入信号206被严重削弱且含有较大的噪声,该输入信号可以为一维数字语音信号,智能手机204中配备有神经网络100,该神经网络可以是以专用电路的形式在芯片中实现,也可以是运行在中央处理单元(Central Processing Unit,CPU)或其他处理器中的程序指令。输入信号206在智能手机204中的神经网络中经过处理,该处理包括噪声去除以及有效信号增强等,得到输出信号207,该输出信号完整的保留了主叫用户传送的语音信息,避免了恶劣自然环境对信号的干扰。
本申请实施例提供该神经网络100的另一种具体的实施场景,如图3所示,一轿车303在高速行驶,一路人301使用数码相机302拍下了该轿车303的车牌号,但是由于轿车303具有较高的车速v,数码相机的输入信号304发生了运动模糊现象,该输入信号为二维数字图像信号,该数码相机302中配备有神经网络100,该神经网络可以是以专用电路的形式在芯片中实现,也可以是运行在图像信号处理器中的软件模块。输入信号304在数码相机302中的神经网络中经过处理后,该处理包括轿车运动模型估计、运动模糊去除等,得到输出信号305,输出信号中包含的车牌号信息清晰度得以提高,可得到准确辨识。
为了便于理解,下面对本申请实施例中一种具体的信号处理方法进行描述,如图4所示,400为该信号处理方法的一种流程示意图,该信号处理方法可以在如图1所示神经网络的隐藏层中的任一个中间层104中进行处理。
401、接收输入信号矩阵。
在本申请实施例中,该输入信号矩阵来自神经网络的输入层或者信号处理所在中间层的上一层中间层,该输入信号可以是语音信号、文本信号、图像信号以及温度信号等各种可以被采集并且被处理的信号,该矩阵可以是一维列向量、一维行向量、二维矩阵如灰度图像以及三维矩阵如RGB彩色图像等。
402、交织输入信号矩阵。
在本申请实施例中,交织是指将矩阵中的元素按一定规则进行重组,改变矩阵元素的存储次序,使得重组后的矩阵中非零元素的排列趋于均匀。图5给出了三种交织过程示意图,图5A中将原始矩阵的第一行和第三行交换、第二行和第五行交换、第四行保持不变,图5B中将原始矩阵的第一列与第四列交换、第二列换到第三列、第三列换到第五列、第五列换到第二列,图5C中将矩阵块儿(W11,W12,W21,W22)与矩阵块儿(W43,W44,W53,W54)互换,将列块儿(W41,W51)与行块儿(W24,W25)进行互换。该重组规则存在很多种可能性,上述交织实例只是对该重组规则进行的示意性举例,而不是对交织规则的限制。
本申请实施例提供一种交织前后处理器内部的多个处理器核运算负载比例对比示意图,如图6所示,交织前,权重矩阵中的非零权重系数集中在第二行至第四行,因此处理器核2至处理器核4的运算负载较大,而处理器核1和处理器核5运算负载较小,运算负载的不均衡导致运算资源利用率不高,从而降低了神经网络的运算率。交织后,权重矩阵中的非零权重系数的分布趋于均匀,每个处理器核的运算负载相等,运算资源得到充分利用,提高了神经网络的运算率。
403、分块交织信号矩阵。
在本申请实施例中,该步骤得到多个分块信号矩阵,分块是指将矩阵分成多个子块,分块所得子块的大小可以相同、也可以不同,子块的形状也不仅限于矩形。原始的输入信号矩阵通常都具有较大的维度,直接对大矩阵进行运算的运算量大、对处理器的带宽需求极大,将大矩阵分成多个子块并将多个子块分配到处理器中的多个运算单元,例如核,并行处理可以在降低处理器运算负担的同时提高运算效率。
如图7所示,为本申请实施例提供的两种分块过程示意图,图7A为满足矩阵乘规则的两个矩阵,该矩阵乘规则是指参加矩阵乘的第一个矩阵的列数必须等于参加矩阵乘的第二个矩阵的行数。图7B将参加矩阵乘的第一个矩阵分成两个1×5的行向量,对应的,将参加矩阵乘的第二个矩阵分成两个维度为5×2的子矩阵,得到两组矩阵子块,对应的矩阵子块分别满足矩阵乘规则。图7C将参加矩阵乘的第一个矩阵分成两个大小不等的子块,第一个子块包括第一个矩阵原始矩阵的第一列和第二列、第二个子块包括第一个矩阵原始矩阵的第三列至第五列,对应的,将参加矩阵乘的第二个矩阵也分成两个大小不等的子块,第一个子块包括第二个矩阵原始矩阵的第一行和第二行、第二个子块包括第二个矩阵原始矩阵的第三行至第五行,两组对应的矩阵子块分别满足矩阵乘规则。
如图8所示,为本申请实施例提供的另一种分块过程示意图,该分块所得子块不是矩形,将所得子块中的元素组合成新维度的矩阵,使得参加矩阵乘运算的子块矩阵满足矩阵乘规则。
404、接收权重矩阵,本申请实施例中,权重矩阵由一个个权重系数构成,该权重矩阵是由神经网络定义的。
405、交织权重矩阵,权重矩阵与输入信号矩阵存在对应关系,因为对输入信号进行了交织操作,为了确保交织不改变输出结果的特征分布,需要对权重矩阵也进行交织,该交织参考上述交织输入信号矩阵中对交织的定义,以及附图5和附图6提供的交织的具体实施例,在此不再赘述。
406、分块交织权重矩阵,得到多个分块权重矩阵。神经网络对应的权重矩阵通常都具有较大的维度,直接对原始权重矩阵进行运算的运算量大、对处理器的带宽需求极大,将大矩阵分成多个子块并将多个子块分配到多个运算单元并行处理可以在降低处理器运算负担的同时提高运算效率。另外,原始输入信号矩阵与原始权重矩阵满足矩阵乘规则,在对信号矩阵进行分块之后,为了继续满足矩阵乘原则,对权重矩阵也需要进行分块。该分块应该使得分块之后的交织权重矩阵满足两个条件:一、分块权重矩阵的个数与分块信号矩阵的个数相等,二、分块权重矩阵与分块信号矩阵满足矩阵乘规则。
407、稀疏化分块权重矩阵,即对多个分块权重矩阵进行稀疏化,得到多个稀疏化分块权重矩阵。在上面的描述中已经提过,神经网络的权重矩阵具有极大的维度,但是在这些数以千计的权重系数中重要的权重系数所占的比例通常较小,大部分权重系数都接近于零,在神经网络后续的处理过程中发挥的作用也较小,因此可以设置一个阈值,将低于该阈值的权重系数置为零,高于该阈值的权重系数保持不变,我们将这种处理称作稀疏化,稀疏化后的权重矩阵仅保留了重要的权重信息,大大减小了后续的计算量。稀疏化方案有很多,如局部稀疏化和全局稀疏化,稀疏化方案中选取的阈值可以是固定的,也可以是自适应变化的,在同一个稀疏化处理中可以只有一个阈值,也可以有多个阈值。
408、对应分块矩阵乘,将步骤407得到的多个稀疏化分块权重矩阵与步骤403得到的多个分块信号矩阵进行矩阵乘运算得到多个矩阵乘运算结果,进一步地,在上面的描述中已经提到过,分块权重矩阵的个数与分块信号矩阵的个数相等,即每个分块权重矩阵都有一个与其对应的分块信号矩阵,且两者之间满足矩阵乘规则,每个稀疏化分块权重矩阵与对应于该稀疏化分块权重矩阵的分块信号矩阵进行矩阵乘运算得到一个矩阵乘运算结果,每个矩阵乘运算结果包括多个计算机可处理的输出信号。分块权重矩阵与分块信号矩阵的对应关系除附图7和附图8中列举的情况外还可以有很多种,只要两者满足矩阵乘规则即可。
409、输出信号处理结果,该信号处理结果包含上述多个分块矩阵乘结果,该分块矩阵乘结果可以是一维列向量、一维行向量、二维矩阵如灰度图像以及三维矩阵如RGB彩色图像等,该输出信号可以是与输入信号对应的语音信号、文本信号、图像信号以及温度信号等各种可以被处理或者可以被播放、显示的信号。该信号处理结果去往信号处理所在中间层的下一层中间层或者神经网络的输出层。
需要说明的是,在图4对应的实施例中对输入信号矩阵的处理如401-403中任一个或多个步骤与对权重矩阵的处理如404-407中任一个或多个步骤之间没有严格的时间先后顺序,例如,401-403这几个步骤与404-407这几个步骤可并行执行,或者在执行顺序上没有严格的先后关系。
上面对本申请实施例中一种信号处理方法进行描述,下面对本申请实施例中的另一种信号处理方法进行描述。
如图9所示,900为该信号处理方法的一种流程示意图,该信号处理方法可以在如图1所示神经网络的隐藏层中的任一个中间层104中进行处理。
901、接收输入信号矩阵,该步骤与上一个信号处理方法实施例中401步骤相同,具体请参照401部分的描述。
902、交织输入信号矩阵,该步骤具体请参照402部分的描述。
903、分块交织信号矩阵,该步骤具体请参照403部分的描述。
904、接收权重矩阵,该步骤具体请参照404部分的描述。
905、交织权重矩阵,该步骤具体请参照405部分的描述。
906、稀疏化交织权重矩阵,得到稀疏化交织权重矩阵,该步骤与上一个信号处理方法实施例的不同在于该信号处理方法实施例先对交织权重矩阵进行稀疏化,该稀疏化具体情况请参照上述信号处理方法实施例中的407部分的描述。
907、分块稀疏化权重矩阵,得到多个稀疏化分块权重矩阵,该步骤与上一个信号处理方法实施例的不同在于该信号处理方法实施例在对交织权重矩阵进行稀疏化之后再进行分块操作,该分块规则具体情况请参照上述信号处理方法实施例中的406部分的描述。
908、对应分块矩阵乘,该步骤具体请参照408部分的描述。
909、输出信号处理结果,该步骤具体请参照409部分的描述。
关于图9对应的实施例的部分具体流程可参照图4对应的实施例的类似描述。
在对本申请实施例的信号处理方法进行描述之后,下面对本申请实施例的一种信号处理装置进行描述。
如附图10所示,本申请实施例提供了一种信号处理装置,该信号处理装置1000包括:
输入模块1001:用于接收输入信号矩阵。
交织模块1002:用于交织输入信号矩阵,得到交织信号矩阵。
分块模块1003:用于分块交织信号矩阵,得到多个分块信号矩阵。
输入模块1004:用于接收权重矩阵,权重矩阵由一个个权重系数构成,该权重矩阵的具体情况请参照404部分的描述。
交织模块1005:用于交织权重矩阵,得到交织权重矩阵。
稀疏化分块模块1006:用于对交织权重矩阵进行稀疏化分块处理,得到多个稀疏化分块权重矩阵。
在一些可行的实施例中,稀疏化分块模块1006有两种不同的构成形态,如附图11所示,图11A中为稀疏化分块模块1006的一种构成形态,该稀疏化分块模块包括:分块模块10061和稀疏化模块10062,分块模块10061在稀疏化模块10062之前,在接收交织权重矩阵之后,先对交织权重矩阵进行分块,得到多个分块权重矩阵,再对多个分块权重矩阵进行稀疏化,得到多个稀疏化分块权重矩阵;图11B为稀疏化分块模块1006的另一种构成形态,该稀疏化分块模块包括:稀疏化模块10061和分块模块10062,稀疏化模块10061在分块模块10062之前,在接收交织权重矩阵之后,先对交织权重矩阵进行稀疏化,得到稀疏化权重矩阵,再对稀疏化权重矩阵进行分块,得到多个稀疏化分块权重矩阵。
矩阵乘模块1007:用于将多个稀疏化分块权重矩阵与多个分块信号矩阵进行矩阵乘运算得到多个矩阵乘运算结果,其中,每个稀疏化分块权重矩阵与对应于该稀疏化分块权重矩阵的分块信号矩阵进行矩阵乘运算得到一个矩阵乘运算结果,每个矩阵乘运算结果包括多个计算机可处理的输出信号
输出模块1008:用于输出信号处理结果,该信号处理结果包含多个分块矩阵乘运算结果。
上述信号处理装置的各组成模块可以采用硬件、软件功能单元,或者两者的结合来实现。当采用硬件实现的时候,该装置中的至少一个模块可以是一个逻辑集成电路所形成的逻辑模块。
上面从模块化功能实体的角度对本申请实施例中的一种信号处理装置进行描述,下面从处理器硬件处理的角度对本申请实施例中的一种信号处理装置进行描述。
本申请实施例提供一种信号处理装置,如图12所示,该信号处理装置1200包括:
输入接口1201:该输入接口用于接收输入信号矩阵和/或权重矩阵,该输入接口可以通过选择器实现接收输入信号矩阵和接收权重矩阵的切换;在一些可行的实施例中,该输入接口可用以分时复用的方式接收上述的输入信号矩阵或权重矩阵;在一些可行的实施例中,该输入接口可以有两个,分别实现输入信号矩阵和权重矩阵的接收,例如可实现同时接收输入信号矩阵和权重矩阵。
处理器1202:被配置为可处理上述信号处理方法的402-408部分的功能。在一些可行的实施例中,该处理器可以是单处理器结构、多处理器结构、单线程处理器以及多线程处理器等,在一些可行的实施例中,该处理器可以集成在专用集成电路中,也可以是独立于集成电路之外的处理器芯片。
输出接口1203:该输出接口用于输出上述信号处理方法中的信号处理结果,在一些可行的实施例中,该信号处理结果可以由处理器直接输出,也可以先被存储于存储器然后经所述存储器输出;在一些可行的实施例中,可以只有一个输出接口,也可以有多个输出接口。在一些可行的实施例中,该输出接口输出的信号处理结果可以送到存储器中存储,也可以送到下一个信号处理装置继续进行处理,或者送到显示设备进行显示、送到播放器终端进行播放等。
该信号处理装置1200还可以包括:
存储器1204:该存储器中可存储上述的输入信号矩阵、信号处理结果、权重矩阵、以及配置处理器的相关指令等。在一些可行的实施例中,可以有一个存储器,也可以有多个存储器;该存储器可以是软盘,硬盘如内置硬盘和移动硬盘,磁盘,光盘,磁光盘如CD_ROM、DCD_ROM,非易失性存储设备如RAM、ROM、PROM、EPROM、EEPROM、闪存、或者技术领域内所公知的任意其他形式的存储介质。
本申请实施例提供的上述信号处理装置的各组成部分分别用于实现相对应的前述信号处理方法的各步骤的功能,由于在前述的信号处理方法实施例中,已经对各步骤进行了详细说明,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述信号处理方法401-409中的一个或多个步骤。上述信号处理装置的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中。基于这样的理解,本申请实施例还提供一种包含指令的计算机程序产品,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或其中的处理器执行本申请各个实施例所述方法的全部或部分步骤。该存储介质的种类请参考存储器1204部分中描述的存储器的种类。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。例如,装置实施例中的一些具体操作可以参考之前的方法实施例。
Claims (15)
1.一种信号处理方法,其特征在于,包括:
接收输入信号矩阵,所述输入信号矩阵包括多个计算机可处理的待处理信号;
接收权重矩阵,所述权重矩阵包括多个权重系数;
交织所述输入信号矩阵,得到交织信号矩阵;
分块所述交织信号矩阵,得到多个分块信号矩阵;
交织所述权重矩阵,得到交织权重矩阵;
处理所述交织权重矩阵,得到多个稀疏化分块权重矩阵;
将所述多个稀疏化分块权重矩阵与所述多个分块信号矩阵进行矩阵乘运算得到多个矩阵乘运算结果,其中,每个稀疏化分块权重矩阵与对应于该稀疏化分块权重矩阵的分块信号矩阵进行矩阵乘运算得到一个矩阵乘运算结果,每个矩阵乘运算结果包括多个计算机可处理的输出信号;
输出信号处理结果,其中所述信号处理结果包括所述多个矩阵乘运算结果。
2.根据权利要求1所述方法,其特征在于,所述处理所述交织权重矩阵,得到多个稀疏化分块权重矩阵包括:
分块所述交织权重矩阵,得到多个分块权重矩阵;
稀疏化所述多个分块权重矩阵,得到所述多个稀疏化分块权重矩阵。
3.根据权利要求1所述方法,其特征在于,所述处理所述交织权重矩阵,得到多个稀疏化分块权重矩阵包括:
稀疏化所述交织权重矩阵,得到稀疏化权重矩阵;
分块所述稀疏化权重矩阵,得到所述多个稀疏化分块权重矩阵。
4.根据权利要求1至3中任一项所述方法,其特征在于,交织所述输入信号矩阵和交织所述权重矩阵遵循相同的交织规则。
5.根据权利要求1至4中任一项所述方法,其特征在于,所述待处理信号包括语音信号、文本信号或图像信号中的至少一项。
6.根据权利要求1至5中任一项所述方法,其特征在于,所述输入信号矩阵来自神经网络的输入层或中间层。
7.根据权利要求1至6中任一项所述方法,其特征在于,所述信号处理结果去往神经网络的输出层或中间层。
8.一种信号处理装置,其特征在于,包括:
第一输入模块,用于接收输入信号矩阵,所述输入信号矩阵包括多个计算机可处理的待处理信号;
第二输入模块,用于接收权重矩阵,所述权重矩阵包括多个权重系数;
第一交织模块,用于交织所述输入信号矩阵,得到交织信号矩阵;
第一分块模块,用于分块所述交织信号矩阵,得到多个分块信号矩阵;
第二交织模块,用于交织所述权重矩阵,得到交织权重矩阵;
处理模块,用于处理所述交织权重矩阵,得到多个稀疏化分块权重矩阵;
矩阵乘模块,用于将所述多个稀疏化分块权重矩阵与所述多个分块信号矩阵进行矩阵乘运算得到多个矩阵乘运算结果,其中,每个稀疏化分块权重矩阵与对应于该稀疏化分块权重矩阵的分块信号矩阵进行矩阵乘运算得到一个矩阵乘运算结果,每个矩阵乘运算结果包括多个计算机可处理的输出信号;
输出模块,用于输出信号处理结果,其中所述信号处理结果包括所述多个矩阵乘运算结果。
9.根据权利要求8所述装置,其特征在于,所述处理模块包括:
第二分块模块,用于分块所述交织权重矩阵,得到多个分块权重矩阵;
稀疏化模块,用于稀疏化所述多个分块权重矩阵,得到所述多个稀疏化分块权重矩阵。
10.根据权利要求8所述装置,其特征在于,所述处理模块包括:
稀疏化模块,用于稀疏化所述交织权重矩阵,得到稀疏化权重矩阵;
第二分块模块,用于分块所述稀疏化权重矩阵,得到所述多个稀疏化分块权重矩阵。
11.根据权利要求8至10中任一项所述装置,其特征在于,所述第一交织模块和所述第二交织模块遵循相同的交织规则。
12.根据权利要求8至11中任一项所述装置,其特征在于,所述待处理信号包括语音信号、文本信号或图像信号中的至少一项。
13.根据权利要求8至12中任一项所述装置,其特征在于,所述输入信号矩阵来自神经网络的输入层或中间层。
14.根据权利要求8至13中任一项所述装置,其特征在于,所述信号处理结果去往神经网络的输出层或中间层。
15.一种信号处理装置,其特征在于,包括:
输入接口,用于接收输入信号矩阵,所述输入信号矩阵包括多个计算机可处理的待处理信号,以及接收权重矩阵,所述权重矩阵包括多个权重系数;
处理器,被配置为可处理如下操作:
交织所述输入信号矩阵,得到交织信号矩阵;
分块所述交织信号矩阵,得到多个分块信号矩阵;
交织所述权重矩阵,得到交织权重矩阵;
处理所述交织权重矩阵,得到多个稀疏化分块权重矩阵;
将所述多个稀疏化分块权重矩阵与所述多个分块信号矩阵进行矩阵乘运算得到多个矩阵乘运算结果,其中,每个稀疏化分块权重矩阵与对应于该稀疏化分块权重矩阵的分块信号矩阵进行矩阵乘运算得到一个矩阵乘运算结果,每个矩阵乘运算结果包括多个计算机可处理的输出信号;
输出接口,用于输出信号处理结果,其中所述信号处理结果包括所述多个矩阵乘运算结果。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210146658.8A CN114819119A (zh) | 2017-06-30 | 2017-06-30 | 信号处理的系统和方法 |
CN201710525239.4A CN109214508B (zh) | 2017-06-30 | 2017-06-30 | 信号处理的系统和方法 |
PCT/CN2018/092052 WO2019001323A1 (zh) | 2017-06-30 | 2018-06-20 | 信号处理的系统和方法 |
EP18823957.8A EP3617958A4 (en) | 2017-06-30 | 2018-06-20 | SYSTEM AND METHOD FOR SIGNAL PROCESSING |
US16/705,464 US11568225B2 (en) | 2017-06-30 | 2019-12-06 | Signal processing system and method |
US18/160,494 US20230169320A1 (en) | 2017-06-30 | 2023-01-27 | Signal Processing System and Method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710525239.4A CN109214508B (zh) | 2017-06-30 | 2017-06-30 | 信号处理的系统和方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210146658.8A Division CN114819119A (zh) | 2017-06-30 | 2017-06-30 | 信号处理的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109214508A true CN109214508A (zh) | 2019-01-15 |
CN109214508B CN109214508B (zh) | 2022-04-05 |
Family
ID=64741055
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210146658.8A Pending CN114819119A (zh) | 2017-06-30 | 2017-06-30 | 信号处理的系统和方法 |
CN201710525239.4A Active CN109214508B (zh) | 2017-06-30 | 2017-06-30 | 信号处理的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210146658.8A Pending CN114819119A (zh) | 2017-06-30 | 2017-06-30 | 信号处理的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11568225B2 (zh) |
EP (1) | EP3617958A4 (zh) |
CN (2) | CN114819119A (zh) |
WO (1) | WO2019001323A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021013117A1 (en) * | 2019-07-24 | 2021-01-28 | Alibaba Group Holding Limited | Systems and methods for providing block-wise sparsity in a neural network |
CN112529145A (zh) * | 2019-09-18 | 2021-03-19 | 北京声智科技有限公司 | 一种数据处理方法、电子设备及计算机可读存储介质 |
TWI819184B (zh) * | 2019-01-17 | 2023-10-21 | 南韓商三星電子股份有限公司 | 儲存權重矩陣的方法、推斷系統和電腦可讀儲存媒體 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11328037B2 (en) * | 2017-07-07 | 2022-05-10 | Intel Corporation | Memory-size- and bandwidth-efficient method for feeding systolic array matrix multipliers |
CN109993275B (zh) * | 2017-12-29 | 2021-01-29 | 华为技术有限公司 | 一种信号处理方法及装置 |
KR20210084123A (ko) * | 2019-12-27 | 2021-07-07 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490848A (zh) * | 2012-06-13 | 2014-01-01 | 华为技术有限公司 | 一种稀疏度估计的方法及装置 |
CN104573738A (zh) * | 2013-10-28 | 2015-04-29 | 北京大学 | 信号处理方法及其装置 |
CN104899182A (zh) * | 2015-06-09 | 2015-09-09 | 中国人民解放军国防科学技术大学 | 一种支持可变分块的矩阵乘加速方法 |
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
CN106126481A (zh) * | 2016-06-29 | 2016-11-16 | 华为技术有限公司 | 一种计算引擎和电子设备 |
CN106663224A (zh) * | 2014-06-30 | 2017-05-10 | 亚马逊科技公司 | 用于机器学习模型评估的交互式界面 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1162976C (zh) * | 2001-04-09 | 2004-08-18 | 王琳 | 一种混沌交织方法 |
CN101355541B (zh) * | 2008-07-18 | 2012-02-22 | 中国人民解放军理工大学 | 快变信道条件下正交频分复用系统中分块均衡方法 |
CN103997592B (zh) * | 2014-05-29 | 2017-08-29 | 广东威创视讯科技股份有限公司 | 视频降噪方法和系统 |
US9971965B2 (en) * | 2015-03-18 | 2018-05-15 | International Business Machines Corporation | Implementing a neural network algorithm on a neurosynaptic substrate based on metadata associated with the neural network algorithm |
CN105260776B (zh) * | 2015-09-10 | 2018-03-27 | 华为技术有限公司 | 神经网络处理器和卷积神经网络处理器 |
US20220335272A1 (en) * | 2019-09-25 | 2022-10-20 | Deepmind Technologies Limited | Fast sparse neural networks |
-
2017
- 2017-06-30 CN CN202210146658.8A patent/CN114819119A/zh active Pending
- 2017-06-30 CN CN201710525239.4A patent/CN109214508B/zh active Active
-
2018
- 2018-06-20 WO PCT/CN2018/092052 patent/WO2019001323A1/zh unknown
- 2018-06-20 EP EP18823957.8A patent/EP3617958A4/en active Pending
-
2019
- 2019-12-06 US US16/705,464 patent/US11568225B2/en active Active
-
2023
- 2023-01-27 US US18/160,494 patent/US20230169320A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490848A (zh) * | 2012-06-13 | 2014-01-01 | 华为技术有限公司 | 一种稀疏度估计的方法及装置 |
CN104573738A (zh) * | 2013-10-28 | 2015-04-29 | 北京大学 | 信号处理方法及其装置 |
CN106663224A (zh) * | 2014-06-30 | 2017-05-10 | 亚马逊科技公司 | 用于机器学习模型评估的交互式界面 |
CN104899182A (zh) * | 2015-06-09 | 2015-09-09 | 中国人民解放军国防科学技术大学 | 一种支持可变分块的矩阵乘加速方法 |
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
CN106126481A (zh) * | 2016-06-29 | 2016-11-16 | 华为技术有限公司 | 一种计算引擎和电子设备 |
Non-Patent Citations (2)
Title |
---|
L. LE MAGOAROU 等: "Flexible Multilayer Sparse Approximations of Matrices and Applications", 《IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING》 * |
YONG-DEOK KIM 等: "Compression of Deep Convolutional Neural Networks for Fast and Low Power Mobile Applications", 《ARXIV》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI819184B (zh) * | 2019-01-17 | 2023-10-21 | 南韓商三星電子股份有限公司 | 儲存權重矩陣的方法、推斷系統和電腦可讀儲存媒體 |
US11816563B2 (en) | 2019-01-17 | 2023-11-14 | Samsung Electronics Co., Ltd. | Method of enabling sparse neural networks on memresistive accelerators |
WO2021013117A1 (en) * | 2019-07-24 | 2021-01-28 | Alibaba Group Holding Limited | Systems and methods for providing block-wise sparsity in a neural network |
US11755903B2 (en) | 2019-07-24 | 2023-09-12 | Alibaba Group Holding Limited | Systems and methods for providing block-wise sparsity in a neural network |
CN112529145A (zh) * | 2019-09-18 | 2021-03-19 | 北京声智科技有限公司 | 一种数据处理方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3617958A4 (en) | 2020-08-26 |
WO2019001323A1 (zh) | 2019-01-03 |
US20200110989A1 (en) | 2020-04-09 |
US11568225B2 (en) | 2023-01-31 |
US20230169320A1 (en) | 2023-06-01 |
CN114819119A (zh) | 2022-07-29 |
CN109214508B (zh) | 2022-04-05 |
EP3617958A1 (en) | 2020-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214508A (zh) | 信号处理的系统和方法 | |
CN106951926A (zh) | 一种混合架构的深度学习系统方法及装置 | |
CN107832804A (zh) | 一种信息处理方法及相关产品 | |
WO2020073211A1 (zh) | 运算加速器、处理方法及相关设备 | |
CN110188795A (zh) | 图像分类方法、数据处理方法和装置 | |
CN107239824A (zh) | 用于实现稀疏卷积神经网络加速器的装置和方法 | |
JP2021510219A (ja) | マルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータおよびその動作方式 | |
WO2023146523A1 (en) | Event-based extraction of features in a convolutional spiking neural network | |
CN109993275A (zh) | 一种信号处理方法及装置 | |
CN110263909A (zh) | 图像识别方法及装置 | |
Liu et al. | SparseNet: A sparse DenseNet for image classification | |
CN109992742A (zh) | 一种信号处理方法及装置 | |
CN108780524A (zh) | 用于神经网络的运算装置、电路及相关方法 | |
CN108647776A (zh) | 一种卷积神经网络卷积膨胀处理电路及方法 | |
CN108170640A (zh) | 神经网络运算装置及应用其进行运算的方法 | |
CN110276447A (zh) | 一种计算装置及方法 | |
CN110163350A (zh) | 一种计算装置及方法 | |
CN112559046A (zh) | 数据处理装置及人工智能处理器 | |
CN111353598A (zh) | 一种神经网络压缩方法、电子设备及计算机可读介质 | |
Bilaniuk et al. | Bit-slicing FPGA accelerator for quantized neural networks | |
CN110222835A (zh) | 一种基于零值检测的卷积神经网络硬件系统及运算方法 | |
Lin et al. | High utilization energy-aware real-time inference deep convolutional neural network accelerator | |
CN111931927A (zh) | 一种在npu中减少计算资源占用的方法及装置 | |
CN107748914A (zh) | 人工神经网络运算电路 | |
CN109740729B (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 |