一种面向边缘计算的轻量级语音关键词识别方法转让专利

申请号 : CN202010087131.3

文献号 : CN111276125B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 龚征魏运根杨顺志叶开

申请人 : 华南师范大学

摘要 :

本发明公开了一种面向边缘计算的轻量级语音关键词识别方法,包括下述步骤:信号预处理,剔除噪音信号;声学特征提取;构建采用了首层特征增强方法和轻量级组件的轻量级语音关键词识别模型EdgeCRNN,轻量级组件包括深度可分离卷积和残差结构;构造适合语音关键词识别任务的基础模块Base‑Block和下采样模块CRNN‑Block,并基于基础模块和下采样模块构造EdgeCRNN;将特征输入EdgeCRNN模型中进行语音识别。本发明采用特征增强方法、深度可分离卷积和深度残差结构设计了一种轻量级语音关键词识别模型,极大的减少了硬件资源消耗,使得模型能在资源受限的设备上平稳、流畅地运行,避免了用户隐私的泄露。

权利要求 :

1.一种面向边缘计算的轻量级语音关键词识别方法,其特征在于,包括下述步骤:对语音信号进行预处理,剔除噪音信号;

对预处理后的语音信号进行特征提取;

构建轻量级语音关键词识别模型EdgeCRNN,语音关键词识别模型EdgeCRNN采用了首层特征增强方法和轻量级组件;

所述首层特征增强方法具体为:

轻量级语音关键词识别模型首层为卷积层,卷积层主要结构是卷积核,卷积核参数有步长Stride、卷积核尺寸Kernel_Size、padding;所述卷积核选择3×3卷积核,在模型首层中设置stride为1进行增强和集中特征,特征提取可从第二层开始;其他参数采用默认参数;

卷积操作计算公式如下,其中d代表输入维度中的一维,其余维度计算类似,m代表卷积核大小,p代表padding大小,s代表步长:把Conv2D的卷积核数据代入公式中可得 输出特征图大小为 维,特征减半了;Conv2D的卷积核数据代入公式可得输出特征图大小为d,因此输出特征图大小没有改变,相当于重复提取特征,过滤掉了无用特征,增强了特征;

所述轻量级组件包括深度可分离卷积和残差结构;根据深度可分离卷积和残差结构构造适合语音关键词识别任务的基础模块Base‑Block和下采样模块CRNN‑Block,EdgeCRNN模型由一组基础模块Base‑Block和下采样模块CRNN‑Block组成,分为三个阶段,每个阶段的第一个单元步长为2,同一个阶段内的其他超参数保持不变,下一个阶段的输出通道数以倍数增加;所述基础模块Base‑Block,用于重复提取特征,两分支输入相同,输出进行“Add”操作;所述下采样模块CRNN‑Block,能减小计算量,相对地增大感受野,两分支输入相同,输出采用“Concat”操作;

将提取的特征输入轻量级语音关键词识别模型,进行语音识别,具体为:将提取的特征输入EdgeCRNN模型中,EdgeCRNN采用卷积层提取输入特征的局部频域特征、循环神经层提取输入特征的时域特征,最后由全连接层进行特征分类并输出结果,在卷积层中采用Relu作为激活函数增加模型表示能力,批量归一化进行数据处理,交叉熵函数作为损失函数,反向传播中采用Adam作为优化器;循环神经层中采用LSTM。

2.根据权利要求1所述面向边缘计算的轻量级语音关键词识别方法,其特征在于,所述预处理具体为:输入语音信号文件;

分帧,把整段语音信号切分成长度为30ms的帧,时间位移为10ms;

利用FFT将时域信号转为频域信号;

采用多窗谱对分帧后的语音信号进行功率谱估计;

计算谱减增益:

其中Py(w)为带噪音信号的功率谱估计,Pn(w)为噪声功率谱估计,a为过减因子,a越大抑制噪声效果越好;

增强后的幅度谱:

|x(w)|=|y(w)|*|g(w)|

