发明内容
本发明的目的是为了解决现有技术中存在的技术问题,可以在不增加网络深度的情况下,更好的提取多尺度的特征,从而实现更为准确的进行声纹识别。
第一方面,本发明提供了一种用于声纹识别的全连接多尺度的残差网络,包括输入层,卷积层,N个依次连接的残差模块,以及全连接层;其中,
所述输入层,用于接收待识别的语音信息对应的特征向量;
所述卷积层,用于对特征向量进行卷积处理以得到第一特征图;
对于N个残差模块中的第i个残差模块,用于:
接收当前特征图,其中,当前特征图为第一特征图,或者为第i-1个残差模块输出的第六特征图,N为大于1的整数,i大于0且不大于N;以及,
根据长度和宽度均为1的第一卷积核,对当前特征图进行卷积处理以得到第二特征图;
将第二特征图划分为至少两个第三特征图,其中所述至少两个第三特征图与存在顺序关系的至少两个第二卷积核一一对应;
针对至少两个第二卷积核中任意的第j个第二卷积核,确定出第j个第二卷积核对应的至少一个第四特征图,并根据第j个卷积核对所述至少一个第四特征图进行卷积处理以得到第五特征图;其中,第j个第二卷积核对应的至少一个第四特征图,包括第j个卷积核对应的第三特征图,以及包括位于第j个第二卷积核之前的每个第二卷积核各自对应的第五特征图;根据长度和宽度均为1的第三卷积核,对所述至少两个第二卷积核各自对应的第五特征图进行卷积处理,得到并输出第六特征图;
所述全连接层,用于根据第N个残差模块输出的第六特征图,预测并输出所述声音信息对应的分类信息,所述分类信息用于指示发出所述声音信息的说话人。
优选地,所述残差网络还包括第一池化层,用于接收来自所述卷积层的第一特征图,对其接收的第一特征图进行最大池化,并将进行最大池化后的第一特征图输出至第一个残差模块。
优选地,所述残差网络还包括第二池化层,用于接收来自第N个残差模块的第六特征图,对其接收的第六特征图进行均值池化,并将进行均值池化后的第六特征图输出至所述全连接层。
另一方面,本发明提供了一种利用全连接多尺度的残差网络进行声纹识别的方法,所述残差网络包括输入层,卷积层,N个依次连接的残差模块,以及全连接层;所述方法包括:
利用所述输入层接收待识别的语音信息对应的特征向量;
利用所述卷积层对特征向量进行卷积处理以得到第一特征图;
依次利用N个残差模块中的第i个残差模块,执行:
接收当前特征图,其中,当前特征图为第一特征图,或者为第i-1个残差模块输出的第六特征图,N为大于1的整数,i大于0且不大于N;以及,
根据长度和宽度均为1的第一卷积核,对当前特征图进行卷积处理以得到第二特征图;
将第二特征图划分为至少两个第三特征图,其中所述至少两个第三特征图与存在顺序关系的至少两个第二卷积核一一对应;
针对至少两个第二卷积核中任意的第j个第二卷积核,确定出第j个第二卷积核对应的至少一个第四特征图,并根据第j个卷积核对所述至少一个第四特征图进行卷积处理以得到第五特征图;其中,第j个第二卷积核对应的至少一个第四特征图,包括第j个卷积核对应的第三特征图,以及包括位于第j个第二卷积核之前的每个第二卷积核各自对应的第五特征图;根据长度和宽度均为1的第三卷积核,对所述至少两个第二卷积核各自对应的第五特征图进行卷积处理,得到并输出第六特征图;
利用所述全连接层根据第N个残差模块输出的第六特征图,预测并输出所述声音信息对应的分类信息,所述分类信息用于指示发出所述声音信息的说话人。
优选地,所述残差网络还包括第一池化层;所述方法还包括:
利用所述第一池化层接收来自所述卷积层的第一特征图,对其接收的第一特征图进行最大池化,并将进行最大池化后的第一特征图输出至第一个残差模块。
优选地,所述残差网络还包括第二池化层;所述方法还包括:
利用所述第二池化层接收来自第N个残差模块的第六特征图,对其接收的第六特征图进行均值池化,并将进行均值池化后的第六特征图输出至所述全连接层。
根据本申请的技术方案,在残差模块中利用包括至少两个第二卷积的卷积核组,替代单个长度和宽度均为3的卷积核,可以更好的提取多尺度的特征。在每个残差模块中,可以将输入的特征图经过长度和宽度均为1的第一卷积核的卷积处理后的输出分成多组(即分成多个第三特征图),连接到后面所有的第二卷积核的输入,最后将经过多个第二卷积核输出的特征图拼接在一起,由长度和宽度均为1的第三卷积核对其进行卷积处理,实现多尺度信息的融合。如此,可以在不增加网络深度的情况下,更好的提取多尺度的特征,从而实现更为准确的进行声纹识别。
具体实施方式
下面结合附图和实施例,对本发明所提供的技术方案做进一步的详细描述。
图1为本申请实施例中提供的一种用于声纹识别的全连接多尺度的残差网络。如图1所示,该残差网络可以包括输入层,卷积层,N个依次连接的残差模块(也可以被表述为卷积模块),以及全连接层。可选地,该残差网络还可以包括:第一池化层,和/或,第二池化层。其中,为了方便描述,将第一个残差模块表述为残差模块M1,将第N个残差模块表述为残差模块M2,N为大于1的整数。在实际业务场景中,残差模块M1和残差模块M2之间还可以连接一个或多个残差模块。示例性的,该残差网络可以包括50个网络层,每个残差模块包括3个网络层,残差模块M1和残差模块M2之间还可以包括14个依次连接的残差模块。
本申请实施例中,可以按照如下过程训练得到如图1所示的用于声纹识别的全连接多尺度的残差网络。
首先,可以对训练集中的每条语音信息分别进行加噪处理,对未进行加噪处理的语音信息和进行加噪处理后的语音信息,均提取其64维声学特征Filter bank(Fbank)。
具体地,请参考图2,提取Fbank的过程可以包括:
接收输入语音,输入语音可以是训练集中的未进行加噪处理的语音信息,也可以是进行加噪处理后的语音信息。
对输入语音进行预加重,加强高频。
对预加重后的输入语音进行分帧,将不定长度的输入语音切分成固定长度的小段语音帧。
对固定长度的小段语音进行加窗。由于语音在长范围内是不停变动的,没有固定的特性无法做处理,所以将每一帧语音代入窗函数,窗外的值设定为0,其目的是消除各帧语音两端可能会造成的信号不连续性。这样可以降低傅里叶变换后旁瓣的强度,取得更高质量的频谱。
进行快速傅里叶变换(FFT),由于进行分帧及加窗后的小段语音信息仍然是时域信号,需要将其转变为频域信号,傅里叶变换将信号转为频域可以将复杂声波分成各种频率的声波,方便神经网络进行学习。最终结果是个频率范围内的重要程度(能量)。
FFT后的频域信号进到梅尔滤波器,在Mel频谱上进行倒谱分析,获得Mel频率倒谱系数MFCC。
对数功率,取Mel频率倒谱系数MFCC的对数。
Mel频率倒谱系数MFCC的对数提取Fbank特征。
接着,统计训练集中所有语音信息的帧长,然后选取(min(1/2max(帧长),min(帧长)),max(1/2max(帧长),min(帧长)))的区间作为块的大小,对每一批大小的语音信息进行特征图输入大小的统一。
接着,在远场场景下,对每一条语音信息的64维声学特征Fbank进行随机的特征掩蔽,掩蔽的方法为,对输入特征的数值进行5%到15%范围的随机置零。
接着,搭建初始化的全连接多尺度的残差网络,比如搭建50层的全连接多尺度残差网络(FC-Res2Net)。
接着,可以根据各语音信息的64维声学特征,采用交叉熵函数(cross entropy)作为损失函数,用随机梯度下降作为优化器,进行梯度计算,同时对损失函数计算出的梯度反向传播,更新残差网络的参数。
表1
如上表1所示,50层FC-Res2Net的结构可以包含[3,4,6,3]一共16个残差模块。训练过程中,输入层可以将经过随机特征掩蔽过的64维声学特征Fbank的特征向量,传入到卷积层进行卷积处理,其中,卷积层的卷积核为长宽尺寸都为7,通道数为16,步长为2的卷积核。卷积处理后得到的特征图进入到第一池化层,进行最大池化处理,其中,最大池化使用的卷积核为长宽尺寸都为3,通道数为16的卷积核。接着,最大池化后的特征图进入第一个残差模块,从第一个残差模块的输入开始,到最后一个残差模块结束,再经过一个二维的第二池化层,这样,一个批(batch)大小的语音信息的所有声学特征被表示成了一个维度是(batchsize)×512维的特征向量。再经过一个全连接的分类层,得到预测的分类信息。
初始化的全连接多尺度的残差网络在经过多次迭代更新之后,即可得到用于进行声纹识别的全连接多尺度的残差网络。
在得到用于进行声纹识别的全连接多尺度的残差网络之后,即可利用该残差网络进行声纹识别。请参考图1,其具体过程可以包括:
首先,对于待识别的语音信息,可以获取该语音信息的64维的特征向量。
接着,可以利用输入层接收待识别的语音信息对应的特征向量,并将特征向量传输至卷积层。
接着,可以利用卷积层对特征向量进行卷积处理以得到第一特征图,并将第一特征图输出至其连接的第一池化层。
接着,可以利用接收来自卷积层的第一特征图,对其接收的第一特征图进行最大池化,并将进行最大池化后的第一特征图输出至第一个残差模块。请参考图1,第一特征图可以被输出至残差模块M1。
接着,请参考图3,利用N个残差模块中的第i个残差模块,执行A1和A2:
A1:接收当前特征图,其中,当前特征图为第一特征图,或者为第i-1个残差模块输出的第六特征图,N为大于1的整数,i大于0且不大于N。示例性的,执行A1的残差模块为残差模块M1,则当前特征图为来自第一池化层的第一特征图;执行A1的残差模块为残差模块M2,则当前特征图为来自第N-1个残差模块的第六特征图。
A2:根据长度和宽度均为1的第一卷积核,对当前特征图进行卷积处理以得到第二特征图。
A3,将第二特征图划分为至少两个第三特征图,其中所述至少两个第三特征图与存在顺序关系的至少两个第二卷积核一一对应。
可以理解,第二卷积核的数量为至少两个,这里并不对第二卷积核的具体数量以及每个第二卷积核的尺寸进行限制。示例性的,第二卷积核的数量可以为4个,每个第二卷积核的长度和宽度均为3。
以存在顺序关系的至少两个第二卷积核依次为第二卷积核F1、F2、F3、F4共4个卷积核为例,可以将第二特征图依次划分为4组,或者说将第二特征图划分为4个第三特征图。这样,可以得到F1对应的第三特征图X1,F2对应的第三特征图X2,F3对应的第三特征图X3,F4对应的第三特征图X4。
A4:针对至少两个第二卷积核中任意的第j个第二卷积核,确定出第j个第二卷积核对应的至少一个第四特征图,并根据第j个卷积核对所述至少一个第四特征图进行卷积处理以得到第五特征图;其中,第j个第二卷积核对应的至少一个第四特征图,包括第j个卷积核对应的第三特征图,以及包括位于第j个第二卷积核之前的每个第二卷积核各自对应的第五特征图。
请参考图3,对于第一个第二卷积核F1,其对应的至少一个第四特征图可以包括其自身对应的第三特征图X1;根据F1对X1进行卷积处理,可以得到F1对应的第五特征图y1。对于第二个第二卷积核F2,其对应的至少一个第四特征图可以包括其自身对应的第三特征图X2,以及F1对应的第五特征图y1;根据F2对X2和y1进行卷积处理,可以得到F2对应的第五特征图y2。对于第三个第二卷积核F3,其对应的至少一个第四特征图可以包括其自身对应的第三特征图X3,以及F1对应的第五特征图y1、F2对应的第五特征图y2;根据F3对X3、y1和y2进行卷积处理,可以得到F3对应的第五特征图y3。对于第四个第二卷积核F4,其对应的至少一个第四特征图可以包括其自身对应的第三特征图X4,以及F1对应的第五特征图y1、F2对应的第五特征图y2、F3对应的第五特征图y3;根据F4对X4、y1、y2和y3进行卷积处理,可以得到F4对应的第五特征图y4。
A5:根据长度和宽度均为1的第三卷积核,对所述至少两个第二卷积核各自对应的第五特征图进行卷积处理,得到并输出第六特征图。示例性的,可以对第二卷积核X1对应的第五特征图y1、第二卷积核X2对应的第五特征图y2、第二卷积核X3对应的第五特征图y3以及第二卷积核X4对应的第五特征图y4进行卷积处理,得到并输出第六特征图。
接着,利用第二池化层接收来自第N个残差模块的第六特征图,对其接收的第六特征图进行均值池化,并将进行均值池化后的第六特征图输出至所述全连接层。
最后,利用所述全连接层根据第N个残差模块输出的第六特征图,预测并输出所述声音信息对应的分类信息,所述分类信息用于指示发出所述声音信息的说话人。
在此处所提供的说明书中,说明了大量的具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下完成实现。在一些示例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。