(ICASSP 19)SEMI-SUPERVISED AND POPULATION BASED TRAINING FOR VOICE COMMANDS(Speech Commands Dataset)

会议:ICASSP 2019
论文:SEMI-SUPERVISED AND POPULATION BASED TRAINING FOR VOICE COMMANDS RECOGNITION
作者:Oguz H. Elibol ; Gokce Keskin ; Anil Thomas

Abstract

提出了一种将超参数自动调整与半监督训练相结合的快速设计方法,建立了高精度、鲁棒的语音命令分类模型。所提出的方法允许快速评估网络架构以适应可用硬件的性能和功率限制,同时确保在现实场景中每个网络都有良好的超参数选择。利用基于学生/教师的半监督方法的大量未标记数据,在验证集中,分类精度从84%提高到94%。对于模型优化,我们通过基于种群的训练来探索超参数空间,并在训练单个模型的同时获得一个优化模型。

DISCUSSION

我们提出了一个深度学习模型和相关方法以减轻训练和部署语音命令识别系统的挑战。具体地说,与仅使用监督训练相比,使用半监督训练显著提高了模型的准确性和鲁棒性,从而使语音命令数据集的准确性从84%提高到94%。使用本文概述的半监督方法还允许在部署后学习,以便通过对部署期间观察到的(未标记的)数据进行定期重新训练来增加鲁棒性。尽管展示这种能力不在我们目前的工作范围内,但它是我们今后工作的一个主题。

此外,我们还证明了基于种群的训练是快速迭代不同模型的有效工具,因为它允许无需额外训练时间的超参数调整和调度查找,进而允许快速调查和尝试不同的网络拓扑,而无需担心调整。一个这样的优势是能够改变模型以适应特定应用的给定硬件的约束。使用基于种群的训练对计算资源有很大的需求,因为假设种群中的每个个体都可以并行训练。此外,该技术只允许在超参数空间中搜索,而不允许在体系结构空间中搜索。通过考虑要变异的个体的过去历史,可以改进变异当前参数(选择下一组参数)的方法。因此,尽管在解决这里提出的语音命令识别的部署和性能方面的挑战方面有所改进,但仍有改进的余地,这些都是我们今后工作的主题。
在这里插入图片描述
图5:(a)可视化超参数空间中人口的轨迹。红点是起点,黑线代表训练所采取的轨迹,蓝点代表当前人口的最终位置。(b)受过训练的人群的验证分数的最终分布。

INTRODUCTION

如本文所提到的,识别短发语音,关键词或语音命令在多个领域都引起了人们的兴趣。我们已经在通过语音用户界面与周围的设备进行语音交互[1]。。然而,对语音命令的准确和鲁棒检测的高功率和处理要求会限制人机交互。因此,能够快速设计出能够以最佳性能适合给定硬件的模型非常令人感兴趣。为新的硬件约束重新使用深度神经网络模型通常需要重新调整超参数和重新训练,这可能非常耗时。除了此类应用程序的硬件限制之外,仍然存在一个典型的问题,即没有足够的标记数据来实现强大的系统。即使在存在大量标记数据的情况下,与训练数据相比,部署这些系统的环境也可能具有不同的输入分布,从而导致准确性和健壮性显着下降。

在这项工作中,我们通过多种技术来解决这些问题。首先,我们表明可以通过半监督技术来训练鲁棒且准确的语音识别系统,该技术已被证明在视觉领域非常有效[2]。这种方法还允许系统在部署后从未标记的数据中不断学习,尽管半监督培训的这一方面超出了本研究的范围,并且是我们未来工作的一部分。其次,通过基于人口的训练[3]对模型参数进行自动超参数调整可以匹配或超过手动调整模型的验证精度。这种自动化方法有助于快速自定义模型大小,以适应特定的硬件约束,同时确保高验证精度。

我们使用Speech Commands Dataset[4]展示了我们的方法对分类任务的有效性。该数据集包含一组30个单词的一秒钟长话语,其质量各不相同,并且具有不同的重音。根据验证集中的分类准确性对模型进行评估,定义为定义为将输入样本正确标记为十二种可能的类别之一(是,否,上,下,左,右,停,走,开,关,未知词,安静)。与数据集中的标记数据(约65k)相比,未标记数据的数量(> 150k话语)要多,并且未标记数据包含未包含在标记数据集中的单词,因此使其可以实际部署。

