一种基于原型分类器的完全小样本类别增量音频分类方法
- 国知局
- 2024-06-21 11:44:05
本发明属于音频信号处理领域,具体涉及一种基于原型分类器的完全小样本类别增量音频分类方法。
背景技术:
1、音频分类旨在对自然声学环境中的各种声音进行分类。它是智能辅助驾驶、医疗保健、野生动物保护、生态环境检测、智能家居、智能穿戴监测、设备工况监测、智能机器人等领域的重要技术基础。目前大部分智能音频终端可辨识的音频类别都是有限且固定的。然而,在自然声学环境中,智能音频终端接触到的音频类别一般是变化的,且很多应用场景下存在样本稀缺的问题。
2、目前的音频分类方法可以分为四种。大样本音频分类方法采用大量训练样本构建模型,能够识别预设音频类别,但是不能识别增量类。小样本音频分类方法能够基于少量样本学习增量类,但不能记住旧类。类别增量音频分类方法能够不断学习增量类且不忘旧类,但基类和增量环节均需要大量训练样本。小样本类别增量音频分类方法能够基于增量类的少量训练样本不断学习增量类且不忘旧类,但基类环节仍需要大量训练样本。因此,目前的音频分类方法在基础训练环节都采用大样本的标准监督学习方式训练模型,然而,在很多实际应用场景中,基类环节和增量环节的各个音频类别都只有少量训练样本,即完全小样本。当基类环节和增量环节都采用小样本学习方法进行模型训练时,此种音频分类方法就是完全小样本类别增量音频分类方法。
3、由于基类只有少量训练样本,模型得不到充分训练将导致表征提取器的表征能力较差、模型对旧类的记忆能力较弱等问题。针对上述问题,目前亟待提出一种基于原型分类器的完全小样本类别增量音频分类方法。
技术实现思路
1、本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于原型分类器的完全小样本类别增量音频分类方法,通过将小样本学习、注意力机制与原型网络等进行有机结合,实现智能音频终端在完全小样本训练条件下不断学习增量类且不忘旧类的能力。
2、本发明的目的可以通过采取如下技术方案达到:
3、一种基于原型分类器的完全小样本类别增量音频分类方法,所述音频分类方法包括以下步骤:
4、s1、从输入音频样本提取对数梅尔谱,其中,所述输入音频样本划分为类别不相交的基础环节音频类别和多个增量环节音频类别,以下基础环节音频类别简称基类,增量环节音频类别简称增量类;
5、s2、初始化自注意力卷积神经网络,其中,自注意力卷积神经网络包括解耦的表征提取器、原型分类器和原型自适应模块;
6、s3、在基础环节中,按照训练数据使用策略,采用小样本学习方法和交叉熵损失函数分别训练表征提取器和原型自适应模块,对表征提取器和原型自适应模块的参数进行优化直到收敛,训练完成后固定表征提取器和原型自适应模块的参数;
7、s4、将基类音频样本的对数梅尔谱特征输入所述表征提取器得到基类表征,然后计算同类别表征的均值得到不同的基类原型,再将基类原型输入原型分类器进行更新;其中,原型分类器更新是使用基类原型替换初始化原型分类器中的所有原型;
8、s5、在增量环节中,将增量类音频样本的对数梅尔谱特征输入所述表征提取器得到增量类表征,与前一个增量环节中原型分类器的所有原型拼接并输入原型自适应模块进行原型自适应调整,得到调整后的基类原型和增量类原型,再将调整后的基类原型和增量类原型输入原型分类器进行更新;
9、s6、将测试音频样本提取对数梅尔谱,输入经过训练的自注意力卷积神经网络,通过表征提取器得到表征,计算表征与原型分类器中各原型之间的余弦距离,距离最小的原型所对应的类别即为测试音频样本所属类别,得到音频分类结果。
10、进一步地,所述步骤s1中对数梅尔谱的提取过程如下:
11、s1.1、采用一阶高通滤波器对音频样本进行预加重处理,滤波器的传递函数为h(z)=1-αz-1,其中α表示高通滤波器的系数,取值范围为0~1,预加重可提高音频质量,提取到较纯净的原始音频信号。
12、s1.2、将预加重后的音频样本切分成短时帧,保证输入信号是平稳的,然后与窗函数相乘得到加窗的短时音频帧,避免出现吉布斯效应;
13、s1.3、对加窗的短时音频帧进行离散傅里叶变换,得到该帧的线性谱;
14、s1.4、采用梅尔滤波器将线性频谱转化为梅尔谱,再对梅尔谱取对数得到对数梅尔谱。
15、进一步的,所述自注意力卷积神经网络包括表征提取器、原型分类器和原型自适应模块。
16、所述表征提取器是残差自注意力卷积神经网络的主干部分,表征提取器的结构包括顺序连接的一个卷积层、四个残差层、一个平均池化层和一个全连接层,其中,全连接层仅用于基础环节的训练。
17、卷积层包括顺序连接的一个卷积层(64个3×3卷积核)、一个批标准化层、一个relu非线性激活层和一个最大值池化层。卷积层将输入特征图转化为特征映射,逐渐减小空间分辨率,引入非线性,同时保留重要的特征用于后续层的处理,有助于网络更好地理解输入特征图并提取适当的特征。
18、四个残差层具有不同的参数,每个残差层由两个残差块组成,每个残差块包括两个卷积层和按位相加操作,每个卷积层后应用一个relu非线性激活层。通过四个残差层逐渐提取语义特征、增加网络深度,从而使模型能够更好地学习和表示音频的特征。
19、平均池化层用于完成平均池化操作,减小特征图的维度和计算复杂度,有助于降低参数量并提高模型的泛化能力。
20、全连接层将上述最大池化操作后的特征向量线性映射为最终输出值。
21、所述原型自适应模块包括注意力原型生成子模块和原型查询表征适应子模块,其中,注意力原型生成模块用于生成具有表征性的原型,该模块的输入是增量类支撑表征,输出是增量类原型。原型查询表征适应模块用于更新所有原型和查询表征,该模块的输入是旧类原型、增量类原型和查询表征,输出是更新后的原型和查询表征。
22、所述注意力原型生成模块包括顺序连接的一个自注意力层、一个批标准化层和一个均值计算层,其中,自注意力层用于获取增量类支撑表征之间的相互关系,有助于生成更具有表征性的增量类原型;批标准化层用于增加训练的稳定性、提高泛化能力、维护特征多样性以及帮助梯度传播;均值计算层用于计算增量类支撑表征的均值矢量以得到增量类原型。
23、所述原型查询表征适应模块包括顺序连接的一个自注意力层、一个标准化层、一个向量分割层和余弦相似度计算层,其中,自注意力层用于获取旧类原型、增量类原型以及增量类查询表征之间的相互关系,使得更新后的原型类内紧凑、类间分散;批标准化层用于增加训练的稳定性、提高泛化能力、维护特征多样性以及帮助梯度传播;向量分割层将批标准化层的输出结果分割为调整后的原型和查询表征。
24、进一步地,所述步骤s3过程如下:
25、s3.1、使用基类音频样本中的部分样本,采用小样本学习方法和交叉熵损失函数预训练表征提取器,预训练表征提取器用来模拟伪增量情境训练中的表征提取器,为步骤s3.2做准备;
26、s3.2、使用基类音频样本中的全部样本,采用小样本伪增量情境训练方法和交叉熵损失函数训练原型自适应模块,小样本伪增量情境训练方法可模拟增量识别任务,训练模型增量识别的能力;
27、s3.3、使用基类音频样本中的全部样本,重复步骤s3.1重新训练表征提取器,该表征提取器的参数在所有增量环节固定不变,用于提取增量环节音频样本的深度表征。
28、进一步地,所述步骤s3.1中表征提取器预训练过程如下:
29、s3.1.1、将基类音频样本划分为类别不重叠的两个子集和采用预训练表征提取器,用来模拟增量任务中的基类音频样本;
30、s3.1.2、采用小样本学习方法训练表征提取器,将随机划分为多个子集,每个子集包含n类且每类k个支撑样本和k个查询样本,其中,k个支撑样本构成预训练支撑集,k个查询样本构成预训练查询集,通过多轮不同小样本任务的训练,帮助模型更快速地适应新的小样本任务;
31、s3.1.3、将预训练支撑集和预训练查询集中音频样本的对数梅尔谱输入表征提取器,得到支撑表征和查询表征,计算支撑集中不同类别音频样本的支撑表征的均值矢量并作为支撑集中不同类别音频样本的原型;
32、s3.1.4、计算查询表征和各个原型之间的距离,通过最小化交叉熵损失函数迭代更新表征提取器参数,得到经过预训练的表征提取器。
33、进一步地,所述步骤s3.1中原型计算公式如下:
34、
35、式中pn表示类别n的原型,n=1,2,..,n,表示第i个支撑样本的对数梅尔谱,i=1,2,..,k,fα(·)表示表征提取函数,α表示表征提取器的参数;
36、所述步骤s3.1中用于训练表征提取器的交叉熵损失函数定义如下:
37、
38、式中表示第i个查询样本的对数梅尔谱,y表示的类别标签,表示的表征,py和pn分别表示类别y和n的原型,表示查询表征与原型之间的余弦距离。
39、进一步地,所述步骤s3.2中原型自适应模块训练过程如下:
40、s3.2.1、将基类音频样本集划分两个子集和从中随机抽取n类且每类k个音频样本作为第一支撑集s1,在所抽取n类的剩余样本中随机抽取k个音频样本作为第一查询集q1;用同样的方法从中随机抽取音频样本得到第二支撑集s2和第二查询集q2,s1和s2构成第三支撑集s3,q1和q2构成第三查询集q3,所述第一支撑集s1和第二支撑集s2分别用来模拟基类支撑集和增量类支撑集,第一查询集q1和第二查询集q2分别用来模拟基类查询集和增量类查询集,第三支撑集s3和第三查询集q3构成伪增量训练任务;
41、s3.2.2、提取第三支撑集s3和查询集q3中音频样本的对数梅尔谱;
42、s3.2.3、采用经过步骤s3.1预训练的表征提取器提取第三支撑集和查询集中音频样本对数梅尔谱的支撑表征和查询表征;
43、s3.2.4、将第三支撑集s3中样本的支撑表征输入原型自适应网络的注意力原型生成模块,先分别经过三个可训练的线性变换矩阵ψ1、ψ2、ψ3得到x1、x2、x3,然后x1和x2依次经过矩阵相乘、缩放和sofmax层后与x3进行矩阵相乘,再经过可训练的线性变换矩阵ψ4得到x′,x′与输入支撑表征矢量进行元素级相加,再进行归一化处理,最后求均值得到支撑原型;
44、s3.2.5、将第三查询集q3中样本的查询表征和支撑原型拼接作为输入矢量输入原型自适应网络的原型查询表征适应模块,分别经过三个可训练的线性变换矩阵ψ5、ψ6、ψ7得到x4、x5、x6,然后x4和x5依次经过矩阵相乘、缩放和sofmax层后与x6进行矩阵相乘,再经过可训练的线性变换矩阵ψ8得到x″,x″与输入矢量进行元素级相加,再进行归一化处理,最后经过向量分割得到调整后的原型和查询表征;
45、s3.2.6、计算上述调整后的查询表征与各原型之间的余弦距离,通过不断减小交叉熵损失函数,对原型自适应模块的参数ψ1至ψ8进行优化直到收敛。
46、进一步地,所述步骤s5中原型自适应调整与原型分类器更新过程如下:
47、s5.1、将增量类音频样本的对数梅尔谱特征输入所述表征提取器得到增量类表征,并将同类别表征划分为增量类支撑表征和增量类查询表征;
48、s5.2、将增量类支撑表征输入原型自适应模块的注意力原型生成子模块,先进行自注意力计算,然后将计算结果与输入支撑表征矢量进行元素级相加,再进行归一化处理,最后求均值得到增量类原型,所述自注意力计算用于获取增量类支撑表征之间的相互关系,有助于得到更具有表征性的增量类原型;
49、s5.3、将所述增量类查询表征、增量类原型和前一个环节的原型分类器中的所有原型拼接后输入原型自适应模块的原型查询表征适应子模块,先进行自注意力计算,然后将计算结果与输入的拼接矢量进行元素级相加,再进行归一化处理,最后经过向量分割得到调整后的基类原型和增量类原型,所述自注意力计算用于获取旧类原型、增量类原型以及增量类查询表征之间的相互关系,使得调整后的原型更具有区分性;
50、s5.4、使用调整后的基类原型和增量类原型替换原型分类器中的所有原型,完成原型分类器的更新。
51、进一步地,所述步骤s5中的自注意力计算公式为:
52、
53、式中x′为自注意力计算结果,x1、x2、x3是输入矢量分别经过三个可训练的线性变换矩阵ψ1、ψ2、ψ3得到的,d为输入矢量的维度,为缩放因子,t表示矩阵转置操作,ψ4也是一个可训练的线性变换矩阵,ψ1、ψ2、ψ3和ψ4由步骤s3.2训练得到。
54、进一步地,所述步骤s6中测试音频分类过程如下:
55、s6.1、提取测试音频样本的对数梅尔谱特征;
56、s6.2、将测试音频样本的对数梅尔谱特征输入经过训练的自注意力卷积神经网络,通过表征提取器得到表征;
57、s6.3、计算表征与原型分类器中各原型之间的余弦距离,距离最小的原型所对应的类别即为测试音频样本所属类别,得到音频分类结果。
58、本发明相对于现有技术具有如下的优点及效果:
59、(1)本发明提出一种基类环节和增量环节都采用小样本训练的完全小样本类别增量音频分类方法,可解决基类训练样本不足问题。
60、(2)本发明将表征提取器和分类器解耦,并在基类采用小样本学习的训练方法,提高表征提取器的泛化能力。
61、(3)本发明在增量环节,结合注意力机制,采用原型自适应模块对旧类原型和旧类原型进行自适应调整,提高各类原型的区分性。
62、(4)实验结果表明,本发明方法在nsynth-100和ls-100数据集上分别获得了较高的平均精度和较低的遗忘程度,有效解决模型对增量类过拟合和对旧类遗忘的问题。
本文地址:https://www.jishuxx.com/zhuanli/20240618/23208.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表