其中|y(w)|为在噪音的语音信号,|x(w)|为序列长度;

得到增强后的幅度谱后,加上初始相位θ(w)即可得出在频域增强后的语音,最后由逆向快速傅里叶变换得到增强后的语音:y(w)=|x(w)|θ(w)。

3.根据权利要求 1所述面向边缘计算的轻量级语音关键词识别方法,其特征在于,在进行特征提取时,采用由LFBE和MFCC的一、二阶差分特征的叠加LFBE‑Delta作为模型输入特征,LFBE‑Delta特征提取过程如下:输入信号进行预加重、分帧和加窗;

快速傅里叶变换;

梅尔滤波器组特征提取;

对所有的梅尔频谱取对数得到对数滤波器组能量;

对LFBE进行离散余弦变换,提取MFCC系数;

MFCC的一阶和二阶差分特征提取;

LFBE与Delta和Delta‑Delta叠加。

4.根据权利要求 1所述面向边缘计算的轻量级语音关键词识别方法,其特征在于,所述深度可分离卷积由深度卷积和点卷积组成,深度卷积中卷积核的维度与输入数据的通道数相等,并且一个维度与一个通道特征进行卷积操作,最后输出的通道数与输入通道数不变;点卷积的卷积核尺寸为1x1的,单个卷积核的维度与输入特征通道数相等,然后进行正常卷积操作,输出特征通道数为M。

5.根据权利要求 4所述面向边缘计算的轻量级语音关键词识别方法,其特征在于,所述深度可分离卷积操作的计算量是标准卷积的运算量 倍,其中N为输出Map的2

channel个数,D为卷积核大小,N往往较大可以忽略,因此深度可分离卷积可以减少D倍。

6.根据权利要求 1所述面向边缘计算的轻量级语音关键词识别方法,其特征在于,所述残差结构的原理如下:设H(x)作为几个堆叠的层底层映射,x为这几个堆叠层的输入,假设多个非线性层可以渐近的逼近复杂函数,则等效于可渐近地近似残存函数,即H(x)–x,故这些层近似为残差函数:F(x):=H(x)‑x,故原函数表示为:H(x)=F(x)+x,F(x)代表残差模块的推理函数,公式如下:y=F(x,wi)x

其中,y代表残差模块的输出,wi为权重,残差结构由两部分组成:快捷连接和恒等映射,训练过程中,快捷连接修剪掉多余网络层,恒等映射能让网络变深,而恒等映射有两个:跳跃连接和激活函数;F(x)+x操作是通过快捷连接和恒等映射来执行,既不引入额外的参数,也不增加计算复杂度,可以直接使用输入输出是相同的维度,此时在残差模块输出后与残差模块输入做“加”操作,因此输入特征被增强了,而且在快捷连接过程中,能自动过滤掉无关的神经节点,零参数为0。

说明书 :

一种面向边缘计算的轻量级语音关键词识别方法

技术领域

[0001] 本发明属于语音识别的技术领域,具体涉及一种面向边缘计算的轻量级语音关键词识别方法。

背景技术

