一种基于桥接transformer的小
样本优化
鸟声识别方法
技术领域
1.本发明涉及鸟声识别领域,具体是一种基于桥接transformer的小样本优化鸟声识别方法。
背景技术:
2.鸟类作为生态系统中的重要组成部分,分布广泛且对环境变化敏感,多数学者将鸟类作为监测环境变化的指示物种,因此对鸟类物种的监测、识别及分类具有重要意义,而如今随着声学技术和数字化处理技术的发展,通过对鸟鸣声分析研究来了解鸟类物种的生存状态逐渐成为主流。
3.随着深度学习的发展,国内外部分研究表明深度神经网络比如卷积神经网络(convolutional neural network,cnn)、卷积循环神经网络(convolutional recurrent neural network,crnn)、长短期记忆网络(long short-term memory,lstm)等在鸟声识别中能提取更有价值、更丰富的的
特征信息,比如sprengelt等利用短时傅里叶变换将鸟声信号转换成语谱图,首次使用卷积神经网络对语谱图进行训练,在birdclef 2016挑战赛公开
数据集中准确率为58%并获得了冠军。liu h等人利用对数梅尔(log-mel)语谱图作为输入,自搭建了一种级联双向lstm和densenet的神经网络模型,在20类鸟声数据库种能达到92.2%的准确率。jean p将短时傅里叶变换生成的语谱图经过碎片化处理后拼接输入到经典的transformer神经网络中,通过当年clef竞赛数据库中397类鸟声识别的测试,准确率达到了77.55%并获得了金牌。邱志斌等人将梅尔语谱图输入到24层的自搭建cnn模型中,利用微调网络参数能在包含40类鸟鸣声的数据集中达到96.1%的准确率。冯郁茜提出了双模态特征融合鸟类物种识别方法,通过cnn与lstm的级联结构,融合鸟声的时频域特征,完成对鸟声识别算法的优化,在6种鸟类识别中获得了93.9%的平均准确率。
4.根据对上述国内外学者研究方法的介绍可以看出,现在基于深度学习的鸟声识别方法中,通过将鸟声音频信号转为语谱图输入到神经网络,学习语谱图中的时频域特征信息获得识别结果已经成为主流。但目前仍存在几个问题,比如现有的鸟声数据集样本量稀缺,这会导致识别过程中存在过拟合问题,测试效果并不佳;还有深度学习网络对鸟声特征的提取利用不充分以及不同特征信息之间没有交互等问题,因此,现提出一种基于桥接transformer的小样本优化鸟声识别方法。
技术实现要素:
5.本发明的目的在于提供一种基于桥接transformer的小样本优化鸟声识别方法,通过设计btnn模型以提升在样本数据稀缺情况下鸟声识别测试的准确率,同时加强对输入语谱图在全局与局部层面上的信息交互,提高对输入特征的提取利用。
6.本发明的目的可以通过以下技术方案实现:
7.一种基于桥接transformer的小样本优化鸟声识别方法,所述识别方法包括以下步骤:
8.s1、获取btnn鸟声识别网络模型,提取鸟鸣声信号的短时傅里叶变换生成语谱图作为整体网络模型的输入特征。
9.s2、利用桥接transformer结构对stft语谱图局部特征与全局特征的信息进行提取及补全融合,获得鸟声特征参数。
10.s3、引入样本损失优化模块sloblock,利用单层transformer编码器的交叉注意机制,对来自主干网络输出特征图进行关系建模,从内部优化网络本身对小样本数据集的训练测试。
11.s4、在birdsdata数据集和xeno-canto数据集上进行实验,将优化后的特征输入到softmax分类器中得到识别结果。
12.进一步的,所述s1具体操作为:
13.对原始音频信号进行预加重、分帧加窗等预处理操作。
14.通过短时傅里叶变换得到stft语谱图作为整体网络的输入特征。
15.将其输入到单个普通卷积层中得到可操作的特征图。
16.进一步的,所述stft语谱图具体操作包括如下步骤:
17.(1)当鸟声信号能量多集中在低频段,采用高通滤波器对鸟声音频信号进行预加重处理,高通滤波器表达式如下:
18.h(z)=1-αz-1
ꢀꢀꢀ
(1)
19.其中,α取值区间为(0.9,1)。
20.(2)当鸟类鸣叫时信号复杂多变,需对其进行分帧操作,对预加重后的鸟声信号进行分帧加窗操作,窗函数选择为汉明窗,帧长设置为23ms,帧移设置为11ms。
21.(3)对预处理后每一帧加上窗函数的鸟声信号单独处理,采用离散傅里叶变换替换原有的傅里叶变换实现离散stft,表达式如下:
[0022][0023]
其中,x(n)是输入信号,l表示帧平移量,k表示当前谱线数,n=44100,n分别表示采样点数以及当前第n帧,利用幅度变化关于时间与频率的关系以及能量大小关于时间与频率的关系得到stft语谱图。
[0024]
进一步的,所述桥接transformer模块包括convblock,formerblock,conv to former结构和former to conv结构:
[0025]
所述convblock采用三层倒瓶颈卷积结构,利用深度可分离卷积的特性来减少通道卷积操作时的计算复杂度,同时保留卷积本身具有的高效性。
[0026]
所述formerblock包括transformer编码器结构的多头注意力mha模块和多层感知机模块mlp,mha通过并行计算传入的特征图,mlp用于对得到的信息进行整合筛选,mha中注意力机制和多头注意力的计算公式如下:
[0027][0028]
mha(q,k,v)=concat(h ead1,h ead2,
…
,h eadh)w0ꢀꢀꢀ
(4)
[0029]
其中,公式(3)中q,k,v均为权重矩阵,dk为对应k矩阵的维度,而公式(4)中对于多
头注意力的计算,将上述一组权重矩阵扩展为使用多组,每组同步计算从而加快速度,最后将多个输出矩阵利用w0矩阵实现头部线性变换拼接后送入后续mlp中,其中对于每一个h eadi有:有:设定注意力头个数h=4,每个注意力头设置dk=dv=d/h=32,由于每个注意力头进行了降维,因此最后拼接得到的输出矩阵与单一注意力机制计算得到的大小基本一致,mlp具体表达式如下:
[0030]
mlp(x)=[relu(xw1+b1)]
·
w2+b2ꢀꢀꢀ
(5)
[0031]
其中,w1,w2为权重矩阵,b1,b2为偏置向量,mlp模型整体由两个线性层和一个relu激活函数嵌套组成。
[0032]
所述conv to former结构将convblock输入的局部特征信息xi与formerblock可学习token zi进行融合,操作采用注意力映射来完成,但仅对输入的token进行query映射,不对特征图映射,可减少注意力操作时内部的计算量,最后利用残差结构将局部信息融入到token中的全局信息里,具体操作公式如下:
[0033][0034]
其中,h为多头注意力头数,按照h的大小将输入特征x和z平均分割为xh和zh,是第h个头的query投影矩阵,wo则用于将多个头最终组合在一起。
[0035]
所述former to conv结构实现formerblock输出的全局信息token z
i+1
与convblock提取局部信息的特征x'i融合的过程,同conv to former结构类似,convblock特征经过convblock模块后并没有得到补足全局的特征信息,所以第二个桥接结构仍然采用注意力映射操作,将formerblock的全局信息toke nz
i+1
进行两次映射得到key和value,经过convblock模块的输出x'i直接作为query指导全局信息的融入,最后通过残差结构进行特征融合后得到最终的输出特征x
i+1
,具体操作公式如下:
[0036][0037]
其中,和是key和value的投影矩阵,局部特征提供query,其他操作与公式(6)一致。
[0038]
进一步的,所述样本损失优化模块sloblock具体操作为:
[0039]
(1)将特征图输入样本损失优化模块中,每一次输出的特征图是以一个批次batch为单位,对每一个batch的语谱图进行不同类别样本之间的关系建模利用单层transformer编码器中的交叉注意机制赋予同一组batch中不同种类鸟声语谱图对应的权重关注度。
[0040]
(2)当没有加入交叉注意机制时,所有的损失只在相应的样本和类别上传播梯度,即一对一样本优化。而在使用sloblock之后,其他样本上也开始提供梯度优化的损失反馈,梯度优化公式如下:
[0041][0042]
进一步的,所述s4实验中btnn鸟声识别网络模型的评价指标包括将准确率(accuracy)和f1-score,f1-score由精确率(precision)和召回率(recall)两项指标加权
得到,评估公式如下:
[0043][0044][0045]
其中,tp表示正确分类样本的个数,fp和fn均表示错误分类样本的个数。
[0046]
本发明的有益效果:
[0047]
1、本发明识别方法通过提取了鸟鸣声信号的短时傅里叶变换生成语谱图作为整体网络模型的输入特征;
[0048]
2、本发明识别方法基于卷积模块完成对局部特征的提取,transformer模块完成对全局特征的提取,利用注意力机制搭建桥接结构实现对两模块之间信息的交互共享;
[0049]
3、本发明识别方法利用单层transformer编码器对桥接结构训练得到的每一个批次特征图进行损失共享,通过网络内部不同类别之间损失叠加优化,实现在不使用数据增强的情况下扩充样本,提高小样本数据集在模型中测试的准确率;
[0050]
4、本发明识别方法在经过小样本处理的birdsdata数据集和xeno-canto数据集上获得了91.34%和82.63%的识别准确率,证明了本发明鸟声识别模型的有效性,能够应用于实时鸟声监测识别中。
附图说明
[0051]
下面结合附图对本发明作进一步的说明。
[0052]
图1是本发明识别方法的btnn模型网络图;
[0053]
图2是本发明识别方法的桥接transformer模块结构图;
[0054]
图3是本发明识别方法的sloblock原理图。
具体实施方式
[0055]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0056]
一种基于桥接transformer的小样本优化鸟声识别方法,如图1所示,识别方法包括以下步骤:
[0057]
s1、获取btnn鸟声识别网络模型,提取鸟鸣声信号的短时傅里叶变换生成语谱图作为整体网络模型的输入特征
[0058]
先对原始音频信号进行预加重、分帧加窗等预处理操作,再通过短时傅里叶变换得到stft语谱图作为整体网络的输入特征;随后将其输入到单个普通卷积层中得到可操作的特征图。
[0059]
对于获取的原始鸟声音频信号来说,每一帧时间内的鸟声频谱看作是不变的,但是这种看作不变的短时频谱只能用于反映鸟声鸣叫时的静态特性,为了能反映出鸟声信号的动态频率特性,实现对非平稳时变信号的分析,采用短时傅里叶变换生成stft语谱图来
得到鸟类信号的时频特征,stft语谱图具体进行如下操作:
[0060]
(1)当鸟声信号能量多集中在低频段,而高频部分能量较小,为了补偿高频信号传输受损的影响,采用高通滤波器对鸟声音频信号进行预加重处理,高通滤波器表达式如下:
[0061]
h(z)=1-αz-1
ꢀꢀꢀ
(1)
[0062]
其中,α取值区间为(0.9,1),这里取0.935。
[0063]
(2)当鸟类鸣叫时信号复杂多变,需对其进行分帧操作,对预加重后的鸟声信号进行分帧加窗操作,窗函数选择为汉明窗,帧长设置为23ms,帧移设置为11ms。
[0064]
(3)对预处理后每一帧加上窗函数的鸟声信号单独处理,采用离散傅里叶变换替换原有的傅里叶变换实现离散stft,表达式如下:
[0065][0066]
其中,x(n)是输入信号,l表示帧平移量,k表示当前谱线数,n=44100,n分别表示采样点数以及当前第n帧,利用幅度变化关于时间与频率的关系以及能量大小关于时间与频率的关系可以得到stft语谱图,大小设置为224
×
224像素,在语谱图中,横坐标为时间,纵坐标为频率,图中颜的深浅则表示鸟声强度的大小。
[0067]
s2、利用桥接transformer结构实现对stft语谱图局部特征与全局特征的信息提取及补全融合,获得鸟声特征参数
[0068]
基于卷积模块(convblock)完成对局部特征的提取,将第一次得到的特征图输入到由多个conv-former block级联组成的桥接transformer模块(formerblock)中学习局部特征和全局特征,transformer模块完成对全局特征的提取,利用注意力机制搭建桥接结构实现对两模块之间信息的交互共享,通过拼接(concatenate)操作得到特征信息补全后的输出特征图。
[0069]
如图2所示,桥接transformer模块包括convblock,formerblock,conv to former结构和former to conv结构,图2中对于第一个桥接transformer模块来说,输入的zi是一个初始化的二维向量其中m表示token的个数,d则表示token的维度,这里m=3,d=128。相较于vit等将图像作为输入的transformer网络来说,只利用token来传导convblock提供的局部特征,使用的token数量远小于常规图像处理任务中transformer输入token的数量,formerblock只需考虑token映射到中间mha注意力计算部分而几乎无需考虑输入尺寸过大带来的计算复杂度过高的影响,能够完整获得局部特征信息来实现后续和全局特征的交互补全。通过formerblock后得到的z
i+1
输出token即为最终补全局部信息后的全局特征。对于后续模块中的formerblock,输入token的初始值则完全由前一级模块的输出进行填充,并且所有模块的token维度参数一致。
[0070]
convblock参考mobilenetv3网络采用三层倒瓶颈卷积结构,利用深度可分离卷积的特性来减少通道卷积操作时的计算复杂度,同时保留卷积本身具有的高效性,这里xi传入的是语谱图变形后的二维矩阵通过convblock后得到的局部特征x'i作为后续桥接模块的输入。
[0071]
formerblock由transformer编码器结构的多头注意力(multi-head attention,
mha)模块和多层感知机模块(multi-layer perceptron,mlp)组成,mha通过并行计算传入的特征图,能够把握全局输入的重点区域信息;mlp则发挥类似于全连接层的功能,对得到的信息进行整合筛选;mha中注意力机制和多头注意力的计算公式如下:
[0072][0073]
mha(q,k,v)=concat(h ead1,h ead2,
…
,h eadh)w0ꢀꢀꢀ
(4)
[0074]
其中,公式(3)中q,k,v均为权重矩阵,dk为对应k矩阵的维度,而公式(4)中对于多头注意力的计算,就是将上述一组权重矩阵扩展为使用多组,每组同步计算从而加快速度,最后将多个输出矩阵利用w0矩阵实现头部线性变换拼接后送入后续mlp中,其中对于每一个h eadi有:有:设定注意力头个数h=4,每个注意力头设置dk=dv=d/h=32,由于每个注意力头进行了降维,因此最后拼接得到的输出矩阵与单一注意力机制计算得到的大小基本一致,mlp具体表达式如下:
[0075]
mlp(x)=[relu[xw1+b1)]
·
w2+b2ꢀꢀꢀ
(5)
[0076]
其中,w1,w2为权重矩阵,b1,b2为偏置向量,mlp模型整体由两个线性层和一个relu激活函数嵌套组成。
[0077]
conv to former结构将convblock输入的局部特征信息xi与formerblock可学习token zi进行融合,操作采用注意力映射来完成,但是仅对输入的token进行query映射,不对特征图映射,可减少注意力操作时内部的计算量,最后利用残差结构将局部信息融入到token中的全局信息里。具体操作公式如下:
[0078][0079]
其中,h为多头注意力头数,按照h的大小将输入特征x和z平均分割为xh和zh,是第h个头的query投影矩阵,wo则用于将多个头最终组合在一起。
[0080]
former to conv结构实现formerblock输出的全局信息token z
i+1
与convblock提取局部信息的特征x'i融合的过程,同conv to former结构类似,convblock特征经过convblock模块后并没有得到补足全局的特征信息,所以第二个桥接结构仍然采用注意力映射操作,将formerblock的全局信息token z
i+1
进行两次映射得到key和value,经过convblock模块的输出x'i直接作为query指导全局信息的融入,最后通过残差结构进行特征融合后得到最终的输出特征x
i+1
,具体操作公式如下:
[0081][0082]
其中,和是key和value的投影矩阵,局部特征提供query,其他操作与公式(6)一致。
[0083]
由上述四个部分组成的桥接transformer模块得到的x
i+1
和z
i+1
再传入下一个模块,多次交互实现全局信息与局部信息互补的特征融合过程,在此过程中,由于convblock特征图本身始终并没有进行任何映射,保证了自身原汁原味的局部信息来供
formerblocktoken的学习,同时formerblocktoken中表示全局特征的信息也在多个模块中不断更新融合加入convblock的特征图上,更好的实现了对所提供语谱图特征的融合利用,其次各模块中多次考虑了对使用参数的优化,使得该模块本身的参数量远小于传统的深度学习网络。
[0084]
s3、引入样本损失优化模块(sample loss optimization block,sloblock),利用单层transformer编码器的交叉注意机制,对来自主干网络输出特征图实现关系建模,从内部优化网络本身对小样本数据集的训练测试,能够在不通过扩充外部样本数据的情况下实现自身内部隐式样本的扩充,进而快速优化样本损失,sloblock的机制原理如图3所示。
[0085]
将特征图输入样本损失优化模块中,利用单层transformer编码器中的交叉注意机制赋予同一组batch中不同种类鸟声语谱图对应的权重关注度,单层transformer编码器对桥接结构训练得到的每一个批次特征图进行损失共享,通过对各样本之间的关系建模达到不同种类鸟声样本损失叠加的目的,使得在不使用数据增强等方式外部扩充数据集的前提下实现了对应类别鸟声数据的隐式扩充,从而实现了损失函数的梯度优化,提高小样本数据集在模型中测试的准确率。
[0086]
每一次输出的特征图是以一个批次(batch size)为单位,对每一个batch的语谱图进行不同类别样本之间的关系建模,当没有加入交叉注意机制时,所有的损失只在相应的样本和类别上传播梯度,即一对一样本优化;而在使用sloblock之后,其他样本上也开始提供梯度优化的损失反馈(虚线),梯度优化公式如下:
[0087][0088]
具体来说,给定一个batch上有n个样本(0到n-1),sloblock带来新的梯度项,即对于样本xi来说,li也根据其他类别的样本xj(i≠j)来对网络进行优化,通过对小批量样本之间的关系建模为每个标签从网络内部隐式扩充了n-1个虚拟样本。
[0089]
通过样本优化模块对每一个batch输出特征图内部损失调优后,共享softmax分类器上的权重参数,能够在测试识别结果时不额外改变网络的推理结构,加快最终测试时的识别速度。
[0090]
s4、在birdsdata数据集和xeno-canto数据集上进行实验,将优化后的特征输入到softmax分类器中得到识别结果,经过小样本处理的birdsdata数据集和xeno-canto数据集上获得了91.34%和82.63%的识别准确率,证明了本文所提鸟声识别模型的有效性。
[0091]
(1)实验数据采集:
[0092]
birdsdata是由北京百鸟数据科技公司发布的手工标注自然声音标准数据集,该数据集公开收集了共20类国内常见的鸟类鸣声,共计14311份wav音频文件,且所提供数据均已经过2s标准化分割以及降噪处理,xeno-canto鸟声数据来源于全球性野外鸟声数据库,包含了44种欧亚地区且均为自然环境下录制的常见鸟类音频,共计7032份mp3音频文件,时长在30s-5min不等,音频中间存在留白且自带有环境噪声,以上数据集采样频率均为44.1khz
[0093]
(2)实验设置
[0094]
实验硬件操作系统采用ubuntu20.04,gpu型号为gtx2080ti,cuda版本为10.1,网
score得分能达到96.30%,仅次于transformer-cnn网络模型,但是transformer-cnn的模型参数量要远远大于btnn,这个在后续实验中会有数据对比说明。在xeno-canto数据集上btnn网络模型的准确率能达91.64%,f1-score得分能达到90.55%,均高于现有的深度学习方法。对比两个数据集的样本风格以及样本数量,可以发现,在xeno-canto数据集中当生成的stft语谱图信息受到样本不足、噪声干扰、留白等因素影响时,提取更为关键的时频域信息就显得十分重要,高准确率可以说明btnn在带干扰的数据集中训练时具有更好的鲁棒性。此外,另外加入了剔除sloblock之后的模型对比试验,可以发现在样本数据量充足的birdsdata数据集上,加入sloblock与否对准确率的提升并不大,而在xeno-canto数据集上,即使在还未做小样本实验的前提下,准确率已经有1.7%的提升,这为后续小样本数据集实验已经提供了实验依据。
[0105]
2)小样本数据集对比实验:对原有鸟声数据集进行随机划分处理,即birdsdata数据集随机切分为10份(每份均为1431个样本),xeno-canto数据集随机切分为5份(每份1406个样本),对每个数据集的每一个小样本集分别进行五折交叉验证,结果取平均值并计算标准差,同时对其他深度学习方法进行同样条件下的实验,具体对比试验结果如下表2所示。
[0106]
表2
[0107][0108][0109]
通过表2可知,当样本数据量缩小为原来的10%~20%时,基于深度学习的鸟声识别方法整体准确率都有下降,样本数量是影响神经网络训练测试准确率的一个重要因素。过对比上述方法,发现vggnet、transformer-cnn等深度较深、网络模型较大的方法受到样本数据匮乏的影响更为明显,其中transformer-cnn网络模型虽然在原样本数据集中的表现很好,但是在小样本数据集上测试的准确率不如其他方法。而相比之下,本发明提出的btnn模型在两个数据集上受到的影响最小,在birdsdata数据集和xeno-canto数据集上分别获得了91.34%和82.63%的最高平均准确率,比原样本训练时的测试准确率仅分别降低了5.55%和9.01%,由此可以证明btnn模型对小样本数据集的训练上有一定的优化。
[0110]
3)sloblock消融实验及参数对比:
[0111]
证明sloblock在btnn模型中对小样本数据集训练起到了优化作用,同时证明该模
块在深度神经网络中的泛用性,本发明对sloblock单独进行消融实验,其中实验的数据集仍为上文提到的随即划分的小样本数据集,实验结果如下表3所示,从表中可以看出,在xeno-canto数据集上,各方法准确率均有所提升,而在birdsdata数据集上,除mobilenetv3卷积神经网络外,其余也均有小幅提升,尤其是在对样本数据量需求较大的transformer类型神经网络上提升更为明显,通过数据实验证明,sloblock在不同的深度神经网络中具有较好的泛用性。
[0112]
表3
[0113][0114][0115]
4)btnn在以下方面对模型的计算复杂度以及参数量进行了优化:
[0116]
(1)只使用mobilenetv3中提到的深度可分离卷积来构建convblock,减少了通道卷积计算参数量;
[0117]
(2)formerblock只使用了很少(6-8个)的token个数用于传导桥接结构输出的注意力计算参数;
[0118]
(3)桥接transformer模块本身只对token进行注意力映射,特征图本身并未进行任何操作,所以两个桥接结构的整体计算量仅等价于一个注意力机制的计算量,为了体现本发明对btnn模型的网络优化起到了一定作用,btnn及各对比方法内部参数与运算时间如下表4所示:
[0119]
表4各方法参数量对比表
[0120][0121]
从上表可以看出,本发明提到的一些细节上的优化,能够帮助btnn模型整体缩减参数量,同时模型本身对语谱图特征处理的速度也较快,仅次于mobilenetv3轻量型网络,这对后续实验利用本发明模型进行实时鸟声监测识别提供了支持。
[0122]
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0123]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
技术特征:
1.一种基于桥接transformer的小样本优化鸟声识别方法,其特征在于,所述识别方法包括以下步骤:s1、获取btnn鸟声识别网络模型,提取鸟鸣声信号的短时傅里叶变换生成语谱图作为整体网络模型的输入特征;s2、利用桥接transformer结构对stft语谱图局部特征与全局特征的信息进行提取及补全融合,获得鸟声特征参数;s3、引入样本损失优化模块sloblock,利用单层transformer编码器的交叉注意机制,对来自主干网络输出特征图进行关系建模,从内部优化网络本身对小样本数据集的训练测试;s4、在birdsdata数据集和xeno-canto数据集上进行实验,将优化后的特征输入到softmax分类器中得到识别结果。2.根据权利要求1所述的一种基于桥接transformer的小样本优化鸟声识别方法,其特征在于,所述s1具体操作为:对原始音频信号进行预加重、分帧加窗等预处理操作;通过短时傅里叶变换得到stft语谱图作为整体网络的输入特征;将其输入到单个普通卷积层中得到可操作的特征图。3.根据权利要求2所述的一种基于桥接transformer的小样本优化鸟声识别方法,其特征在于,所述stft语谱图具体操作包括如下步骤:(1)当鸟声信号能量多集中在低频段,采用高通滤波器对鸟声音频信号进行预加重处理,高通滤波器表达式如下:h(z)=1-αz-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,α取值区间为(0.9,1);(2)当鸟类鸣叫时信号复杂多变,需对其进行分帧操作,对预加重后的鸟声信号进行分帧加窗操作,窗函数选择为汉明窗,帧长设置为23ms,帧移设置为11ms;(3)对预处理后每一帧加上窗函数的鸟声信号单独处理,采用离散傅里叶变换替换原有的傅里叶变换实现离散stft,表达式如下:其中,x(n)是输入信号,l表示帧平移量,k表示当前谱线数,n=44100,n分别表示采样点数以及当前第n帧,利用幅度变化关于时间与频率的关系以及能量大小关于时间与频率的关系得到stft语谱图。4.根据权利要求1所述的一种基于桥接transformer的小样本优化鸟声识别方法,其特征在于,所述桥接transformer模块包括convblock,formerblock,conv to former结构和former to conv结构:所述convblock采用三层倒瓶颈卷积结构,利用深度可分离卷积的特性来减少通道卷积操作时的计算复杂度,同时保留卷积本身具有的高效性;所述formerblock包括transformer编码器结构的多头注意力mha模块和多层感知机模块mlp,mha通过并行计算传入的特征图,mlp用于对得到的信息进行整合筛选,mha中注意力
机制和多头注意力的计算公式如下:mha(q,k,v)=concat(h ead1,h ead2,
…
,h ead
h
)w0ꢀꢀꢀꢀꢀꢀꢀ
(4)其中,公式(3)中q,k,v均为权重矩阵,d
k
为对应k矩阵的维度,而公式(4)中对于多头注意力的计算,将上述一组权重矩阵扩展为使用多组,每组同步计算从而加快速度,最后将多个输出矩阵利用w0矩阵实现头部线性变换拼接后送入后续mlp中,其中对于每一个h ead
i
有:有:设定注意力头个数h=4,每个注意力头设置d
k
=d
v
=d/h=32,由于每个注意力头进行了降维,因此最后拼接得到的输出矩阵与单一注意力机制计算得到的大小基本一致,mlp具体表达式如下:mlp(x)=[relu(xw1+b1)]
·
w2+b2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其中,w1,w2为权重矩阵,b1,b2为偏置向量,mlp模型整体由两个线性层和一个relu激活函数嵌套组成;所述conv to former结构将convblock输入的局部特征信息x
i
与formerblock可学习token z
i
进行融合,操作采用注意力映射来完成,但仅对输入的token进行query映射,不对特征图映射,可减少注意力操作时内部的计算量,最后利用残差结构将局部信息融入到token中的全局信息里,具体操作公式如下:其中,h为多头注意力头数,按照h的大小将输入特征x和z平均分割为x
h
和z
h
,是第h个头的query投影矩阵,w
o
则用于将多个头最终组合在一起;所述former to conv结构实现formerblock输出的全局信息token z
i+1
与convblock提取局部信息的特征x'
i
融合的过程,同conv to former结构类似,convblock特征经过convblock模块后并没有得到补足全局的特征信息,所以第二个桥接结构仍然采用注意力映射操作,将formerblock的全局信息token z
i+1
进行两次映射得到key和value,经过convblock模块的输出x'
i
直接作为query指导全局信息的融入,最后通过残差结构进行特征融合后得到最终的输出特征x
i+1
,具体操作公式如下:其中,和是key和value的投影矩阵,局部特征提供query,其他操作与公式(6)一致。5.根据权利要求1所述的一种基于桥接transformer的小样本优化鸟声识别方法,其特征在于,所述样本损失优化模块sloblock具体操作为:(1)将特征图输入样本损失优化模块中,每一次输出的特征图是以一个批次batch为单位,对每一个batch的语谱图进行不同类别样本之间的关系建模利用单层transformer编码器中的交叉注意机制赋予同一组batch中不同种类鸟声语谱图对应的权重关注度;(2)当没有加入交叉注意机制时,所有的损失只在相应的样本和类别上传播梯度,即一
对一样本优化;而在使用sloblock之后,其他样本上也开始提供梯度优化的损失反馈,梯度优化公式如下:6.根据权利要求1所述的一种基于桥接transformer的小样本优化鸟声识别方法,其特征在于,所述s4实验中btnn鸟声识别网络模型的评价指标包括将准确率(accuracy)和f1-score,f1-score由精确率(precision)和召回率(recall)两项指标加权得到,评估公式如下:下:其中,tp表示正确分类样本的个数,fp和fn均表示错误分类样本的个数。
技术总结
本发明公开一种基于桥接Transformer的小样本优化鸟声识别方法,包括获取BTNN鸟声识别网络模型,提取鸟鸣声信号的短时傅里叶变换生成语谱图作为整体网络模型的输入特征;利用桥接Transformer结构对STFT语谱图局部特征与全局特征的信息进行提取及补全融合,获得鸟声特征参数;引入样本损失优化模块SLOBlock,利用单层Transformer编码器的交叉注意机制,对来自主干网络输出特征图进行关系建模,从内部优化网络本身对小样本数据集的训练测试;在Birdsdata数据集和xeno-canto数据集上进行实验,将优化后的特征输入到Softmax分类器中得到识别结果。本发明通过设计BTNN模型以提升在样本数据稀缺情况下鸟声识别测试的准确率,同时加强对输入语谱图在全局与局部层面上的信息交互,提高对输入特征的提取利用。提高对输入特征的提取利用。提高对输入特征的提取利用。
技术研发人员:
周晓彦 王基豪 王丽丽 魏琼
受保护的技术使用者:
南京信息工程大学
技术研发日:
2022.11.25
技术公布日:
2023/3/7