1.本发明涉及小样本学习和语音信号处理领域,具体涉及一种基于通道注意力深度可分卷积网络的小样本话者辨认方法。
背景技术:2.每个人的声音特征是不同的,利用各个话者(说话人)声音特性的差异,能够有效地对不同语音对应的话者进行分类与识别,这就是话者识别任务。话者识别包括话者确认和话者辨认两种任务。前者是一个二分类问题,旨在确认测试语音是否来自所声称的话者;后者是一个多分类问题,旨在辨认测试语音来自声纹库中的哪个话者。
3.近些年深度神经网络已经被广泛应用到图像、文本、语音领域中,并取得了显著的效果。深度神经网络之所以有如此优秀的性能表现,主要依赖于各类高性能计算设备的更新发展与各种大规模标注数据集的出现。但是在现实生活中,并不是所有任务都有大规模数据集的支持。一方面在特定任务下能够获取的数据资源是十分有限的,另一方面想要构建大规模数据集,标注工作所耗费的人力和物力成本是巨大的。因此想要构建特定任务下的大规模数据集显然是很困难的。没有大规模数据集的支持,深度神经网络就会出现过拟合问题,其性能将会大幅下降。在此情况下提出的小样本学习能很好地应对数据集规模较小情况下的深度神经网络训练问题。因此,将小样本学习应用于图像处理、文本处理和语音处理等任务,是具有实际意义的。
4.卷积神经网络作为最常用的神经网络之一,其核心是利用卷积核对输入特征图的局部信息进行感知,再对信息进行加权,以此得到更高语义层次的深度特征。在常规卷积运算的基础上,人们提出了空洞卷积、分组卷积、深度可分卷积等卷积运算以适应不同的任务需求。其中,深度可分卷积一方面能够提高训练时的计算速度,另一方面,与传统卷积计算相比,大幅减小了计算量与参数量,在减小网络规模的同时获得了更高的精度。同时,通道注意力可以实现通道间的信息交互,从输入特征图中提取出对当前任务更为有益的信息,以此调整网络结构使其能专注当前任务,达到进一步降低网络训练难度的目的。由此看来深度可分卷积和通道注意力非常适合小样本学习任务。
技术实现要素:5.本发明的目的是为了解决样本量不足时的话者辨认问题,提供一种基于通道注意力深度可分卷积网络的小样本话者辨认方法。本发明将通道注意力深度可分卷积网络与小样本学习结合,设计了一种在低资源、少样本条件下进行话者辨认的方法。本发明一方面在减小网络规模的同时能够提升网络性能,缓解小样本数据集训练时产生的过拟合问题,另一方面实现了各特征通道间的信息交互,降低了训练难度,进一步提升了网络的泛化能力。
6.本发明的目的可以通过采取如下技术方案达到:
7.一种基于通道注意力深度可分卷积网络的小样本话者辨认方法,所述小样本话者辨认方法包括以下步骤:
8.s1、从输入语音提取对数梅尔谱特征,其中,所述输入语音包括训练语音、注册语音和测试语音;
9.s2、初始化通道注意力深度可分卷积网络,所述神经网络包括顺序连接的3个深度可分卷积模块、1个通道注意力模块和1个输出模块;
10.s3、将训练语音的对数梅尔谱特征输入通道注意力深度可分卷积网络,迭代更新神经网络参数直至神经网络收敛;
11.s4、将注册语音的对数梅尔谱特征输入已训练的神经网络,得到注册语音的深度特征,计算所有注册语音的深度特征均值矢量并作为对应话者的中心矢量;
12.s5、将测试语音的对数梅尔谱特征输入已训练网络,得到测试语音的深度特征,计算测试语音深度特征与注册语音各话者中心矢量之间的距离,距离最小的中心矢量所对应的话者即为测试语音所属话者。
13.进一步地,所述步骤s1中对数梅尔谱特征提取过程如下:
14.s1.1、采用一阶高通滤波器对输入语音进行预加重处理,一阶高通滤波器的传递函数为h(z)=1
‑
αz
‑1,其中0.9≤α≤1;
15.s1.2、对预加重后的输入语音进行分帧处理,得到短时语音帧;
16.s1.3、对短时语音帧进行加窗处理:选择汉明窗作为窗函数,将窗函数与每帧语音相乘得到加窗后的短时语音帧;
17.s1.4、对加窗的短时语音帧进行离散傅里叶变换,得到对应的线性谱,再采用梅尔滤波器将线性频谱转化为梅尔谱,最后对梅尔谱取对数得到对数梅尔谱。
18.进一步地,所述深度可分卷积模块包括顺序连接的深度可分卷积单元、批标准化单元和第一激励单元,
19.所述深度可分卷积单元不同于传统卷积单元,用于依次完成通道卷积和逐点卷积操作,其中,
20.所述通道卷积对特征图的每个通道分别进行卷积操作,卷积核个数等于通道数,将每个通道的结果依次拼接起来;
21.所述逐点卷积采用1
×
1的卷积核对每个通道逐点卷积,卷积核个数与卷积输出的通道维数相同;
22.所述批标准化单元既可以解决网络训练过程中出现的梯度爆炸问题,又能够加速网络训练,用于依次完成近似白化预处理和变换重构操作,其中,
23.所述近似白化预处理的公式如下:
24.所述变换重构的公式如下:
25.其中,e[x
(i)
]、分别表示第i个语音样本对应特征矢量x
(i)
的均值与标准差,是近似白化预处理后的结果,y
(i)
是重构后的特征向量,γ
(i)
、β
(i)
是可调节的重构参数;
[0026]
所述第一激励单元采用relu作为激活函数,用于增加神经网络层与层之间的非线性关系。
[0027]
进一步地,所述3个深度可分卷积模块中通道卷积所用卷积核大小均为3
×
3,卷积核个数与输入通道的维数m相同;逐点卷积所用的卷积核大小为1
×
1,卷积核个数与输出通道的维数n相同,分别取128、256、512;所述通道注意力模块包括两个节点数分别为128和512的全连接层;所述输出模块包括两个全连接层,第一全连接层的节点数为512,第一全连接层的输出结果作为该话者语音样本的深度特征,第二全连接层的节点数为训练集话者的个数;所述第一激励单元中激活函数选用relu,得到归一化概率,从而进行分类。
[0028]
进一步地,所述通道注意力模块包括顺序连接的池化单元、全连接层和第二激励单元;
[0029]
所述池化单元用于完成最大池化和平均池化两种池化操作,用于对输入特征的时间维度信息进行压缩;
[0030]
所述全连接层的权值是共享的,对上述最大池化和平均池化操作后的特征向量分别进行线性映射,再对这两个线性映射后的向量进行元素求和;
[0031]
所述第二激励单元选取sigmoid作为激活函数,其表达式为:
[0032][0033]
对上述全连接层进行元素求和后的向量重新建模,通过sigmoid激活函数获得每个通道归一化后的权重值,权重值取值范围为0~1,归一化后无用信息对应的权重将趋于0,重要信息对应的权重将趋于1,得到通道注意力权重向量。
[0034]
进一步地,所述步骤s3的训练过程包括:
[0035]
s3.1、选取与注册语音中的话者互不相同的其他话者的语音作为训练语音,采用k
‑
way、n
‑
shot的方式训练网络,即训练过程每次选取k个话者,每个话者选择n+m个语音样本,将k个话者对应的n个语音样本作为支撑集用于训练模型,k个话者对应的m个语音样本则用于构成询问集;
[0036]
为保持训练与测试的一致性,k与n的值与测试语音的对应值相同;本发明中k=5,n=10,即每次训练时随机抽取5个不同的话者,每个话者选取11个语音样本,其中10个语音样本加入支撑集,1个语音样本加入询问集;
[0037]
s3.2、采用步骤s1提取上述支撑集和询问集中的语音样本的对数梅尔谱特征;
[0038]
s3.3、将上述支撑集语音样本的对数梅尔谱特征输入通道注意力深度可分卷积网络,从而更新神经网络参数;
[0039]
s3.4、计算上述支撑集中各话者所有语音样本的深度特征的均值矢量作为该话者的中心矢量;
[0040]
s3.5、计算上述询问集中各话者语音样本的深度特征与各话者中心矢量之间的欧式距离。
[0041]
进一步地,所述步骤s3中用于神经网络训练的损失函数如下:
[0042][0043]
其中,x表示当前用于判决的话者,c
φ
(x)表示支撑集当前话者中心矢量,i表示询问集中属于支撑集当前判决话者的语音样本个数,q
i
表示询问集中属于支撑集当前判决话者的语音样本的特征矢量,j表示询问集中不属于支撑集的当前判决话者的语音样本个数,
q
j
表示询问集中不属于支撑集的当前判决话者的语音样本的特征矢量;euc(
·
)表示两个特征矢量之间的欧氏距离;
[0044]
训练过程中,通过不断减小loss值,缩小相同话者训练语音的深度特征与中心矢量之间的距离,增大来自不同话者训练语音的深度特征与中心矢量之间的距离。
[0045]
进一步地,所述步骤s4的注册过程如下:
[0046]
s4.1、将小样本语音数据集以k
‑
way、n
‑
shot的方式进行采样,即每次选取k个话者,每个话者选择n个语音样本,将k个话者对应的n个语音样本作为用于注册的支撑集,采用步骤s1提取该支撑集中各话者语音的对数梅尔谱特征;
[0047]
s4.2、将支撑集中各话者语音的对数梅尔谱特征输入已训练的神经网络,得到各话者语音的深度特征;
[0048]
s4.3、计算支撑集中各话者所有语音的深度特征的均值作为该话者的中心矢量。
[0049]
进一步地,所述步骤s5的测试过程如下:
[0050]
s5.1、采用步骤s1提取测试集各语音样本的对数梅尔谱特征;
[0051]
s5.2、将测试集中各语音样本的对数梅尔谱特征输入已训练的神经网络,得到各话者语音的深度特征;
[0052]
s5.3、计算测试集中各语音样本深度特征与各话者中心矢量之间的距离,基于距离最小的原则在输出层得到测试语音所属的话者类别。
[0053]
本发明相对于现有技术具有如下的优点及效果:
[0054]
1)本发明使用深度可分卷积代替传统卷积,一方面从音频样本有效提取更高语义层次的深度特征的同时提高了计算速度;另一方面大幅降低了训练时的参数量和计算量,缩小了网络规模,缓解了神经网络训练时的过拟合问题,提升了神经网络性能;
[0055]
2)本发明引入通道注意力,可以从特征图获得对话者辨认有用的重要通道信息,降低网络的训练难度,提高了网络泛化能力。
附图说明
[0056]
图1是本发明实施例公开的一种基于通道注意力深度可分卷积网络的小样本话者辨认方法中训练流程图;
[0057]
图2是本发明实施例公开的一种基于通道注意力深度可分卷积网络的小样本话者辨认方法中注册与测试流程图;
[0058]
图3是本发明实施例公开的基于通道注意力深度可分卷积网络的结构图;
[0059]
图4是本发明实施例中深度可分卷积计算流程图;
[0060]
图5是本发明实施例中通道注意力运算流程图。
具体实施方式
[0061]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0062]
实施例
[0063]
图1和图2是一种基于通道注意力深度可分卷积网络的小样本话者辨认的一个实施例流程图,包含了训练、注册与测试过程,具体步骤如下:
[0064]
s1、从输入语音提取对数梅尔谱特征,其中,输入语音包括训练语音、注册语音和测试语音;
[0065]
本实施例中,步骤s1中提取对数梅尔谱特征具体包括以下步骤:
[0066]
s1.1采用一阶高通滤波器对输入语音进行预加重处理,滤波器的传递函数为h(z)=1
‑
αz
‑1,其中0.9≤α≤1;
[0067]
s1.2、对预加重后的输入语音进行分帧处理,得到短时语音帧;
[0068]
s1.3、对短时语音帧进行加窗处理:选择汉明窗作为窗函数,将窗函数与每帧语音相乘得到加窗后的短时语音帧;
[0069]
s1.4、对加窗的短时语音帧进行离散傅里叶变换,得到对应的线性谱,再采用梅尔滤波器将线性频谱转化为梅尔谱,最后对梅尔谱取对数得到对数梅尔谱,把对数梅尔频谱按顺序排列即可得到一个特征矩阵,特征矩阵的行数表示帧的顺序,列数表示特征维度;
[0070]
s2、初始化通道注意力深度可分卷积网络,具体包括3个深度可分卷积模块、1个通道注意力模块和1个输出模块。其中,通道注意力深度可分卷积网络如图3所示。
[0071]
其中,所述深度可分卷积模块采用通道卷积和逐点卷积的方式,与传统卷积运算相比,大大减少了模型训练时所需的参数量,缩小了网络规模,使得模型变得轻量化,能够很好地缓解小样本数据训练神经网络时产生的过拟合问题,以提升网络的性能;采用批标准化的操作既可以解决网络训练过程中出现的梯度爆炸问题,又能够加速网络训练;通道注意力模块能够增加特征通道间的信息交互,有效地提取出特征图中有益于当前任务的局部信息,调整网络结构使其专注于当前任务,以此降低网络的训练难度,提升网络的泛化能力;
[0072]
其中,深度可分卷积模块包括顺序连接的深度可分卷积单元、批标准化单元和第一激励单元。深度可分卷积模块的深度可分卷积过程如图4所示,
[0073]
(1)深度可分卷积单元不同于传统卷积单元,用于依次完成通道卷积和逐点卷积操作,其中,
[0074]
通道卷积对特征图的每个通道分别进行卷积操作,卷积核个数等于通道数,将每个通道的结果依次拼接起来;
[0075]
逐点卷积采用1
×
1的卷积核对每个通道逐点卷积,卷积核个数与卷积输出的通道维数相同;
[0076]
(2)批标准化单元既可以解决网络训练过程中出现的梯度爆炸问题,又能够加速网络训练,用于完成近似白化预处理和变换重构操作,其中,
[0077]
近似白化预处理的公式如下:
[0078]
变换重构的公式如下:
[0079]
其中,e[x
(i)
]、分别表示第i个语音样本对应特征矢量x
(i)
的均值与标准差,是近似白化预处理后的结果,y
(i)
是重构后的特征向量,γ
(i)
、β
(i)
是可调节的重构参数。
[0080]
(3)第一激励单元采用relu作为激活函数,用于增加神经网络层与层之间的非线性关系。
[0081]
本实施例中,3个深度可分卷积模块中通道卷积所用卷积核大小均为3
×
3,卷积核个数与输入通道的维数m相同;逐点卷积所用的卷积核大小为1
×
1,卷积核个数与输出通道的维数n相同,分别取128、256、512;所述通道注意力模块包括两个节点数分别为128和512的全连接层;所述输出模块包括两个全连接层,第一全连接层的节点数为512,第一全连接层的输出结果作为该话者语音样本的深度特征,第二全连接层的节点数为训练集话者的个数;所述第一激励单元中激活函数选用relu,得到归一化概率,从而进行分类。
[0082]
其中,通道注意力模块包括顺序连接的池化单元、全连接层和第二激励单元;通道注意力运算过程如图5所示。
[0083]
(1)池化单元:
[0084]
池化单元用于完成最大池化和平均池化两种池化操作,用于对输入特征的时间维度信息进行压缩。
[0085]
(2)全连接层:
[0086]
全连接层的权值是共享的,对上述最大池化和平均池化操作后的特征向量分别进行线性映射,再对这两个线性映射后的向量进行元素求和。
[0087]
(3)第二激励单元:
[0088]
第二激励单元选取sigmoid作为激活函数,其表达式为:
[0089][0090]
对上述全连接层进行元素求和后的向量重新建模,通过sigmoid激活函数获得每个通道归一化后的权重值,权重值取值范围为0~1,归一化后无用信息对应的权重将趋于0,重要信息对应的权重将趋于1,得到通道注意力权重向量。
[0091]
s3、将训练语音的对数梅尔谱特征输入通道注意力深度可分卷积网络,迭代更新神经网络参数直至神经网络收敛;
[0092]
在本实施例中,训练通道注意力深度可分卷积网络,具体步骤如下:
[0093]
s3.1、选取与注册语音中的话者互不相同的其他话者的语音作为训练语音,采用k
‑
way、n
‑
shot的方式训练网络,即训练过程每次选取k个话者,每个话者选择n+m个语音样本,将k个话者对应的n个语音样本作为支撑集用于训练模型,k个话者对应的m个语音样本则用于构成询问集;
[0094]
为保持训练与测试的一致性,k与n的值与测试语音的对应值相同;本发明中k=5,n=10,即每次训练时随机抽取5个不同的话者,每个话者选取11个语音样本,其中10个语音样本加入支撑集,1个语音样本加入询问集;
[0095]
s3.2、采用步骤s1提取上述支撑集和询问集中的语音样本的对数梅尔谱特征;
[0096]
s3.3、将上述支撑集语音样本的对数梅尔谱特征输入通道注意力深度可分卷积网络,从而更新神经网络参数;
[0097]
s3.4、计算上述支撑集中各话者所有语音样本的深度特征的均值矢量作为该话者的中心矢量;
[0098]
s3.5、计算上述询问集中各话者语音样本的深度特征与各话者中心矢量之间的欧
式距离。
[0099]
本实施例中,步骤s3中用于神经网络训练的损失函数如下:
[0100][0101]
其中,x表示当前用于判决的话者,c
φ
(x)表示支撑集当前话者中心矢量,i表示询问集中属于支撑集当前判决话者的语音样本个数,q
i
表示询问集中属于支撑集当前判决话者的语音样本的特征矢量,j表示询问集中不属于支撑集的当前判决话者的语音样本个数,q
j
表示询问集中不属于支撑集的当前判决话者的语音样本的特征矢量;euc(
·
)表示两个特征矢量之间的欧氏距离;
[0102]
训练过程中,通过不断减小loss值,缩小相同话者训练语音的深度特征与中心矢量之间的距离,增大来自不同话者训练语音的深度特征与中心矢量之间的距离。
[0103]
s4、将注册语音的对数梅尔谱特征输入已训练的神经网络,得到注册语音的深度特征,计算所有注册语音的深度特征的均值矢量并作为对应话者的中心矢量;
[0104]
本实施例中,利用小样本数据集进行话者注册的具体步骤如下:
[0105]
s4.1、将小样本语音数据集以k
‑
way、n
‑
shot的方式进行采样,即每次选取k个话者,每个话者选择n个语音样本,将k个话者对应的n个语音样本作为用于注册的支撑集,采用步骤s1提取该支撑集中各话者语音的对数梅尔谱特征;
[0106]
s4.2、将支撑集中各话者语音的对数梅尔谱特征输入已训练的神经网络,得到各话者语音的深度特征;
[0107]
s4.3、计算支撑集中各话者所有语音的深度特征的均值作为该话者的中心矢量;
[0108]
s5、将测试语音的对数梅尔谱特征输入已训练网络,得到测试语音的深度特征,计算测试语音深度特征与注册语音各话者中心矢量之间的距离,距离最小的中心矢量所对应的话者即为测试语音所属话者;
[0109]
本实施例中,利用测试集进行话者辨认的具体步骤如下:
[0110]
s5.1、采用步骤s1提取测试集各语音样本的对数梅尔谱特征;
[0111]
s5.2、将测试集中各语音样本的对数梅尔谱特征输入已训练的神经网络,得到各话者语音的深度特征;
[0112]
s5.3、计算测试集中各语音样本深度特征与各话者中心矢量之间的距离,基于距离最小的原则在输出层得到测试语音所属的话者类别。
[0113]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。