[0002] 语音关键词识别(Keyword Spotting,KWS)应用通常采用终端采集数据、云端服务器识别的模式,虽然云端服务器具有充足的存储空间和强大的计算能力,能存储和处理大量数据,但是该模式具有潜在延时大的弊端,而且随着数据快速增长,服务器处理数据的压力、传输数据消耗的网络带宽将成倍增加,对服务器运算能力、网络带宽等提出了更高要求,延时也将变得更大,这对基于KWS模型的应用来说,用户体验感将是非常糟糕的。此外,用户数据上传到云端服务器还存在用户隐私泄漏、模型被盗取的隐患,甚至存在违反法律的情况。
[0003] 然而,在边缘设备上部署KWS模型面临着一个关键挑战:模型推理过程对硬件资源消耗大与边缘设备低消耗需求之间的矛盾。边缘设备存储空间、计算能力等资源比较有限,这会导致模型推理过程受限,甚至无法运行。
[0004] 语音关键词识别传统方法是采用关键词与填充词的隐马尔可夫模型(Keyword/filter Hidden Marko Model,HMM)和高斯混合模型(Gaussian mixture models,GMMs)。HMM首先建立一张包含关键词和填充词的特殊解码图,然后用Viterbi解码器判断其最优路径,输出概率最高的结果,但是HMM需要提前知道关键词的相关信息才能较准确的识别语音,对于不知道的关键词识别率很差;GMM用于确定每个HMM的状态在多大程度上适合一个帧或表示声音输入的系数帧的短窗口。在对于数据空间中位于或接近非线性流形的数据建模时,GMM统计上的效率较低。
[0005] 语音关键词识别现代方法是基于深度学习的方法,但是深度学习模型对硬件资源要求较高,所有很多应用都是部署在计算力强、内存大的高性能服务器上。这种模式不仅生产成本高,而且存在用户隐私泄露的问题。
[0006] 另外现有技术在边缘设备应用上中存在严重的局限性,这是因为边缘设备的CPU、内存等硬件的性能都是比较差的,例如树莓派3B+边缘设备的CPU是单核的ARMs7I芯片,主频只有1.2GHz。然而,深度学习模型推理过程特别是对计算力要求很高,在边缘计算设备上运行深度学习模型时经常会出现卡顿、CPU使用率爆满而关机等情况,从而限制了其在边缘计算设备上的实用性。

发明内容

