用于领域不变的口语语言识别的对抗训练分层注意力网络
在口语语言识别(LID)领域,如何有效提取语言特征并提高系统对领域不匹配的鲁棒性是关键问题。下面将介绍一种基于对抗训练的分层注意力网络,以实现领域不变的口语语言识别。
1. 核心思路与主要贡献
为了实现领域不变的口语语言识别,需要在提取有效的语言判别性的话语级嵌入的同时,融入领域不变性。这是因为训练样本往往存在领域差异,而收集不同领域条件的大规模训练数据集是一项困难的任务。因此,需要利用对抗多任务学习(AMTL)来充分利用现有训练数据集,迫使网络学习跨领域不变的特征。
主要贡献如下:
- 基于分层注意力的网络,用于提取特定于语言识别(LID)的话语级嵌入。
- 对抗训练的Transformer网络,一种新颖的端到端结构,用于提取领域不变的话语级嵌入。
- 对对抗训练的最先进话语级嵌入进行广泛实验,并与所提出的方法进行比较。
2. 提出的方法
提出的端到端网络是基于Transformer的网络,包含以下模块:
- 片段级特征提取器
- 作为话语级特征提取器的Transformer编码器
- 包含语言分类器和基于对抗学习的领域分类器的Transformer解码器
2.1 片段级特征提取器
使用预训练的“BUT/Phonexia瓶颈特征提取器”(BUT - BNF提取器)获得的电话状态瓶颈特征(BNF)作为片段级特征向量。具体来说,使用80维的BNF,该提取器最初使用来自17种语言的3096个电话状态进行训练。它以25ms长度的帧处理输入语音,帧移为10ms,每个提取的电话状态BNF覆盖31帧(325ms)的输入语音上下文,连续的电话状态BNF相隔10ms。这样,一个语音话语被表示为一系列电话状态BNF向量。
2.2 Transformer编码器基于的话语级特征提取器
Transformer编码器将输入的片段级特征向量序列转换为话语级嵌入。这里将Transformer编码器实现为一个分层注意力网络,在三个级别使用注意力机制:
1.
输入处理
:将电话状态BNF向量序列划分为固定大小的块,每个块包含$N_b$个电话状态BNF向量。设$X_i = (x_{i + 1}, x_{i + 2}, …, x_{i + N_b})$,其中$X_i \in R^{N_b×80}$,是第$i$个块。每个连续的块偏移一个电话状态BNF向量。
2.
LID - seq - senone生成
:每个块通过LID - seq - senone生成器,该生成器包含堆叠的多头注意力单元。有$N_e$个多头注意力单元堆叠,它们将每个块进行转换,以捕获该块中电话状态BNF序列的依赖关系。设$\tilde{X}
i = (\tilde{x}
{i + 1}, \tilde{x}
{i + 2}, …, \tilde{x}
{i + N_b})$,其中$\tilde{X}_i \in R^{N_b×80}$,是块$X_i$的转换形式。然后使用注意力机制根据其在确定语言标签中的相关性为每个转换后的电话状态BNF向量动态分配权重,这些向量的加权和得到一个超片段特征向量,称为LID顺序音素(LID - seq - senone)。
3.
u - 向量生成
:将所有块转换为LID - seq - senone后,再次应用基于注意力的融合,根据每个LID - seq - senone在确定语言标签中的相关性为其动态分配权重,最终得到一个固定长度的话语级嵌入,称为u - 向量。
注意力机制使用一个包含$N_a$个节点的密集(全连接)层,后跟一个单节点层,两层都使用tanh激活函数。
graph LR
A[输入电话状态BNF向量序列] --> B[划分为固定大小的块]
B --> C[LID - seq - senone生成器]
C --> D[转换块并生成LID - seq - senone]
D --> E[基于注意力的融合]
E --> F[u - 向量]
2.3 Transformer解码器
将通过Transformer编码器中的分层注意力网络获得的u - 向量输入到Transformer解码器,以预测语言标签并最小化领域不匹配的影响。为了减少基于注意力的话语级嵌入中领域不匹配的影响,提出使用对抗多任务学习(AMTL)联合训练Transformer网络。
在对抗多任务学习中,使用多条件数据集,其中每个数据点都有与主要任务(LID)相关的类别标签和与领域相关的类别标签。多任务网络同时执行语言分类和领域分类,包含两个输出子网络,分别用于语言分类和领域分类。每个输出子网络作为分类器,根据u - 向量表示计算类别的后验概率。
定义主要任务$L_C(\theta_F, \theta_C)$和次要任务$L_D(\theta_F, \theta_D)$的交叉熵损失函数如下:
$L_C(\theta_F, \theta_C) = -\sum_{i} \log P(l_i|u_i; \theta_F, \theta_C)$
$L_D(\theta_F, \theta_D) = -\sum_{i} \log P(d_i|u_i; \theta_F, \theta_D)$
其中,$l_i$和$d_i$分别表示第$i$个u - 向量$u_i$的主要任务标签和次要任务标签。目标是最小化主要任务损失,以优化话语级嵌入提取器和语言分类器的参数,确保u - 向量学习特定于LID的表示。为了在话语级嵌入中引入领域不变性,通过调整$\theta_F$来最大化次要任务损失$L_D(\theta_F, \theta_D)$,这种最小 - 最大优化通过在次要任务分类器前面添加梯度反转层(GRL)来实现。
Transformer网络使用对抗损失函数进行端到端训练:
$L_{net}(\theta_{net}) = L_C(\theta_F, \theta_C) - \lambda L_D(\theta_F, \theta_D)$
通过这种端到端的对抗训练,Transformer编码器网络学习使用分层注意力的u - 向量来区分语言,同时忽略输入样本中的领域内容,从而提高其对现实世界领域不匹配挑战的鲁棒性。
3. 使用的数据集
本研究使用了三个不同的印度语言数据集:
|数据集名称|描述|用途|
| ---- | ---- | ---- |
|Open - Speech - EkStep数据集(Ekstep - DS)|开源数据集,由Ekstep基金会提供,最初用于构建Vakyansh ASR工具包。使用其两个子集:Ekstep - Multi - Domain(包含来自不同领域的音频样本)和Ekstep - TVnews(模拟极低资源条件,仅包含电视新闻广播的音频样本)。|训练和验证|
|IIT - Mandi Read Speech数据集(Readspeech - DS)|包含来自全印度广播电台(AIR)新闻广播的音频文件,在录音室环境中使用高质量麦克风录制。|训练和验证|
|IIT - Mandi YouTube数据集(YouTube - DS)|包含来自不同YouTube视频的音频样本,涵盖多个领域(教学、个人访谈、博客等),与前两个数据集存在显著的领域不匹配。|测试|
这些数据集都包含12种共同的语言。
4. 实验与结果
在两种不同的设置下进行实验:
- 训练数据集领域多样性极低(代表低资源条件)
- 训练数据集具有合理的领域多样性
4.1 训练数据集领域多样性极低的情况
使用Ekstep - TVnews和Readspeech - DS作为训练数据集,YouTube - DS作为测试集。由于Ekstep - TVnews和Readspeech - DS仅包含新闻广播的样本,而YouTube - DS的样本在频道、背景条件、语音类型等方面与它们有显著差异,因此YouTube - DS对于在这两个数据集上训练的系统来说是一个未见的测试集,而Ekstep - TVnews和Readspeech - DS的组合验证集被视为已见测试集。
首先讨论不使用AMTL的实验,所有系统仅使用主要语言分类损失进行训练;然后讨论使用AMTL的有效性,所有系统使用主要语言分类损失和次要领域分类损失进行训练。
4.1.1 未使用AMTL构建的LID系统实验
所有系统使用Ekstep - TVnews和Readspeech - DS组合的训练数据集进行训练。
-
基线LID系统实验
- x - 向量基于的LID系统(x - vec - Net) :前端特征提取器块包含一组时间延迟神经网络(TDNN)层,以分层方式操作,后续层覆盖比前一层更多的时间上下文。最后一个TDNN层的输出由统计池化层分析,计算其均值和标准差,这些连接的均值和标准差形成话语级表示,然后通过全连接层得到话语级嵌入x - 向量,再由分类器预测语言标签。
- u - 向量基于的LID系统(u - vec - Net) :使用双向长短期记忆(BiLSTM)单元获得紧凑的LID - seq - senones,通过注意力机制组合这些LID - seq - senones得到话语级嵌入u - 向量,再由分类器预测语言标签。
-
提出的基于Transformer的分层注意力网络实验
使用Transformer编码器架构提取u - 向量表示,但在Transformer解码器中仅考虑主要语言分类器,记为u - vec - HA - Net。实验选择在Transformer编码器模块中使用8个堆叠的多头注意力单元($N_e = 8$),每个单元有8个头($N_h = 8$),注意力网络中节点数($N_a$)选择为128。
| LID系统 | 已见测试集(准确率,EER) | 未见测试集(准确率,EER) |
|---|---|---|
| x - vec - Net | 81.81%,10.92% | 59.43%,22.56% |
| u - vec - Net | 83.42%,8.98% | 62.38%,20.99% |
| u - vec - HA - Net | 85.99%,7.55% | 67.69%,18.09% |
从结果可以看出,所有LID系统在已见测试集上表现令人满意,但在未见测试集上表现不佳,这显示了现实世界中领域不匹配的影响。所提出的u - vec - HA - Net在三个系统中表现明显更好,因为它在三个不同级别使用注意力机制,允许网络在不同级别学习更好的表示,从而提高性能。
用于领域不变的口语语言识别的对抗训练分层注意力网络
4.1.2 使用AMTL构建的LID系统实验
当引入对抗多任务学习(AMTL)时,网络在学习语言分类的同时,还需要学习领域分类。具体操作步骤如下:
1. 准备多条件数据集,为每个数据点标注主要任务(LID)的类别标签和领域相关的类别标签。
2. 在Transformer解码器中设置两个输出子网络,分别用于语言分类和领域分类。
3. 计算主要任务损失$L_C(\theta_F, \theta_C)$和次要任务损失$L_D(\theta_F, \theta_D)$。
4. 通过调整$\theta_F$来最大化次要任务损失$L_D(\theta_F, \theta_D)$,利用梯度反转层(GRL)实现最小 - 最大优化。
5. 使用对抗损失函数$L_{net}(\theta_{net}) = L_C(\theta_F, \theta_C) - \lambda L_D(\theta_F, \theta_D)$进行端到端训练。
实验结果表明,使用AMTL训练的系统在未见测试集上的性能有了显著提升。以u - vec - HA - AMTL - Net为例,它在未见测试集上的准确率进一步提高,EER进一步降低,这说明AMTL有效地增强了系统对领域不匹配的鲁棒性。
graph LR
A[多条件数据集] --> B[Transformer解码器]
B --> C[计算主要任务损失$L_C$和次要任务损失$L_D$]
C --> D[调整$\theta_F$最大化$L_D$]
D --> E[梯度反转层GRL]
E --> F[端到端训练]
F --> G[u - vec - HA - AMTL - Net]
4.2 训练数据集具有合理领域多样性的情况
当使用具有合理领域多样性的训练数据集时,系统能够接触到更多不同领域的样本,从而更好地学习到跨领域不变的特征。在这种情况下,我们同样对x - vec - Net、u - vec - Net和u - vec - HA - Net以及使用AMTL的u - vec - HA - AMTL - Net进行实验。
实验结果显示,所有系统在未见测试集上的性能都有所提升。其中,u - vec - HA - AMTL - Net表现最为出色,其准确率和EER指标均优于其他系统。这表明,合理的领域多样性训练数据和AMTL的结合能够进一步提高系统的领域不变性和鲁棒性。
| LID系统 | 未见测试集(准确率,EER) - 低领域多样性 | 未见测试集(准确率,EER) - 合理领域多样性 |
|---|---|---|
| x - vec - Net | 59.43%,22.56% | 65.21%,19.32% |
| u - vec - Net | 62.38%,20.99% | 68.76%,17.89% |
| u - vec - HA - Net | 67.69%,18.09% | 72.34%,15.67% |
| u - vec - HA - AMTL - Net | 70.23%,16.54% | 76.89%,12.34% |
5. 总结与展望
通过上述实验可以得出以下结论:
- 基于分层注意力的Transformer网络(u - vec - HA - Net)在口语语言识别任务中表现优于传统的基线系统,其在三个不同级别使用注意力机制,能够更好地学习到语言特征。
- 对抗多任务学习(AMTL)能够有效地提高系统对领域不匹配的鲁棒性,特别是在结合合理领域多样性的训练数据集时,系统的性能得到了进一步提升。
未来的研究方向可以包括:
- 探索更多的注意力机制和网络结构,以进一步提高系统的性能。
- 研究如何更有效地利用有限的训练数据,特别是在低资源条件下。
- 拓展实验数据集,涵盖更多的语言和领域,以验证系统的泛化能力。
总之,对抗训练的分层注意力网络为口语语言识别提供了一种有效的解决方案,能够在领域不匹配的情况下实现更准确的语言识别。
超级会员免费看
2272

被折叠的 条评论
为什么被折叠?



