一种基于多实例学习的弱监督声音事件检测方法

阅读: 评论:0



1.本发明属于计算机声学领域,具体涉及一种基于多实例学习的弱监督声音事件检测方法。


背景技术:



2.声音事件检测是指给出一段可能同时包含多个声音事件的音频段,需要检测出其中包含声音事件(音频标注),以及每个声音事件的开始和结束时间(事件定位)。值得注意的是,在同一时间点上可能同时存在多个声音事件。传统方法依赖强标注的训练集,也就是说在训练阶段会给出每个声音事件的开始和结束时间,但这种数据集的收集是非常耗时且昂贵的。因此,弱监督声音事件检测方法近年来得到了广泛的关注,弱监督声音事件检测指在训练阶段不提供声音事件的起止时间,只提供在训练音频上包含的声音事件,弱监督声音事件检测方法在学术界和工业界均有着重要的研究价值。
3.一种常用的弱监督声音事件检测框架是多实例学习方法。在多实例学习方法中,输入序列被视为由一组实例组成的包,将每个实例输入到一个实例分类器中可以得到一个实例预测,也就是实例在每个事件上的预测概率。然后,一个聚合函数将实例预测聚合为包级预测,可以通过最小化包级预测与弱包级标签构造的损失来优化实例分类器。在基于多实例学习的弱监督声音事件检测中,将一个训练音频段视为包,将其中的所有帧视为实例。其主要包含两个步骤:一是得到音频帧在多个声音事件上的帧级预测;二是聚合帧级预测得到包级预测。近年来提出的相关方法多是对聚合函数的改进以及提取更鲁棒的帧级特征。
4.虽然传统的多实例学习方法在音频标注任务上表现不俗,但在事件定位任务上的性能有待提高。通过观察分析传统的多实例学习方法的流程和实验结果,我们发现问题出在传统的多实例学习方法仅在聚合后的包级预测上计算损失,由于缺少对帧级预测的直接约束,导致帧级预测具有很大的随机性,这会带来很多不合理的预测值,这在很大程度上影响到了定位任务的准确性。


技术实现要素:



5.本发明的目的是为了解决上述背景技术中存在的不足,即传统的多实例学习方法没有直接约束帧级预测。本发明通过观察分析已有的确定性的信息:声音事件的持续时长和弱标注信息,设计了两项帧级损失函数以抑制不合理帧级预测的产生。
6.为了实现上述目的,本发明所采用的技术方案为:一种基于多实例学习的弱监督声音事件检测方法,包括如下步骤:
7.步骤一,划分数据集,将数据集划分为训练集d
train
,测试集d
test
,验证集d
verify
,训练集只给出弱标注信息,测试集与验证集给出强标注信息;其中弱标注指对单个音频只给出其中包含的声音事件,强标注在弱标注的基础上还包括每个声音事件的开始和结束时间;
8.步骤二,从训练集d
train
中取出一个训练批次xi,先计算所述训练批次的声学特征,然后将声学特征按帧送入帧级分类器,并应用softmax得到帧级预测,其中xi表示第i个音频段;
9.步骤三,通过一个聚合函数将得到的帧级预测聚合为包级预测,由包级预测与弱标注计算全局损失,并根据弱标注将帧级预测拆分为无效预测和有效预测,然后计算帧级损失,最终的优化目标为全局损失与帧级损失的加权和,通过反向传播更新网络参数;
10.步骤四,重复进行步骤二至三,训练整体的网络模型,得到训练好的帧级分类器,使用训练后的帧级分类器在测试集d
test
和验证集d
verify
上计算预测概率,然后在验证集d
verify
上到最佳的阈值,用来对测试集d
test
样本进行分类。
11.进一步的,步骤一的具体实现方式如下;
12.训练集由l个时长为10s的音频段组成,对每个音频段xi都给出一个multi-hot标签zi∈{0,1}n,zi即为音频弱标注,其中n表示事件的个数,zi[n]=1,n∈{1,n}表示xi上存在第n个声音事件,zi[n]=0表示xi上不存在第n个声音事件;训练时,将每个音频段xi看做由一组帧组成的包,其中m表示单个音频段中帧的个数,x
im
表示第i个音频段xi的第m帧。
[0013]
进一步的,步骤二的具体实现方式如下;
[0014]
首先提取训练样本的声学特征,使用帧长1024,帧移400,1024点傅里叶变换和128个梅尔滤波器来提取每个音频xi的梅尔谱图做为声学特征,然后将每一帧声学特征送入帧级分类器得到帧级预测:
[0015]yim
=f(x
im
)
[0016]yim
表示第i个音频段的第m帧在n个事件上的预测概率,其中m表示单个音频段中帧的个数,x
im
表示第i个音频段xi的第m帧;帧级分类器f由一个帧级特征提取器f
θ
(
·
)和一个分类层fc(
·
)组成;f
θ
(
·
)由3个卷积神经网络块和一个双向循环神经网络gru构成,每个卷积神经网络块分别包括:32、64、128个5
×
5维卷积核,relu激活函数,2
×
2最大池化层,gru包含100个隐藏单元;fc(
·
)就是一个简单的全连接层。
[0017]
进一步的,步骤三中的聚合函数包括:
[0018]
最大值聚合:y=max(yi);
[0019]
平均聚合:
[0020]
线性softmax聚合:
[0021]
注意力聚合:
[0022]
其中yi表示单一帧的预测概率,ωi表示注意力聚合中的可学习参数,首先通过一个聚合函数agg(

),将xi的所有帧级预测聚合为包级预测:
[0023]
yi=agg(y
i1
,y
i2


,y
im
)
[0024]
其中m表示单个音频段中帧的个数,x
im
表示第i个音频段xi的第m帧,然后由聚合后的包级预测与弱标注计算全局损失,全局损失函数使用二分类交叉熵损失:
[0025]
l
global
(xi)=bec(yi,zi)
[0026]
其中zi表示xi的标签。
[0027]
进一步的,步骤三中设计的帧级损失函数动机如下,先给出如下定义:如果xi包含某个事件,那么称对xi在该事件上的所有帧级预测为有效预测,有效预测是局部平滑的;如果xi不包含某个事件,称对xi在该事件上的所有帧级预测为无效预测,无效预测趋近于0;
[0028]
帧级损失函数l
frame
(xi)的表达式如下:
[0029][0030][0031]
l
frame
(xi)=lv(xi)+δili(xi)
[0032]
y^,y~分别表示有效预测和无效预测,lv(xi)表示在有效预测上的损失函数,li(xi)表示在无效预测上的损失函数,var(

)表示计算一组数的方差,y[1:u]即选取y中第1个到第u个数,u是一个超参数,表示平滑窗口的长度,δi表示无效预测损失权重,yi表示xi中所有帧的包级预测。
[0033]
进一步的,最后的优化目标如下:
[0034]
l(xi)=l
global
(xi)+δfl
frame
(xi)
[0035]
δf是超参数,表示帧级损失权重,l
global
为全局损失,l
frame
为帧级损失。
[0036]
进一步的,步骤四的具体实现方式如下;
[0037]
音频标记任务在录音级别上以微平均f1进行评估,事件定位任务使用微平均错误率er和f1值在1秒片段上评估;f1值越大越好,错误率越小越好;在评估时,先用验证集搜索每个类别的最佳阈值,具体为:对每个事件,在0.10到0.99之间等间距选取若干个数,然后分别以每个数作为阈值来计算在事件定位任务上的f1值,f1值最大的阈值即为该事件的最优阈值;然后再用到的最优阈值对测试集的样本进行分类,具体为:如果一帧在某个事件上的预测概率比该事件的阈值大,则认为该帧包含该事件,反之则不包含。
[0038]
与现有技术相比,本发明的优点和有益效果为:
[0039]
传统的多实例学习方法只优化由包级预测与弱标注计算的全局损失,仅约束了包级预测,这导致帧级预测具有很大的随机性,在很大程度上影响了定位任务的准确率。我们通过精心设计的帧级损失增加了对帧级预测的直接约束,使得帧级预测更好的逼进真实情况,很大程度降低了声音事件检测的在定位任务上的误差。
附图说明
[0040]
图1为本发明的流程示意图。
[0041]
图2为本发明中所述方法在训练阶段的网络结构图,以单个训练样本为例。
[0042]
图3为对本发明所述方法中有效预测和无效预测的定义。
[0043]
图4和图5为本发明所述方法对比传统方法的实验结果。
具体实施方式
[0044]
下面结合附图和实施例对本发明做进一步的说明。
[0045]
本实施例提供的基于多实例学习的弱监督声音事件检测方法,具体步骤如下:
[0046]
步骤一,划分数据集,将数据集划分为训练集d
train
,测试集d
test
,验证集d
verify
,训练集只给出弱标注信息,测试集与验证集给出强标注信息。弱标注指对单个音频只给出其中包含的声音事件,强标注在弱标注的基础上还包括每个声音事件的开始和结束时间;
[0047]
进一步的,步骤一的具体实现方式如下;
[0048]
训练集由1370个时长为10s的音频段组成,对每个音频段xi都给出一个multi-hot标签zi∈{0,1}n,zi即为音频弱标注,其中n表示事件的个数,zi[n]=1,n∈{1,n}表示xi上存在第n个声音事件,zi[n]=0表示xi上不存在第n个声音事件。训练时,将每个音频段xi看做由一组帧组成的包,其中m表示单个音频段中帧的个数,x
im
表示第i个音频段xi的第m帧。目标就是要训练一个帧级分类器f(x),x表示单帧的声学特征。
[0049]
步骤二,从训练集d
train
中取出一个训练批次xi,先计算所述训练批次的声学特征,然后将声学特征按帧送入帧级分类器,并应用softmax得到帧级预测;
[0050]
进一步的,步骤二的具体实现方式如下;
[0051]
首先提取训练样本的声学特征,使用帧长1024,帧移400,1024点傅里叶变换和128个梅尔滤波器来提取每个音频xi的梅尔谱图做为声学特征,然后将每一帧声学特征送入帧级分类器得到帧级预测:
[0052]yim
=f(x
im
)
[0053]yim
表示第i个音频段的第m帧在n个事件上的预测概率。帧级分类器f由一个帧级特征提取器f
θ
(
·
)和一个分类层fc(
·
)组成;f
θ
(
·
)由3个卷积神经网络块和一个双向循环神经网络gru构成,每个卷积神经网络块分别包括:32、64、128个5
×
5维卷积核,relu激活函数,2
×
2最大池化层,gru包含100个隐藏单元;fc(
·
)就是一个简单的全连接层;
[0054]
步骤三,通过一个聚合函数将得到的帧级预测聚合为包级预测,由包级预测与弱标注计算全局损失,并根据弱标注将帧级预测拆分为无效预测和有效预测,然后计算提出的帧级损失,最终的优化目标为全局损失与帧级损失的加权和,通过反向传播更新网络参数;
[0055]
进一步的,步骤三的具体实现方式如下;
[0056]
首先通过一个聚合函数agg(

),将xi的所有帧级预测聚合为包级预测:
[0057]
yi=agg(y
i1
,y
i2


,y
im
)
[0058]
实验的聚合函数包括:
[0059][0060]
为了便于描述,公式没有再指出帧级预测来自第几个音频,只指出了是第几帧,yi表示单一帧的预测概率,ωi表示注意力聚合中的可学习参数。
[0061]
然后由聚合后的包级预测与弱标注计算全局损失,全局损失函数使用二分类交叉熵损失:
[0062]
l
global
(xi)=bec(yi,zi)
[0063]
本发明设计的帧级损失函数动机如下,先给出如下定义:如果xi包含某个事件,那么我们称对xi在该事件上的所有帧级预测为有效预测,如果xi不包含某个事件,我们称对xi在该事件上的所有帧级预测为无效预测,如附图3所示。为了便于描述,图中只展示了四种声音事件类型,分别为a,b,c,d,包级标注上的1和0分别表示在该音频段上是否存在对应的事件(图中描述的音频上只存在事件b和事件d)。
[0064]
通过观察与分析,我们发现以下两个观测:
[0065]
1.有效预测应该是局部平滑的:声音事件的持续时间通常是长于帧长的(实验的数据集中最短事件平均持续时间为3.8s,帧长通常为0.1s),即声音事件总是持续多帧,即在大多数情况下(除了事件边界出),相邻帧在单个事件上具有相同标签,那么分类器对相邻帧在单个事件上的预测值应该是彼此靠近的,我们称之为局部平滑;
[0066]
2.无效预测应该趋近于0:如果一个音频段中不含有某个事件,那么很显然它其中的所有帧都不会含有这个事件,即对无效预测,存在一个全0的强标注;
[0067]
根据以上两个观测,我们设计帧级损失函数如下:
[0068][0069][0070]
l
frame
(xi)=lv(xi)+δili(xi)
[0071]
y^,y分别表示有效预测和无效预测,lv(xi)表示在有效预测上的损失函数,li(xi)表示在无效预测上的损失函数。我们选用方差来衡量平滑程度,即var(

)表示计算一组数的方差,y[1:u]即选取y中第1个到第u个数。u是一个超参数,表示平滑窗口的长度,