[0007] 本发明的主要目的在于克服现有技术的缺点与不足,提供一种面向边缘计算的轻量级语音关键词识别方法,既减轻了服务器和网络传输的压力,又保护了用户隐私。
[0008] 为了达到上述目的,本发明采用以下技术方案:
[0009] 本发明一种面向边缘计算的轻量级语音关键词识别方法,包括下述步骤:
[0010] 对语音信号进行预处理,剔除噪音信号;
[0011] 对预处理后的语音信号进行特征提取;
[0012] 构建轻量级语音关键词识别模型,语音关键词识别模型采用了首层特征增强方法和轻量级组件,轻量级组件包括深度可分离卷积和残差结构;
[0013] 构造适合语音关键词识别任务的基础模块Base‑Block和下采样模块CRNN‑Block,并基于基础模块和下采样模块构造EdgeCRNN网络结构,EdgeCRNN网络结构由一组CRNN‑block和Base‑block单元组成,分为三个阶段,每个阶段的第一个单元步长为2,同一个阶段内的其他超参数保持不变,下一个阶段的输出通道数以倍数增加;
[0014] 将提取的特征输入轻量级语音关键词识别模型,进行语音识别,具体为:
[0015] 将提取的特征输入EdgeCRNN模型中,EdgeCRNN采用卷积层提取输入特征的局部频域特征、循环神经层提取输入特征的时域特征,最后由全连接层进行特征分类并输出结果,在卷积层中采用Relu作为激活函数增加模型表示能力,批量归一化进行数据处理,交叉熵函数作为损失函数,反向传播中采用Adam作为优化器;循环神经层中采用LSTM。
[0016] 作为优选的技术方案,所述预处理具体为:
[0017] 输入语音信号文件;
[0018] 分帧,把整段语音信号切分成长度为30ms的帧,时间位移为10ms;
[0019] 利用FFT将时域信号转为频域信号;
[0020] 采用多窗谱对分帧后的语音信号进行功率谱估计;
[0021] 计算谱减增益:
[0022]
[0023] 其中Py(w)为带噪音信号的功率谱估计,Pn(w)为噪声功率谱估计,a为过减因子,a越大抑制噪声效果越好;
[0024] 增强后的幅度谱:
[0025] |x(w)|=|y(w)|*|g(w)|
[0026] 其中|y(w)|为在噪音的语音信号,|x(w)|为序列长度;
[0027] 得到增强后的幅度谱后,加上初始相位θ(w)即可得出在频域增强后的语音,最后由逆向快速傅里叶变换得到增强后的语音:
[0028] y(w)=|x(w)|θ(w)。
[0029] 作为优选的技术方案,在进行特征提取时,采用由LFBE和MFCC的一、二阶差分特征的叠加LFBE‑Delta作为模型输入特征,LFBE‑Delta特征提取过程如下:
[0030] 输入信号进行预加重、分帧和加窗;
[0031] 快速傅里叶变换;
[0032] 梅尔滤波器组特征提取;
[0033] 对所有的梅尔频谱取对数得到对数滤波器组能量;
[0034] 对LFBE进行离散余弦变换,提取MFCC系数;
[0035] MFCC的一阶和二阶差分特征提取;
[0036] LFBE与Delta和Delta‑Delta叠加。
[0037] 作为优选的技术方案,所述首层特征增强方法具体为:
[0038] 轻量级语音关键词识别模型首层为卷积层,卷积层主要结构是卷积核,卷积核参数有步长Stride、卷积核尺寸Kernel_Size、padding;所述卷积核选择3×3卷积核,在模型首层中设置stride为1进行增强和集中特征,特征提取可从第二层开始;其他参数采用默认参数;
[0039] 卷积操作计算公式如下,其中d代表输入维度中的一维,其他维计算类似,m代表卷积核大小,p代表padding大小,s代表步长:
[0040]
[0041] 把Conv2D的卷积核数据代入公式中可得 输出特征图大小为维,特征减半了;Conv2D的卷积核数据代入公式可得输出特征图大小为d,因此输出特征图大小没有改变,相当于重复提取特征,过滤掉了无用特征,增强了特征。
[0042] 作为优选的技术方案,所述深度可分离卷积由深度卷积和点卷积组成,深度卷积中卷积核的维度与输入数据的通道数相等,并且一个维度与一个通道特征进行卷积操作,最后输出的通道数与输入通道数不变;点卷积的卷积核尺寸为1x1的,单个卷积核的维度与输入特征通道数相等,然后进行正常卷积操作,输出特征通道数为M。
[0043] 作为优选的技术方案,所述深度可分离卷积操作的计算量是标准卷积的运算量倍,其中N为输出Map的channel个数,D为卷积核大小,N往往较大可以忽略,因此深2
度可分离卷积可以减少D倍。
[0044] 作为优选的技术方案,所述残差结果的原理如下:
[0045] 设H(x)作为几个堆叠的层底层映射,x为这几个堆叠层的输入,假设多个非线性层可以渐近的逼近复杂函数,则等效于可渐近地近似残存函数,即H(x)–x,故这些层近似为残差函数:F(x):=H(x)‑x,故原函数表示为:H(x)=F(x)+x,F(x)代表残差模块的推理函数,公式如下:
[0046] y=F(x,wi)+x
[0047] 其中,y代表残差模块的输出,wi为权重,残差结构由两部分组成:快捷连接和恒等映射,训练过程中,快捷连接修剪掉多余网络层,恒等映射能让网络变深,而恒等映射有两个:跳跃连接和激活函数;F(x)+x操作是通过快捷连接和恒等映射来执行,既不引入额外的参数,也不增加计算复杂度,可以直接使用输入输出是相同的维度,此时在残差模块输出后与残差模块输入做“加”操作,因此输入特征被增强了,而且在快捷连接过程中,能自动过滤掉无关的神经节点,零参数为0。
[0048] 作为优选的技术方案,所述基础模块,用于重复提取特征,两分支输入相同,输出进行“Add”操作;所述下采样模块,能减小计算量,相对地增大感受野,两分支输入相同,输出采用“Concat”操作。
[0049] 本发明与现有技术相比,具有如下优点和有益效果:
[0050] 1、保护了用户隐私。本发明采用终端采集、推理数据的模式,用户数据不需要上传到服务器端,与现有采用终端采集、上传数据,云端服务器识别的模式相比,减少了用户隐私泄露的概率,进而保护了用户隐私。
[0051] 2、降低了模型推理成本。本发明提出了一个基于深度可分离卷积和残差结构的轻量级语音关键词识别模型EdgeCRNN,EdgeCRNN对比现有模型每秒浮点计算次数和模型参数个数都减少了,参数个数0.45M个,FLOPSs为14.45M次。
[0052] 3、提取了更丰富的语音特征。本发明提出了一种基于对数梅尔滤波器组能量和MFCC的一、二阶差分特征组合的LFBE‑Delta特征提取方法,能提取光谱图中低维特征、波峰处包络特征、帧之间动态特征等,因此提取的特征更加丰富了。