在第二部分中,我们回顾了相关工作。在第3节中,我们介绍了数据处理,模型选择和半监督训练方法,用于训练模型并给出结果。在第4节中,我们介绍了基于总体训练的超参数调整和模型调整方法,并给出了结果。在第5节中,我们将讨论使用的技术的优缺点,以及这项工作可能的未来方向。

RELATED WORK

通常,为了提高模型的准确性和鲁棒性,使用了一组模型。在一个这样的示例中[5],作者使用了许多强大的神经网络模型(VGG16,Xception,ResNet50,InceptionV2,InceptionV3)的集合,以在语音命令数据集上实现高性能模型[4]。但是,从推论和训练的角度来看,部署具有变化的硬件要求的模型对于实际应用都是不现实的。

我们在半监督部分的工作与[2]密切相关,其中作者表明,结合使用噪声增强和学生-教师模型,可以得出非常有效的视觉工作量样本模型。[3]所做的工作启发了基于人口的超参数调整和模型适应训练的工作,其中他们表明,进化技术可以胜过对深层神经网络模型的人工调整,而该技术所花费的时间却没有在给定计算资源的情况下,比训练单个模型所需的时间更长。

SEMI-SUPERVISED DEEP NEURAL NET TRAINING FOR VOICE COMMANDS

在训练语音深度学习模型时,信号表示有多种选择。使用频谱图已被证明是语音处理中的有效特征[6]。因此,经过一些实验,我们还选择了使用梅尔缩放频谱图对原始音频信号进行预处理。将此路径与使用原始数据(导致模型过于复杂)或使用MFCC功能(导致性能下降)进行比较,可以看到最终性能有所提高。

扫描二维码关注公众号,回复: 10841609 查看本文章

使用以下内容保留的数据增强技术来提高模型的鲁棒性:a)噪声叠加(0.1,0.15,0.20,0.25)b)时间范围(0.81,0.93,1.07,1.23),c)音高偏移(-3.5,- 2.5,-2.0,-1.0、1.0、2.0、2.5、3.5)。数据集提供的背景噪声声音和生成的随机高斯噪声均用作噪声源。

由于信号的时间简洁性,我们选择将模型基于2D卷积网络。我们寻找最终网络拓扑的一般方法是从简单的网络开始,然后增加网络容量,直到观察到验证准确性的收益递减。我们还基于在数据集上测得的性能提升,尝试并结合了文献中存在的几种流行的网络主题。其中之一是在网络中使用残留连接[7],并且正如预期的那样,我们观察到了通过允许来自输出的梯度信号流来增加网络深度以改善性能的能力。其次,我们在卷积网络中使用了注意力模块(类似于[8]),以便在每个阶段关注输出要素地图的特定组成部分。用于此工作的最终架构如图1所示。

我们使用了语音命令数据集[4]来训练我们的网络。使用纯监督训练,顶级模型验证准确性为84%。我们能够通过半监督技术的一种变体将性能提高到94%,该变体先前已证明对视觉应用很有效[2]。简而言之,所使用的技术是从未标记数据中提取信息的两种不同方式的组合:a)如果将同一信号的两种不同噪声版本引入模型,则该模型应该给出相同的答案。因此,这两个噪声输入之间的模型输出分布的距离可以用作训练模型b的信号)假设有一个教师模型的表现略好于被训练的模型,则可以在没有标签的情况下将教师模型的输出用作训练(学生)模型的标签。教师模型是通过要训练的模型(学生)的参数(权重)的指数移动平均值来实现的。基本的直觉是,该教师网络是通过及时整合训练后的网络而形成的,因此其性能要比被训练的模型(学生)略胜一筹。
在这里插入图片描述
图1: 提议的网络具有五个相同的块(图的顶部),后面是两个完全连接的(FC)层。块:由两个注意子块和一个最大池化层组成,以将特征图的高度和宽度减少2。注意子块:滤波器是带ReLU输出的卷积滤波器,而门也是的卷积滤波器大小相同,但输出为S型。滤波器和门的输出按元素相乘。由于Gate的输出在0到1之间,因此可以将其视为门控(注意或忽略)滤波器的某些部分输出。门控输出之后是批处理规范和dropout。