表示按前面的方式对向量y^取值,并忽略最后不足长度u的部分。帧级损失函数l
frame
(xi)即为lv(xi)与li(xi)的加权和,yi表示xi中所有帧的包级预测;
[0072]
最后的优化目标如下:
[0073]
l(xi)=l
global
(xi)+δfl
frame
(xi)
[0074]
δi,δf是两个超参数,分别表示无效预测损失权重和帧级损失权重。相比之下,传统的多实例学习方法只优化l
global

[0075]
步骤四,重复进行步骤二至三,训练整体的网络模型,得到训练好的帧级分类器,使用训练后的帧级分类器在测试集d
test
和验证集d
verify
上计算预测概率,然后在验证集d
verify
上到最佳的阈值,用来对测试集d
test
样本进行分类。
[0076]
进一步的,步骤四的具体实现方式如下;
[0077]
音频标记任务在录音级别上以微平均f1进行评估;事件定位任务使用微平均错误率(er)和f1值在1秒片段上评估。f1值越大越好,错误率越小越好。在评估时,我们先用验证集来搜索每个类别的最佳阈值,具体为:对每个事件,在o.10到0.99之间等间距选取50个数,然后分别以每个数作为阈值来计算在事件定位任务上的f1值,f1值最大的阈值即为该事件的最优阈值;然后用到的最优阈值对测试集的样本进行分类,具体为:如果一帧在某个事件上的预测概率比该事件的阈值大,则认为该帧包含该事件,反之则不包含。
[0078]
附图4和附图5分别对比了加入帧级损失前后的有效预测和无效预测。图4显示,在没有帧级损失的情况下,有效预测的波动较大,而在加入帧级损失后,有效预测变得更平滑且更接近真实情况。图5显示,加上帧丢失后无效预测值更好的趋近于零。
[0079]
应当理解的是,上述针对实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,本发明可以有各种更改和变化。在不脱离本发明权利要求所保护的范围。所作的任何修改、等同替换、改进等,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