附图说明

[0053] 图1是本发明语音关键词识别模型识别流程图。
[0054] 图2是本发明EdgeCRNN模型推理过程图。
[0055] 图3是本发明MFCC和LFBE‑Delta特征对比图。
[0056] 图4是本发明深度卷积操作图。
[0057] 图5是本发明点卷积操作图。
[0058] 图6是本发明深度残差结构图。
[0059] 图7(a)、图7(b)是本发明EdgeCRNN模块转中基础模块和下采样模块的结构示意图。
[0060] 图8是本发明的方法流程图。

具体实施方式

[0061] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0062] 实施例
[0063] 本发明要解决的技术问题是在边缘计算终端采集数据、服务器识别语音关键词的模式中防止用户隐私泄露,最大限度地减少模型推理过程中对CPU、内存等资源的消耗。
[0064] 论文“An experimental analysis of the power consumption of convolutional neural networks for keyword spotting”分析了一组应用在语音关键词识别任务中的卷积神经网络,论文认为CNN模型有一个简单的架构,相对容易调优,并且在多个深度学习框架中都有实现,例如Tensorflow,Pytorch等框架,关键词识别模型识别过程如图1。
[0065] 特征提取采用梅尔倒谱系数(Mel‑Frequency Cepstrum Coefficient,MFCC)方法,输入语音数据采用频率为16KHz,帧长度为30ms,每帧移动长度为10ms,提取40维MFCC。
[0066] 语音关键字模型主要由输入层、输出层、隐藏层组成,输入层为输入特征,隐藏层由卷积层组成,输出层采用Softmax损失函数和全连接函数,论文中列举了一系列的模型,如表1的pool2模型结构。其中DNN代表深度神经网络,m、r代表卷积核宽和高,p、q代表池化尺寸。
[0067] 表1
[0068]Type m r n p q 参数 相乘次数
卷积层 21 8 94 2 3 15.8K 42.2M
卷积层 6 4 94 1 1 212K 60.2M
线性函数 ‑ ‑ 32 ‑ ‑ 854K 854K
DNN ‑ ‑ 128 ‑ ‑ 4.1K 4.1K
Softmax ‑ ‑ nlabels ‑ ‑ 1.54K 1.54K
Total ‑ ‑ ‑ ‑ ‑ 1.09M 103M
[0069] 训练时,采用谷歌语音数据集作为训练集,输出标签分12种,10种是有“yes”,“no”,“up”,“down”等字母组成,另外还有“silence”和“unknown”两种标签。
[0070] 表2是CNN变种模型在树莓派上测试的性能。
[0071] 表2
[0072] Model 准确率 参数 相乘次数 延时/次 能量/次 功耗one‑fstride4 70.28% 220K 1.43M 40ms 28mJ 0.99W
one‑fstride8 67.90% 337K 1.43M 42ms 29mJ 1.02W
one‑stridel 77.06% 954K 5.76M 100ms 115mJ 1.52W
trad‑pool2 87.51% 1.38M 98.8M 146ms 306mJ 2.60W
tpool2 91.97% 1.09M 103M 204ms 384mJ 2.21W
Tpool3 91.23% 823K 73.7M 159ms 279mJ 2.16W
trad‑fpool3 89.43% 1.37M 125M 227ms 431mJ 2.20W
[0073] 其中Tpool2模型准确率最高达到91.97%,但是均衡准确率和模型参数个数、相乘数,Tpool3更轻量,适用于边缘计算设备树莓派3B上。
[0074] 本发明提供一种面向边缘计算的轻量级语音关键词识别方法,该方法利用轻量级语音关键词识别模型EdgeCRNN对语音进行识别,EdgeCRNN是端到端的。本发明整体流程为:首先对麦克风采集数据进行降噪预处理,然后提取特征,将特征输入模型中,模型推理输出识别结果。EdgeCRNN模型推理过程如图2所示。
[0075] 如图8所示,本发明面向边缘计算的轻量级语音关键词识别方法,包括下述步骤:
[0076] S1、对语音信号进行预处理,剔除噪音信号;
[0077] 预处理包括语音信号降噪和输入长度对齐,在进行语音信号分析之前,先要去除语音信号中的噪音,为后续语音关键词识别提高基础。降噪技术主要谱相减法、多窗谱估计谱减法、非负线性矩阵算法(Nonnegative Matrix Factorization,NMF)。谱相减法会残留音乐噪声,而另外两种并不会,本发明采用多窗谱估计谱减法作为降噪方法,降噪过程如下:
[0078] S1.1、输入语音信号文件;
[0079] S1.2、分帧,微观层面语音信号是连续不间断的,但是宏观上看在20‑40ms内语音信号是相对平稳,可以近似看作稳态信号,因此可以把整段语音信号切分成长度为30ms的帧;
[0080] S1.3、FFT变换,FFT将时域信号转为频域信号,便于进一步分析信号;
[0081] S1.4、多窗谱估计噪声。常用的谱估计方法是采用周期性窗,但是会产生频谱泄露的现象,造成方差性能比多窗谱查。因此,采用多窗谱对分帧后的语音信号进行功率谱估计。
[0082] S1.5、计算谱减增益:
[0083]
[0084] 其中Py(w)为带噪音信号的功率谱估计,Pn(w)为噪声功率谱估计,a为过减因子,a越大抑制噪声效果越好。
[0085] S1.6、增强后的幅度谱:
[0086] |x(w)|=|y(w)|*|g(w)|
[0087] 其中|y(w)|为在噪音的语音信号,|x(w)|为序列长度.
[0088] S1.7、得到增强后的幅度谱后,加上初始相位θ(w)即可得出在频域增强后的语音,最后由逆向快速傅里叶变换得到增强后的语音:
[0089] y(w)=|x(w)|θ(w)。
[0090] S2、对预处理后的语音信号进行特征提取;
[0091] 常见特征提取方法有:梅尔频率倒谱系数(Mel‑scale Frequency Cepstrum Coefficient,MFCC),每通道能量归一化(per‑channel energy normalization,PCEN),MFCC的一阶和二阶偏微分。
[0092] 语音关键词识别任务中,研究者多采用MFCC或对数梅尔滤波器组能量(log filter bank energies,LFBE)作为特征提取方法,MFCC只提取了众多特征聚集的包络处的特征,其他有效特征被忽略了,而且特征提取的视野小,容易受噪声、回声、滤波影响。LFBE包含包络在内等更多详细特征。深度学习模型学习和表示能力强,输入数据特征越多深度学习模型能学习越多特征,因而,LFBE更合适。MFCC基础上的一、二阶差分特征,能更好的表示语音帧与帧之间的关联特征,可以弥补分帧带来的数据不连续问题。因此,本发明采用由LFBE和MFCC的一、二阶差分特征的叠加LFBE‑Delta作为模型输入特征,能够很好的增强语音特征,LFBE‑Delta特征提取过程如下:
[0093] ·输入信号进行预加重、分帧、加窗;
[0094] ·快速傅里叶变换(fast Fourier transform,FFT);
[0095] ·梅尔滤波器组特征提取;
[0096] ·对所有的梅尔频谱取对数得到对数滤波器组能量(log filterbank energies,[0097] ·LFBE);
[0098] ·对LFBE进行离散余弦变换(Discrete Cosine Transformation,DCT),提取MFCC系数;
[0099] ·MFCC的一阶和二阶差分特征提取(Delta和Delta‑Delta);
[0100] ·LFBE与Delta和Delta‑Delta叠加;
[0101] 图3是MFCC特征和LFBE‑Delta特征对比图。
[0102] S3、构建轻量级语音关键词识别模型;
[0103] 语音关键词识别模型采用了首层特征增强方法和轻量级组件,轻量级组件包括深度可分离卷积和残差结果。
[0104] S3.1、首层特征增强;
[0105] 计算机视觉领域3×224×224的输入数据维度,39维的语音特征显得比较小了;常用的CNN都会在首层卷积操作中开始提取特征,设置卷积stride为2,降低输入map的高和宽;本发明认为在模型首层应该要增强和集中特征,特征提取可以从第二层开始,因此模型第一层卷积层的设计非常重要。卷积层主要结构是卷积核,卷积核参数有步长Stride、卷积核尺寸Kernel_Size、padding,卷积核参数设计如表3,深度学习中常用的卷积核尺寸有1×1,3×3,5×5,7×7,本发明应用在边缘计算设备上,因此选择3×3卷积核,其计算量小;在计算机视觉中,模型输入数据维度通常采用224维度,通过设置卷积stride为2,降低输入map的尺寸。然而,语音识别中较多采用13、40等维,语音特征显得比较少。因此本发明在模型首层中设置stride为1进行增强和集中特征,特征提取可以从第二层开始;其他参数采用默认参数,其中Conv2D代表标准卷积,Conv2D_enhance代表增强卷积。
[0106] 表3
[0107] 参数 Kernel_Size Stride PaddingConv2D 3*3 2*2 1*1
Conv2D_enhance 3*3 1*1 1*1
[0108] 卷积操作计算公式如下,其中d代表输入维度中一维,其他维计算类似,m代表卷积核大小,p代表padding大小,s代表步长:
[0109]
[0110] 把表1中的Conv2D的卷积核数据代入公式中可得 输出特征图大小为 维,特征减半了;Conv2D的卷积核数据代入公式可得输出特征图大小为d,因此输出特征图大小没有改变,相当于重复提取特征,过滤掉了无用特征,增强了特征。可计算得到添加特征增强的模型计算开销是没有添加的3‑4倍。
[0111] S3.2、深度可分离卷积;
[0112] 近年来,深度可分离卷积由于其高效性和减少卷积计算量变得非常流行,在很多轻量化模型研究中逐渐取代了标准卷积核。深度可分离卷积由深度卷积和点卷积组成,深度卷积中卷积核的维度与输入数据的通道数相等,并且一个维度与一个通道特征进行卷积操作,最后输出的通道数与输入通道数不变,如图4;点卷积的卷积核尺寸为1x1的,单个卷积核的维度与输入特征通道数相等,然后进行正常卷积操作,输出特征通道数为M,如图5。
[0113] 从图4、图5操作中可知道Depthwise Separable Convolutional卷积操作的计算量是标准卷积的运算量 倍,其中N为输出Map的channel个数,D为卷积核大小,N往往2
较大可以忽略,因此深度可分离卷积可以减少D倍。基于深度可分离卷积的DS‑CNN轻量化模型,内存和计算开销的减小了,模型准确率达到了95.4%。
[0114] S3.3、构建残差结构;
[0115] 残存结构原理如下:设H(x)作为几个堆叠的层底层映射,x为这几个堆叠层的输入。假设多个非线性层可以渐近的逼近复杂函数,则等效于它们可以渐近地近似残存函数,即H(x)‑x。故这些层近似为残差函数:F(x):=H(x)‑x,故原函数表示为:H(x)=F(x)+x,F(x)代表残差模块的推理函数,公式如下:
[0116] y=F(x,wi)+x
[0117] 其中,y代表残差模块的输出,wi为权重。残差结构如图6,残差结构由两部分组成:快捷连接和恒等映射,训练过程中,快捷连接修剪掉多余网络层,恒等映射能让网络变深,而恒等映射主要有两个:跳跃连接和激活函数。F(x)+x操作是通过快捷连接和恒等映射来执行,既引入额外的参数,也不增加计算复杂度,可以直接使用输入输出是相同的维度,此时在残差模块输出后与残差模块输入做“加”操作,因此输入特征被增强了,而且在快捷连接过程中,能自动过滤掉无关的神经节点,零参数为0。当输入维度增加了时,可以选择两个方式处理:增加零来增加维度,或使用点卷积来匹配相应维度,这两种处理方式种Stride都为2。
[0118] S3.4、构建EdgeCRNN模块;
[0119] 如上所示,深度可分离卷积不仅能减少计算量,而且还可以减少模型参数,是当前流行的轻量级结构。残差结构可以提高特征复用,而且不增加计算量。
[0120] 本发明根据残差结构和深度可分离卷积,参考ShuffleNetV2模型,构造了适合语音关键词识别任务的基础模块(Base‑Block)和下采样模块CRNN‑Block,如图7(a)和图7(b)所示。图7(a)中为基础模块,用于重复提取特征,两分支输入相同,输出进行“Add”操作;图7(b)为下采样模块,能减小计算量,相对地增大感受野,两分支输入相同,输出采用“Concat”操作。两种模块中分支操作只作用于“同边”的通道信息,阻隔了不同通道信息交流。本发明采用了ShuffleNetV2提出的“channel shuffle”,增强了不同通道信息的交流。
[0121] S3.5、构建EdgeCRNN模型;
[0122] 卷积层对语音特征中的局部时域和频域相关性能很好的建模,捕获局部特征,但CNN模型应用在时间序列模型中存在一个问题:忽略了语音特征上下文特征联系,需要更多层才能在不同频段和帧之间获得足够的相关性,否则无法在音频数据的时间或频率上进行整体建模;循环递归网络能很好的学习数据上下文特征,应用在语音关键词识别中取得了很好的准确率,Arik利用带CE loss的CRNN,在语音关键词识别中取得了高达97.71%的准确率。在CNN基础上添加RNN,同时通过减少RNN层后全连接层的参数降低FLOPs数量,准确率率达到了96.17%。因此,可以将在CNN模型后面添加RNN结构,用于提取语音时间和频率上的连续特征。
[0123] 本发明利用上述提出的方法和模型,构造了EdgeCRNN网络结构,如表4。EdgeCRNN主要由一组CRNN‑block和Base‑block单元组成,分为三个阶段,每个阶段的第一个单元步长为2,同一个阶段内的其他超参数保持不变,下一个阶段的输出通道数以倍数增加。
[0124] 表4
[0125]
[0126] 特定的用例或应用程序可能需要模型更小和更快,本发明也采用了Width Multiplier宽度乘数α,α的作用是统一每一层网络输入输出通道数。例如,给定乘数α,某一层的输入通道数为M,输出通道数为N,则输入通道数为αM和输出通道为αN。因此,EdgeCRNN 2x代表Width Multiplier为2的EdgeCRNN模型。表5,总结了EdgeCRNN模型在不同α倍数下的参数、FLOPs指标,并测试了在PC端和树莓派3B+上的推理速度。
[0127] 表5
[0128]
[0129] 本发明是在边缘计算终端采集数据、服务器识别语音关键词的模式中防止用户隐私泄露,最大限度地减少模型推理过程中对CPU、内存等资源的消耗。因此,本发明采用特征增强方法、深度可分离卷积和深度残差结构设计了一种轻量级语音关键词识别模型,极大的减少了硬件资源消耗,使得模型能在资源受限的设备上平稳、流畅地运行,进而避免了用户隐私的泄露。
[0130] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。