图2显示了我们的训练过程。少量数据引入了带标记和未标记的混合数据。对于缺少标签的样本,教师网络的输出分布与训练网络之间的距离(KL散度)用作丢失信号。这称为一致性损失,这会增强学生和老师之间的一致性。对于标记为数据的数据,除了一致性损失外,还使用模型输出和标签之间的交叉熵损失(分类损失)。因为总损失是这两个损失的线性组合,所以这些损失的权重是模型的另一个超参数(使用第4节中提供的基于总体的训练进行调整)。
在这里插入图片描述
**图2:**半监督培训计划。训练的网络(学生)用θ表示,教师网络是θ的指数移动平均值,用θ’表示。同一信号的不同增强版本将馈入学生和教师网络。
在这里插入图片描述
图3: 验证准确度是针对有监督(红色曲线)和半有监督(绿色曲线)训练显示的训练时期数的函数。
验证精度与使用监督与半监督技术进行训练的同一网络的训练时期的函数关系如图3所示。使用半监督训练,我们既可以得到更高的最终精度,也可以更快地收敛到最高精度。监督模型的主要故障模式是语音命令与静音和未知单词的混淆(图4)。考虑到模型永远不会看到测试集中任何未标记的单词,这不足为奇。在半监督方法中,由于可以使用未标记的数据,因此可以在更加多样化的命令集上训练模型,因此可以最大程度地缓解此问题。
在这里插入图片描述
图4: 用于同一模型的有监督和半监督训练的混淆图。上图显示了监督技术的结果,下图显示了半监督技术。

POPULATION BASED TRAINING FOR HYPER-PARAMETER TUNING AND MODEL ADAPTATION

我们使用了基于总体的训练来调整模型的一些超参数。简要地说,启动了50个模型进行并行训练,每个模型都将其感兴趣的超参数在预定范围内随机初始化。在此特定研究中,我们旨在调整三个关键的超参数-辍学率,一致性权重和模型的学习率。

在每2个训练周期结束时,将在保留数据集(而不是最终的验证集)上评估每个正在并行训练的模型,并选择总体中最佳的10%(5个模型)。推出了另外50个模型以进行并行训练,但是使用这些选定个体的权重进行初始化,并对该人群进行微扰微调。这与在遗传算法中完成的参数变异非常相似,但是在这种情况下,摄动直接在超参数上(而不在矢量化表示形式上),并且没有使用交叉。因为每个模型都是同时训练的,所以在训练单个模型所需的时间内,我们可以拥有一个几乎最优训练的模型-尽管以计算资源为代价。使用此方法的另一个优点是可以动态调整超参数,因为可以每2个周期分配一个新值。因此,无需尝试使用针对这些参数的手动设计的超参数计划表。

可以可视化超参数空间中的总体轨迹,以直观地了解该过程,如图5(a)所示。有趣的是,为超参数找到的最佳时间表似乎具有特定的方向,而不是完全随机的行走,并且进一步研究这种行为可以为训练过程提供更多的见解。我们已经使用这种技术来确保有一套很好的超参数和相关的时间表,并且本研究没有进一步研究特定的行为,但是对以后的工作很感兴趣。

图5(b)显示了最终人群的验证分数分布,总体中最好的个体最终准确率超过94%,该准确率也被用作最终模型。

在这种情况下,除了使用基于人口的训练来快速调整给定模型外,它还可以用于为其他设备重新使用模型。通常,这是通过压缩技术来完成的[9]。但是,当网络规模必须大大缩小时,这些技术可能还不够。我们使用基于人口的培训将模型的大小(250 Mb)减小到(1.5 Mb)以适合边缘设备,而性能命中率仅为4%(从94%降低到90%)。具体而言,通过上面强调的相同方法来训练相对较浅的卷积网络以实现此结果。

发布了83 篇原创文章 · 获赞 11 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Pandade520/article/details/104572000