技术特征:


1.一种基于多实例学习的弱监督声音事件检测方法,其特征在于,包括如下步骤:步骤一,划分数据集,将数据集划分为训练集d
train
,测试集d
test
,验证集d
verify
,训练集只给出弱标注信息,测试集与验证集给出强标注信息;其中弱标注指对单个音频只给出其中包含的声音事件,强标注在弱标注的基础上还包括每个声音事件的开始和结束时间;步骤二,从训练集d
train
中取出一个训练批次x
i
,先计算所述训练批次的声学特征,然后将声学特征按帧送入帧级分类器,并应用softmax得到帧级预测,其中x
i
表示第i个音频段;步骤三,通过一个聚合函数将得到的帧级预测聚合为包级预测,由包级预测与弱标注计算全局损失,并根据弱标注将帧级预测拆分为无效预测和有效预测,然后计算帧级损失,最终的优化目标为全局损失与帧级损失的加权和,通过反向传播更新网络参数;步骤四,重复进行步骤二至三,训练整体的网络模型,得到训练好的帧级分类器,使用训练后的帧级分类器在测试集d
test
和验证集d
verify
上计算预测概率,然后在验证集d
verify
上到最佳的阈值,用来对测试集d
test
样本进行分类。2.如权利要求1所述的一种基于多实例学习的弱监督声音事件检测方法,其特征在于:步骤一的具体实现方式如下;训练集由l个时长为10s的音频段组成,对每个音频段x
i
都给出一个multi-hot标签z
i
∈{0,1}
n
,z
i
即为音频弱标注,其中n表示事件的个数,z
i
[n]=1,n∈{1,n}表示x
i
上存在第n个声音事件,z
i
[n]=0表示x
i
上不存在第n个声音事件;训练时,将每个音频段x
i
看做由一组帧组成的包,其中m表示单个音频段中帧的个数,x
im
表示第i个音频段x
i
的第m帧。3.如权利要求1所述的一种基于多实例学习的弱监督声音事件检测方法,其特征在于:步骤二的具体实现方式如下;首先提取训练样本的声学特征,使用帧长1024,帧移400,1024点傅里叶变换和128个梅尔滤波器来提取每个音频x
i
的梅尔谱图做为声学特征,然后将每一帧声学特征送入帧级分类器得到帧级预测:y
im
=f(x
im
)y
im
表示第i个音频段的第m帧在n个事件上的预测概率,其中m表示单个音频段中帧的个数,x
im
表示第i个音频段x
i
的第m帧;帧级分类器t由一个帧级特征提取器f
θ
(
·
)和一个分类层f
c
(
·
)组成;f
θ
(
·
)由3个卷积神经网络块和一个双向循环神经网络gru构成,每个卷积神经网络块分别包括:32、64、128个5
×
5维卷积核,relu激活函数,2
×
2最大池化层,gru包含100个隐藏单元;f
c
(
·
)就是一个简单的全连接层。4.如权利要求1所述的一种基于多实例学习的弱监督声音事件检测方法,其特征在于:步骤三中的聚合函数包括:最大值聚合:y=max(y
i
);平均聚合:线性softmax聚合:注意力聚合:
其中y
i
表示单一帧的预测概率,ω
i
表示注意力聚合中的可学习参数,首先通过一个聚合函数agg(

),将x
i
的所有帧级预测聚合为包级预测:y
i
=agg(y
i1
,y
i2


,y
im
)其中m表示单个音频段中帧的个数,x
im
表示第i个音频段x
i
的第m帧,然后由聚合后的包级预测与弱标注计算全局损失,全局损失函数使用二分类交叉熵损失:l
global
(x
i
)=bec(y
i
,z
i
)其中z
i
表示x
i
的标签。5.如权利要求1所述的一种基于多实例学习的弱监督声音事件检测方法,其特征在于:步骤三中设计的帧级损失函数动机如下,先给出如下定义:如果x
i
包含某个事件,那么称对x
i
在该事件上的所有帧级预测为有效预测,有效预测是局部平滑的;如果x
i
不包含某个事件,称对x
i
在该事件上的所有帧级预测为无效预测,无效预测趋近于0;帧级损失函数l
frame
(x
i
)的表达式如下:)的表达式如下:l
frame
(x
i
)=l
v
(x
i
)+δ
i
l
i
(x
i
)y^,y

