CN110718211A - 一种基于混合压缩卷积神经网络的关键词识别系统 - Google Patents
一种基于混合压缩卷积神经网络的关键词识别系统 Download PDFInfo
- Publication number
- CN110718211A CN110718211A CN201910915999.5A CN201910915999A CN110718211A CN 110718211 A CN110718211 A CN 110718211A CN 201910915999 A CN201910915999 A CN 201910915999A CN 110718211 A CN110718211 A CN 110718211A
- Authority
- CN
- China
- Prior art keywords
- neural network
- quantization
- convolutional neural
- layer
- keyword recognition
- 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
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 31
- 238000013139 quantization Methods 0.000 claims abstract description 85
- 238000013528 artificial neural network Methods 0.000 claims abstract description 26
- 238000013138 pruning Methods 0.000 claims abstract description 21
- 230000006835 compression Effects 0.000 claims abstract description 16
- 238000007906 compression Methods 0.000 claims abstract description 16
- 230000004913 activation Effects 0.000 claims abstract description 13
- 230000000750 progressive effect Effects 0.000 claims abstract description 13
- 238000000605 extraction Methods 0.000 claims abstract description 9
- 238000006243 chemical reaction Methods 0.000 claims abstract 4
- 238000000034 method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 14
- 238000009825 accumulation Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 5
- 230000000295 complement effect Effects 0.000 claims description 2
- 230000005236 sound signal Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 15
- 238000013209 evaluation strategy Methods 0.000 abstract description 6
- 238000011002 quantification Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000001228 spectrum Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 244000141353 Prunus domestica Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- 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
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/26—Pre-filtering or post-filtering
- G10L19/265—Pre-filtering, e.g. high frequency emphasis prior to encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/24—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提出了一种基于混合压缩卷积神经网络的关键词识别系统,属于计算、推算、计数的技术领域。该系统包括模数转换模块、特征提取模块、混合压缩卷积神经网络模块,分别对卷积神经网络的输入值进行高阶残差量化,对神经网络的权重值进行细粒度渐进量化和激活值的低比特量化,再对卷积核进行基于前后级联合评价策略的剪枝,以此降低网络的参数量和模型大小。通过量化来降低神经网络的参数大小,通过剪枝降低网络的计算量,从而达到优化网络的目的。
Description
技术领域
本发明公开了一种基于混合压缩卷积神经网络的关键词识别系统,涉及卷积神经网络的压缩优化,属于计算、推算、计数的技术领域。
背景技术
由于深度神经网络的性能远远超越了传统机器学习算法,深度学习技术在诸多领域不断推进,在可穿戴设备、机器人和智能家居等领域有着广阔的应用前景,如今通过深度神经网络识别关键词已经取得了比过去好得多的性能,其中,卷积神经网络是非常重要的一种实现方式,但神经网络的规模巨大,与传统方法相比有更多的参数和计算量。规模巨大的深度神经网络需要用大量的存储资源来支撑它的运算。
神经网络大量参数产生的较大存储需求往往不利于移动端和便携式设备的小型化,而大量的计算产生的较高功耗使得便携式设备难于长时间运行。因此,对深度神经网络的压缩成为了迫切需求。随着便携式设备的发展,语音识别相关技术有着较为广阔的应用前景,利用现有的压缩神经网络处理语音特征参数影响关键词识别系统的准确率,难以满足语音关键词识别高准确率且低功耗的应用需求,如何在便携式设备中实现语音关键词的高精度识别并降低设备功耗是将关键词识别系统在便携式设备上广泛应用亟待解决的问题,本申请旨在通过多种方法压缩神经网络模型,使关键词识别系统具有较小的内存占用量和较低的计算量,减少硬件实施时所消耗的资源。
发明内容
本发明的发明目的是针对上述背景技术的不足,提出一种基于混合压缩卷积神经网络的关键词识别系统,以满足神经网络在移动端和便携式设备上部署的需求,并低功耗、高准确率地完成关键字识别任务,解决了现有语音关键词识别系统难以在移动终端和便携式设备中实现的技术问题。
本发明为实现上述发明目的采用如下技术方案:
一种基于混合压缩卷积神经网络的关键词识别系统,包括:模数转换器模块、特征提取模块和混合压缩卷积神经网络模块。其中,混合压缩卷积神经网络模块又包括:输入值的高阶残差量化模块、权重值的细粒度渐进量化模块、激活值的低比特量化模块以及基于前后级联合评价策略的卷积核级剪枝模块。
基于混合压缩卷积神经网络的关键词识别系统,先由模数转换器模块将真实的人声由模拟信号转变到数字语音信号,然后将所得到的数字语音信号输入到特征提取模块里,经过特征提取模块提取出的语音特征信息再输入到混合压缩卷积神经网络模块里训练。
权重值的细粒度渐进量化模块通过渐进量化的方式将权重量化为二值,该过程主要分为以下三个部分:(1)权重分组,(2)权重基于分组进行量化,(3)网络训练。首先是权重分组,将全精度浮点型网络模型中每一层的权重数据分为两组,分组的依据是权重数值绝对值的大小,由于不同的大小代表了不同的重要性,数值较大的权重有更强的重要性,选取一定比例的数值较大的权重,比例设为C,将该组权重作为量化组,其余1-C比例的权重作为固定组,然后基于第一步的分组情况,对更重要的量化组进行量化,而固定组的权重保持原值暂时不参与量化,作此处理后对建立的低比特网络模型重新训练以补偿量化给网络模型造成的精度损失。继续对未量化的权重参数重复上述三种操作,不断迭代直至模型权重全部量化为止。此过程建立了互补的两个部分:低比特的网络模型和重训练补偿精度损失。渐进量化策略有更小的信息损失,确保网络模型准确率降低得更少。
激活值的低比特量化模块对将网络每一层的输出值(也即下一层网络的输入值)进行量化,量化的位宽一般取1、2、4、8比特。对激活值的量化分为两个部分,首先通过约束函数将输出值约束到[0,1],然后对约束值进行量化。以A表示待量化的输出值,K为量化的位宽。其中,K是可配置的,当K=1即量化到1 比特时,即对网络进行了二值化处理。输出值在进行数值范围约束之前的数据处理将在本小节后面的网络调整部分介绍。为进行量化,需要先确保待量化数值的范围为[0,1],为此约束函数h(A)将小于零的值归为0而将大于1的值归为1,公式如下所示:
h(A)=clip(A,0.0,1.0)。
然后对Abound(A的约束值,Abound=h(A))进行K比特量化,这通过量化函数Q(x)实现,Q(x)实施过程分为如下步骤:(1):将Abound缩放到K比特可以表示的范围内[0,2K-1],(2):将缩放后的值四舍五入取整,(3):仍将输出约束到[0,1],整个量化函数如下所示:
输入值的高阶残差量化模块将输入量化为K比特的过程是:根据量化后的残差是否小于一个较小的阈值以判断是否需要对残差继续量化,通过阈值进行动态迭代直至量化后的残差符合要求。首先,将输入量化为K比特,为了尽可能多地保留特征减少信息损失,对量化后的残差继续进行K比特量化,通过不断迭代直至量化后的残差小于设定的阈值,将各次的量化值作为输入。输入第一层后,将其经过第一层卷积层处理的对应输出相加后作为第一层卷积层的最终输出。
首先,对输入X进行K比特量化,量化的结果作为一阶量化值H1,然后,将H1作为第一层卷积层的输入,经过第一层卷积计算后的输出值用Y1表示,判断一阶量化后的残差R1(X),如果残差大于设定的阈值,则继续进行量化,此时,量化的对象是一阶量化后的残差值R1(X),量化结果为二阶量化值H2,将H2经过第一层卷积层计算的输出用Y2表示;判断二阶量化后的残差R2(X),若残差值小于设定的阈值则不再继续量化,若残差值仍大于设定阈值则继续对残差进行量化,直至量化后的残差小于设定阈值;最后,将各阶量化值经过第一层卷积层的输出值Y1、Y2等相加作为第一层卷积层的总输出。输入X的高阶残差量化近似值以及各阶残差公式如下所示:
R0(X)=X,
其中,i=1,2,…,K,Ri(X)表示输入X经i阶量化后的残差值。
在对输入数据量化前先将输入同比例缩放到[0,1]的范围,然后按照激活值的低比特量化模块对激活值的量化方法进行比特的量化,将此量化函数记为 Quantization(X)。
基于前后级联合评价策略的卷积核级剪枝模块通过剪枝去掉不含信息量的参数实施以卷积结果为导向的多级联合评价,其过程为:1)用第i层的输入特征图的一个子集作为第i层的输入,假如这个子集输入得到了剪枝前第i层的相近输出,那么这个子集以外的特征图就可以去掉了;2)因为第i层的一个输入特征图是由第i-1层的一个卷积核产生的,因此去掉第i层的特征图的同时也就可以去掉第i-1层相应的卷积核;3)对每一层进行迭代。保留下的特征图得到了与剪枝前接近的输出,这也可以理解为丢弃的特征图与卷积核的卷积输出近似为零。
卷积核在输入数据X子区域的卷积公式如下所示:
卷积核以此计算方式在X滑动得出一个特征图。记Xl为第l层的输入特征图,将第二层的第i个卷积核卷积后的特征图记为第二层共有M个卷积核,因此第二个卷积层的输出特征图有M个,以Y2表示整个输出。注意,在涉及特征图时符号∑不表示求和,而是表示集合的意思。设剪枝率为r,则丢弃第一层的卷积核数为R=K×r,保留K-R个卷积核。因此,在第二层输入的K个特征图中求出一个子集,这个子集含有特征图的个数K2=K-R,用符号表示将第二层剪枝后的卷积输出用符号表示,其中,为第i个卷积核在相应的K-R个通道上的卷积结果,计算公式如下所示:
用S表示保留特征图的集合序列,T表示丢弃的集合序列。以保留子集的输出与原来输出的接近程度作为挑选子集的依据,因此子集的选择问题可以转化为下式所示的求解问题:
表示第二层输入的第j个特征图与第i个卷积核的卷积结果。要使剪枝后的结果与原结果的误差愈小,则被丢弃的特征图与卷积核的卷积结果愈接近零,因此上式所示的求解问题可以转化为求解如下公式:
将误差值记为E,E的表示如下式所示:
最后,可以用贪心算法求解出最优的剪枝方案。
本发明采用上述技术方案,具有以下有益效果:
(1)本申请通过对神经网络进行包括输入量高阶量化、激活值低比特量化的、权重值细粒度渐进量化的混合压缩卷积实现网络参数的降低,通过前后级联合评价策略的剪枝降低计算量,能够保证关键词识别系统的准确率不受网络压缩的影响,满足了关键词识别系统在移动端和便携式设备上部署的需求,并且低功耗、高准确率地完成关键字识别任务。
(2)本申请涉及的混合压缩卷积神经网络通过执行二值乘法和加法的乘法单元实现,将乘法操作变为二值乘法降低计算量与芯片面积,可根据应用场景选择配置乘法单元的计算精度以降低功耗,在保证关键词识别系统准确率不受网络压缩影响的同时减少硬件资源消耗,有利于该语音关键词识别系统在小型化便携式设备上的实现。
附图说明
图1为本发明的关键词识别系统的整体架构示意图。
图2为本发明的神经网络结构示意图。
图3为本发明的混合压缩卷积神经网络的具体压缩方式。
图4为本发明的权重值的细粒度渐进量化模块。
图5为本发明的输入值的高阶残差量化模块。
图6为本发明的前后级联合评价策略的卷积核级剪枝模块。
图7为本发明的卷积运算的示意图。
图8为本发明的神经网络基于FPGA实现的系统整体架构。
图9为本发明的基本处理单元PE。
图10(a)、图10(b)分别为本发明的基本处理单元PE的二值乘法部分和累加部分。
图11为本发明的可配置PE单元结构图。
图12为本发明的基于混合压缩的卷积神经网络压缩方法流程图。
具体实施方式
下面结合具体实施例进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本申请公开的关键词识别系统,其整体架构如图1所示,语音信号在经过模数转换器模块后紧接着通过特征提取模块,提取出的特征矩阵将被送入神经网络进行训练以完成识别任务。此例中,神经网络共有五个卷积层和三个全连接层,网络结构示意图如图2所示。五个卷积层组成的层级结构能够有效地从输入信息中提取到有用的特征,经过卷积层提取到的有用特征被送入后面的三个全连接层得到语音信号的类别。
特征提取模块,由七个部分组成,(1)预加重,(2)分帧,(3)加窗,(4) 快速傅里叶变换,(5)Mel滤波器组,(6)对数运算,(7)离散余弦变换。
1)预加重。预加重是为了提高高频部分,平滑信号频谱,并使频谱从低频范围到高频范围都可以用相同的信噪比求频谱。同时,可以消除声带和嘴唇在声音产生中的影响,使发音过程中被抑制的语音信号的高频部分得到补偿,并且可以强调高频共振的峰值。
2)分帧。是将N个采样点组在称为帧的一个观测单元中。通常N的值是 256或512,并且所覆盖的持续时间是大约20到30ms。为了避免两个相邻的帧变化过大,在两个相邻帧之间存在重叠区域。重叠区域包含M个采样点。通常, M的值约为N的1/2或1/3。一般用于语音识别的语音信号采样率为8kHz或16 kHz。
3)加窗。每一帧被乘以汉明窗,这样增加了帧左右端的连续性。
4)FFT。因为不同的能量分布表示语音的不同特征,因此将语音信号变换成频域上的能量分布,为此需要经过快速傅里叶变换处理。采用傅里叶变化处理各帧信号得到各帧的频谱,并对频谱取模平方得到功率谱。
5)滤波。将能量谱通过一组有M个三角形滤波器的滤波器组,三角带通滤波器可以使频谱更平滑并可以消除谐波的影响。
本文在特征提取过程中对传统的MFCC做了一些改变。在MFCC处理过程中需要对预加重后的语音信号进行分帧处理,每帧所覆盖的持续时间一般是20 到30ms。为了避免两个相邻帧的变化太大,在两个相邻帧之间存在交叠区域,重叠区域通常为10ms。这样对一段语音信号分帧需要分成的帧数更多,因此计算量也就更大,为了使计算量得到减少,在分帧处理时每帧覆盖25ms,并且从前一次采样的末尾开始下一次采样,相邻两帧之间不存在交叠,通过多次测试,并没有发现准确率与传统分帧处理有明显性能损失。在FFT处理后的信号要经过带通滤波器,常规方法所采用的滤波器组是三角形滤波器(mel滤波),经三角形滤波器滤波是一个乘累加的过程,而把三角滤波器换成矩形滤波器,则滤波过程就变换成了加与不加的过程,这可以简化计算过程。混合压缩卷积神经网络的功能实现如图3所示,包括:对权重值细粒度渐进量化、对激活值进行低比特量化、对输入值进行高阶残差量化、对卷积核的剪枝。
首先,需要从输入层开始,对卷积神经网络的第一层的输入数据采用输入值高阶残差量化,对输入量X进行K比特量化,量化的结果作为一阶量化值H1,然后将H1作为第一层的输入,经过第一层卷积计算后的输出值用Y1表示,判断一阶量化后的残差R1(X),根据设定的阈值,如果残差大于阈值,则继续进行量化,此时量化的对象是一阶量化后的残差值R1(X),量化结果为二阶量化值H2,将H2通过第一层的输出用Y2表示。现在以二阶残差量化举例,如图5所示,首先对输入张量X采用函数Quantization(X)进行量化,将一阶量化值记为H1,然后同样对一阶量化后的残差量化,记二阶量化值为H2,输入最终的残差为R2,将两次的量化值作为总的输入,运算关系如下所示:
H1=Quantization(X),
R1=X-H1,
H2=Quantization(R1),
X=H1+H2,
R2=X-H1-H2=R1(X)-H2,
判断二阶量化后的残差R2(X),若残差值小于阈值则不再继续量化,若残差值仍大于阈值则继续对残差进行量化,直至量化后的残差小于阈值;最后将各阶量化的第一层输出值Y1、Y2等相加作为第一层总的输出。
接下来便是卷积神经网络内部的量化,需要对权重采用权重值细粒度渐进量化模块来进行量化,对激活值采用激活值低比特量化模块进行量化,假设渐进量化的比例因子D=[0.5,0.75,0.875,1],先选取权重的量化比例为0.5,如图4所示,按照细粒度渐进量化方法对所需量化的权重进行量化,其它比例的权重保持不变,并对每层的激活值进行低比特量化,假定量化位宽为K,这便是网络的前向过程,然后对网络进行训练,得到当前的最优模型,卷积运算如图7所示。按D依次增加渐进量化的比例因子0.75直到增加到1,重复以上部分,直至权重全部量化,得到最终量化网络。
然后是剪枝,由于卷积核级剪枝是根据卷积的结果来确定剪枝,而卷积结果与权重相关,因此先进行上述的量化,通过训练使权重确定后再进行卷积核级剪枝。如前所述的前后级联合评价策略的卷积核级剪枝模块对第一层的卷积核进行剪枝,依次迭代,直至完成所有层的剪枝,如图6所示。
基于混合压缩的卷积神经网络压缩方法的流程如图12所示,一开始,提取出的语音特征参数输入卷积神经网络,并对神经网络的第一层输入进行输入值的高阶量化操作,然后设定权重值的细粒度渐进量化比例因子D,然后再进行激活值的低比特量化,与此同时进行网络训练,当满足D[k]=1后,将进行卷积核级剪枝操作,最后完成对该网络的压缩。
本申请公开的基于混合压缩卷积神经网络的关键词识别系统能在FPGA实现,该系统的整体架构如图8所示,其中数据和权重存储在外部DDR模块中,处理系统(Processingsystem,PS)通过AXI总线控制可编程逻辑(Progarmmable Logic,PL)加速器模块。系统上电复位后,通过PS端控制神经网络加速器模块的初始化,数据和权重通过DMA模块加载到PL端内部的数据缓冲模块。当数据和权重加载完成后,通过PL端内部的Control控制器模块将每一层网络中的乘加运算操作数加载到多个并行的PE阵列模块中,每一层网络计算完毕之后,将该层网络的计算结果输出到数据缓冲模块。同时,在Control模块的控制下判断该层网络是否为卷积操作,如果是卷积运算操作,则将该卷积结果输出到池化模块和BN归一化模块中,同时将计算结果返回到数据缓冲模块中;如果是全连接的操作,则将该全连接的结果输出到BN归一化模块,同时将计算结果返回到数据缓冲模块中。该层网络计算结束后,将该层网络的输出作为下一层网络的输入,重复之前的操作。
基本处理单元PE如图9所示,它可以实现乘累加的操作,分为乘和加两个部分。乘的部分如图10(a)所示,由于权重是二值化的,所以特征数据与权重的乘法不用执行乘法操作,可以通过对权重做检测,若是1,则输出原值,若是 -1,则对输入进行取补然后输出。其中,s1信号置0,它控制基本PE单元执行特征数据为4bits的运算。累加操作如图10(b)所示,s3选择输入0,把加法器的结果存入到部分和寄存器PSum。s2可以选择输入0还是输入1,如果卷积处理单元刚开始进行一个卷积计算,s2选择输入0。如果部分和寄存器中已经存在数据并且本次累加计算尚未完成,则s2选择输入1。
语音信号在存在噪声时,网络需要更多的数据位宽,噪声越大,数据位宽的需求越高。基本PE单元是针对特征数据位宽为4bits设计的,为了在噪声情况下也能保证网络的准确率,PE阵列是可配置的,通过配置PE阵列可以支持8bits 数据的运算。两个支持4bits运算的PE通过配置可以完成8bits数据的运算。可配置PE单元如图11所示。其中,s1信号是控制PE处理的数据位宽为4bits还是8bits,当需要用两个PE组成8bits的PE时,将s1信号置1。此时将8bits的数据分为低四位和高四位分别送给PE1和PE2,并将PE1的乘法进位信号c_in0 送给PE2。对于加法部分,将PE1低四位加法的加法进位信号c_in送入PE2的加法单元,PE1和PE2的输出值拼接组成8bits数据的计算结果。
Claims (9)
1.一种基于混合压缩卷积神经网络的关键词识别系统,其特征在于,包括:
模数转换模块,将采集的音频信号从模拟信号转换为数字信号后输出至特征提取模块,
特征提取模块,从模数转换模块输出的数字信号中提取语音特征参数,及,
混合压缩卷积神经网络模块,通过对各层的输入量进行高阶量化以及对权重值细粒度量化的前向传播训练语音特征参数,前向传播的过程中对激活值进行低比特量化,输出符合精度要求的关键词识别结果。
2.根据权利要求1所述一种基于混合压缩卷积神经网络的关键词识别系统,其特征在于,在保证关键词识别结果精度要求的前提下精简语音特征参数以实现卷积核的剪枝。
3.根据权利要求1所述一种基于混合压缩卷积神经网络的关键词识别系统,其特征在于,对各层的输入量进行高阶量化通过迭代量化后的残差直至残差小于设定阈值的方式实现。
4.根据权利要求1所述一种基于混合压缩卷积神经网络的关键词识别系统,其特征在于,对权重值细粒度量化通过逐渐增加量化比例因子的方式实现每一层网络权重的渐进量化。
5.根据权利要求1所述一种基于混合压缩卷积神经网络的关键词识别系统,其特征在于,对激活值进行低比特量化的方法为:将神经网络层输出值约束到[0,1]后再缩放至K比特表示的范围内,对缩放后的值取整后再约束到[0,1]。
8.根据权利要求1所述一种基于混合压缩卷积神经网络的关键词识别系统,其特征在于,所述混合压缩卷积神经网络模块中的PE阵列包含多个PE单元,每个PE单元包括:
乘法部分,其输入端接语音特征参数和二值化权重,在二值化权重为1时输出语音特征参数,在二值化权重为-1时对语音特征参数进行取补操作后输出,及,
累加部分,对乘法部分的输出量累加后输出。
9.根据权利要求8所述一种基于混合压缩卷积神经网络的关键词识别系统,其特征在于,所述混合压缩卷积神经网络模块中PE阵列的位宽可配置,根据位宽要求级联PE单元,下一PE单元的乘法部分对语音特征参数及上一PE单元乘法部分取补操作后的进位信号进行二值化乘法计算,下一PE单元的累加部分对该PE单元中乘法部分的输出量及上一PE单元加法部分的进位信号进行累加操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910915999.5A CN110718211B (zh) | 2019-09-26 | 2019-09-26 | 一种基于混合压缩卷积神经网络的关键词识别系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910915999.5A CN110718211B (zh) | 2019-09-26 | 2019-09-26 | 一种基于混合压缩卷积神经网络的关键词识别系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110718211A true CN110718211A (zh) | 2020-01-21 |
CN110718211B CN110718211B (zh) | 2021-12-21 |
Family
ID=69210912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910915999.5A Active CN110718211B (zh) | 2019-09-26 | 2019-09-26 | 一种基于混合压缩卷积神经网络的关键词识别系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110718211B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111341306A (zh) * | 2020-02-14 | 2020-06-26 | 东南大学 | 基于语音特征复用的关键词唤醒cnn的存储和计算压缩方法 |
CN111583940A (zh) * | 2020-04-20 | 2020-08-25 | 东南大学 | 极低功耗关键词唤醒神经网络电路 |
CN111739521A (zh) * | 2020-06-19 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 电子设备唤醒方法、装置、电子设备及存储介质 |
CN112435652A (zh) * | 2020-09-29 | 2021-03-02 | 江苏清微智能科技有限公司 | 一种基于图卷积神经网络的语音关键词识别系统及方法 |
CN112767949A (zh) * | 2021-01-18 | 2021-05-07 | 东南大学 | 一种基于二值权重卷积神经网络的声纹识别系统 |
CN113222108A (zh) * | 2021-03-09 | 2021-08-06 | 北京大学 | 目标检测的处理方法、装置及设备 |
CN114565801A (zh) * | 2021-10-22 | 2022-05-31 | 上海航天控制技术研究所 | 一种卷积神经网络的红外图像目标检测fpga加速器设计方法 |
CN115935263A (zh) * | 2023-02-22 | 2023-04-07 | 和普威视光电股份有限公司 | 基于yolov5剪枝的边端芯片检测分类方法及系统 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100322429A1 (en) * | 2007-09-19 | 2010-12-23 | Erik Norvell | Joint Enhancement of Multi-Channel Audio |
CN106233380A (zh) * | 2014-03-06 | 2016-12-14 | Dts(英属维尔京群岛)有限公司 | 多对象音频的编码后位速率减少 |
CN107644252A (zh) * | 2017-03-10 | 2018-01-30 | 南京大学 | 一种多机制混合的递归神经网络模型压缩方法 |
CN107657312A (zh) * | 2017-09-18 | 2018-02-02 | 东南大学 | 面向语音常用词识别的二值网络实现系统 |
CN107679618A (zh) * | 2017-07-28 | 2018-02-09 | 北京深鉴科技有限公司 | 一种静态策略定点化训练方法及装置 |
US20180046894A1 (en) * | 2016-08-12 | 2018-02-15 | DeePhi Technology Co., Ltd. | Method for optimizing an artificial neural network (ann) |
US20180046903A1 (en) * | 2016-08-12 | 2018-02-15 | DeePhi Technology Co., Ltd. | Deep processing unit (dpu) for implementing an artificial neural network (ann) |
CN108268943A (zh) * | 2017-01-04 | 2018-07-10 | 意法半导体股份有限公司 | 硬件加速器引擎 |
US20180314940A1 (en) * | 2017-04-28 | 2018-11-01 | Intel Corporation | Incremental precision networks using residual inference and fine-grain quantization |
CN108735202A (zh) * | 2017-03-13 | 2018-11-02 | 百度(美国)有限责任公司 | 用于小占用资源关键词检索的卷积递归神经网络 |
CN109376859A (zh) * | 2018-09-27 | 2019-02-22 | 东南大学 | 一种基于菱形卷积的神经网络剪枝方法 |
CN109389212A (zh) * | 2018-12-30 | 2019-02-26 | 南京大学 | 一种面向低位宽卷积神经网络的可重构激活量化池化系统 |
CN109543826A (zh) * | 2017-09-21 | 2019-03-29 | 杭州海康威视数字技术股份有限公司 | 一种基于深度神经网络的激活量量化方法及装置 |
CN109740154A (zh) * | 2018-12-26 | 2019-05-10 | 西安电子科技大学 | 一种基于多任务学习的在线评论细粒度情感分析方法 |
CN109978135A (zh) * | 2019-03-04 | 2019-07-05 | 清华大学 | 基于量化的神经网络压缩方法及系统 |
CN110070867A (zh) * | 2019-04-26 | 2019-07-30 | 珠海普林芯驰科技有限公司 | 语音指令识别方法、计算机装置及计算机可读存储介质 |
-
2019
- 2019-09-26 CN CN201910915999.5A patent/CN110718211B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100322429A1 (en) * | 2007-09-19 | 2010-12-23 | Erik Norvell | Joint Enhancement of Multi-Channel Audio |
CN106233380A (zh) * | 2014-03-06 | 2016-12-14 | Dts(英属维尔京群岛)有限公司 | 多对象音频的编码后位速率减少 |
US20180046894A1 (en) * | 2016-08-12 | 2018-02-15 | DeePhi Technology Co., Ltd. | Method for optimizing an artificial neural network (ann) |
US20180046903A1 (en) * | 2016-08-12 | 2018-02-15 | DeePhi Technology Co., Ltd. | Deep processing unit (dpu) for implementing an artificial neural network (ann) |
CN108268943A (zh) * | 2017-01-04 | 2018-07-10 | 意法半导体股份有限公司 | 硬件加速器引擎 |
CN107644252A (zh) * | 2017-03-10 | 2018-01-30 | 南京大学 | 一种多机制混合的递归神经网络模型压缩方法 |
CN108735202A (zh) * | 2017-03-13 | 2018-11-02 | 百度(美国)有限责任公司 | 用于小占用资源关键词检索的卷积递归神经网络 |
US20180314940A1 (en) * | 2017-04-28 | 2018-11-01 | Intel Corporation | Incremental precision networks using residual inference and fine-grain quantization |
CN107679618A (zh) * | 2017-07-28 | 2018-02-09 | 北京深鉴科技有限公司 | 一种静态策略定点化训练方法及装置 |
CN107657312A (zh) * | 2017-09-18 | 2018-02-02 | 东南大学 | 面向语音常用词识别的二值网络实现系统 |
CN109543826A (zh) * | 2017-09-21 | 2019-03-29 | 杭州海康威视数字技术股份有限公司 | 一种基于深度神经网络的激活量量化方法及装置 |
CN109376859A (zh) * | 2018-09-27 | 2019-02-22 | 东南大学 | 一种基于菱形卷积的神经网络剪枝方法 |
CN109740154A (zh) * | 2018-12-26 | 2019-05-10 | 西安电子科技大学 | 一种基于多任务学习的在线评论细粒度情感分析方法 |
CN109389212A (zh) * | 2018-12-30 | 2019-02-26 | 南京大学 | 一种面向低位宽卷积神经网络的可重构激活量化池化系统 |
CN109978135A (zh) * | 2019-03-04 | 2019-07-05 | 清华大学 | 基于量化的神经网络压缩方法及系统 |
CN110070867A (zh) * | 2019-04-26 | 2019-07-30 | 珠海普林芯驰科技有限公司 | 语音指令识别方法、计算机装置及计算机可读存储介质 |
Non-Patent Citations (6)
Title |
---|
BO, L. , ET AL.: "EERA-KWS: A 163 TOPS/W always-on keyword spotting accelerator in 28nm CMOS using binary", 《IEEE ACCESS》 * |
DOUGLAS O"SHAUGHNESSY: "Interacting with computers by voice: automatic speech recognition and synthesis", 《PROCEEDINGS OF THE IEEE》 * |
GUO PENG ET AL.: "A High-Efficiency FPGA-Based Accelerator for Binarized Neural Network", 《JOURNAL OF CIRCUITS, SYSTEMS, AND COMPUTERS》 * |
LIU, B. , ET AL.: "EERA-ASR: An Energy-efficient Reconfigurable Architecture for Automatic Speech", 《IEEE ACCESS》 * |
刘波 等: "基于配置信息动态压缩的可重构架构优化", 《东南大学学报(自然科学版)》 * |
孙彦楠 等: "基于深度神经网络的关键词识别系统", 《计算机系统应用》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111341306A (zh) * | 2020-02-14 | 2020-06-26 | 东南大学 | 基于语音特征复用的关键词唤醒cnn的存储和计算压缩方法 |
CN111583940A (zh) * | 2020-04-20 | 2020-08-25 | 东南大学 | 极低功耗关键词唤醒神经网络电路 |
CN111739521A (zh) * | 2020-06-19 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 电子设备唤醒方法、装置、电子设备及存储介质 |
CN112435652A (zh) * | 2020-09-29 | 2021-03-02 | 江苏清微智能科技有限公司 | 一种基于图卷积神经网络的语音关键词识别系统及方法 |
CN112767949A (zh) * | 2021-01-18 | 2021-05-07 | 东南大学 | 一种基于二值权重卷积神经网络的声纹识别系统 |
CN113222108A (zh) * | 2021-03-09 | 2021-08-06 | 北京大学 | 目标检测的处理方法、装置及设备 |
CN113222108B (zh) * | 2021-03-09 | 2024-04-16 | 北京大学 | 目标检测的处理方法、装置及设备 |
CN114565801A (zh) * | 2021-10-22 | 2022-05-31 | 上海航天控制技术研究所 | 一种卷积神经网络的红外图像目标检测fpga加速器设计方法 |
CN115935263A (zh) * | 2023-02-22 | 2023-04-07 | 和普威视光电股份有限公司 | 基于yolov5剪枝的边端芯片检测分类方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110718211B (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110718211B (zh) | 一种基于混合压缩卷积神经网络的关键词识别系统 | |
CN110378468B (zh) | 一种基于结构化剪枝和低比特量化的神经网络加速器 | |
CN112199548B (zh) | 一种基于卷积循环神经网络的音乐音频分类方法 | |
Wu et al. | Easyquant: Post-training quantization via scale optimization | |
US10949736B2 (en) | Flexible neural network accelerator and methods therefor | |
CN106920545B (zh) | 基于人工智能的语音特征提取方法和装置 | |
DE102019113534A1 (de) | Verfahren und System zur Zeitdomänen-Merkmalsextraktion für die automatische Spracherkennung | |
CN112508125A (zh) | 一种图像检测模型的高效全整数量化方法 | |
CN112786021B (zh) | 一种基于分层量化的轻量级神经网络语音关键词识别方法 | |
Meyer et al. | Efficient convolutional neural network for audio event detection | |
US12033613B2 (en) | Deep neural network based non-autoregressive speech synthesizer method and system using multiple decoder | |
CN114708855B (zh) | 一种基于二值残差神经网络的语音唤醒方法及系统 | |
CN113362804B (zh) | 一种合成语音的方法、装置、终端及存储介质 | |
Luo et al. | Group communication with context codec for lightweight source separation | |
CN116994564B (zh) | 一种语音数据的处理方法及处理装置 | |
CN112669819A (zh) | 基于不重叠分帧和串行fft的极低功耗语音特征提取电路 | |
CN113241092A (zh) | 基于双注意力机制和多阶段混合卷积网络声源分离方法 | |
CN116013293A (zh) | 一种基于混合精度量化神经网络的语音唤醒方法及系统 | |
CN112561050A (zh) | 一种神经网络模型训练方法及装置 | |
CN112397090B (zh) | 一种基于fpga的实时声音分类方法及系统 | |
Pan et al. | An efficient hybrid learning algorithm for neural network–based speech recognition systems on FPGA chip | |
KR20170088165A (ko) | 심층 신경망 기반 음성인식 방법 및 그 장치 | |
CN112397086A (zh) | 语音关键词检测方法、装置、终端设备和存储介质 | |
CN112418388A (zh) | 一种实现深度卷积神经网络处理的方法及装置 | |
Nicodemo et al. | Memory requirement reduction of deep neural networks for field programmable gate arrays using low-bit quantization of parameters |
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 |