分别表示有效预测和无效预测,l
v
(x
i
)表示在有效预测上的损失函数,l
i
(x
i
)表示在无效预测上的损失函数,var(

)表示计算一组数的方差,y[1:u]即选取y中第1个到第u个数,u是一个超参数,表示平滑窗口的长度,δ
i
表示无效预测损失权重,y
i
表示x
i
中所有帧的包级预测。6.如权利要求1所述的一种基于多实例学习的弱监督声音事件检测方法,其特征在于:最后的优化目标如下:l(x
i
)=l
global
(x
i
)+δ
f
l
frame
(x
i

f
是超参数,表示帧级损失权重,l
gloval
为全局损失,l
frame
为帧级损失。7.如权利要求1所述的一种基于多实例学习的弱监督声音事件检测方法,其特征在于:步骤四的具体实现方式如下;音频标记任务在录音级别上以微平均f1进行评估,事件定位任务使用微平均错误率er和f1值在1秒片段上评估;f1值越大越好,错误率越小越好;在评估时,先用验证集搜索每个类别的最佳阈值,具体为:对每个事件,在0.10到0.99之间等间距选取若干个数,然后分别以每个数作为阈值来计算在事件定位任务上的f1值,f1值最大的阈值即为该事件的最优阈值;然后再用到的最优阈值对测试集的样本进行分类,具体为:如果一帧在某个事件上的预测概率比该事件的阈值大,则认为该帧包含该事件,反之则不包含。

技术总结


本发明涉及一种基于多实例学习的弱监督声音事件检测方法。本发明充分利用了存在于音频帧中的确定性信息,在传统的多实例学习方法的基础上增加了两项对帧级预测的直接约束。首先定义了有效预测和无效预测,然后通过观测与推导,得出有效预测应该是局部平滑的,无效预测应该趋近于0的这两个推论,并根据这两个推论设计了两项帧级损失函数,使得帧级预测能够更好的逼近真实情况。本发明方法克服了传统的多实例学习方法仅在聚合后的包级预测上计算损失,导致帧级预测会产生很多不合理预测值的问题,提高了事件定位任务效果。提高了事件定位任务效果。提高了事件定位任务效果。


技术研发人员:

熊盛武 王旭

受保护的技术使用者:

武汉理工大学

技术研发日:

2022.07.05

技术公布日:

2022/11/8

本文发布于:2022-11-28 19:38:14,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/11143.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:事件   损失   音频   声音
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图