分享

FRILL:使用 TensorFlow-Lite 的设备上语音表示

 雨夜的博客 2022-02-23

视频介绍:FRILL:使用 TensorFlow-Lite 的设备上语音表示

表示学习是一种机器学习 (ML) 方法,它训练模型以识别可应用于各种下游任务的显着特征,范围从自然语言处理(例如,BERT和ALBERT)到图像分析和分类(例如,Inception层和SimCLR)。去年,我们引入了一个用于比较语音表示的基准和一个新的、通用的语音表示模型 ( TRILL)。TRILL 基于时间邻近性,并尝试将在时间上靠得很近的语音映射到低维嵌入,该嵌入捕获嵌入空间中的时间邻近性。自发布以来,研究社区已将 TRILL 用于各种任务,例如年龄分类、视频缩略图选择和语言识别。然而,尽管实现了最先进的性能,但 TRILL 和其他基于神经网络的方法需要更多的内存,并且比处理简单特征(如响度、平均能量、音调等)的信号处理操作需要更多的内存和更长的计算时间。

在我们最近发表在Interspeech 2021 上的论文“ FRILL:移动设备的非语义语音嵌入”中,我们创建了一个新模型,其大小是 TRILL 的 40%,以及一个可以在手机,准确率平均下降不到 2%。这标志着语音 ML 模型完全在设备上应用的重要一步,这将带来更好的个性化、改进的用户体验和更大的隐私,这是负责任地开发 AI 的一个重要方面。我们在 github 上发布了创建 FRILL 的代码,并在TensorFlow Hub上发布了一个预训练的 FRILL 模型。

FRILL:更小、更快的 TRILL

TRILL 架构基于ResNet50的修改版本,该架构在计算上对受限硬件(如手机或智能家居设备)造成负担。另一方面,像MobileNetV3这样的架构设计有硬件感知的AutoML,以在移动设备上表现良好。为了利用这一点,我们利用知识蒸馏将 MobileNetV3 的性能优势与 TRILL 的表示相结合。

在蒸馏过程中,较小的模型(即“学生”)尝试在AudioSet数据集上匹配较大模型(“老师”)的输出。原始 TRILL 模型通过优化在时间上接近的音频片段聚类的自监督损失来学习其权重,而学生模型通过忽略时间匹配的全监督损失来学习其权重,而是尝试匹配训练数据上的 TRILL 输出. 全监督学习信号通常比自我监督更强,可以让我们更快地训练。

file

选择最佳学生模型

我们使用各种学生模型进行蒸馏,每个模型都经过特定的架构选择组合(如下所述)进行训练。为了测量每个学生模型的延迟,我们利用了TensorFlow Lite (TFLite),这是一个能够在边缘设备上执行 TensorFlow 模型的框架。每个候选模型首先转换为 TFLite 的flatbuffer格式以进行 32 位浮点推理,然后发送到目标设备(在本例中为 Pixel 1)进行基准测试。这些测量帮助我们准确评估所有学生模型的延迟与质量权衡,并最大限度地减少转换过程中的质量损失。

架构选择和优化

我们探索了平衡延迟和准确性的不同神经网络架构和功能——参数较少的模型通常更小、更快,但表示能力较低,因此生成的表示不太常用。我们在多个超参数上训练了 144 个不同的模型,所有模型都基于 MobileNetV3 架构:

  1. MobileNetV3 大小和宽度: MobileNetV3 发布了不同的大小,用于不同的环境。该尺寸是指MobileNetV3架构我们使用。的宽度,有时也被称为阿尔法,成比例地减少或增加在每个层中的滤波器的数量。宽度为 1.0 对应于原始纸张中的过滤器数量。

  2. 全局平均池化: MobileNetV3 通常会生成一组二维特征图。这些被展平、连接并传递到瓶颈层。然而,这个瓶颈通常仍然太大而无法快速计算。我们通过取每个输出特征图中所有“像素”的全局平均值来减小瓶颈层内核的大小。我们的直觉是,由于信号的相关方面在时间上是稳定的,因此丢弃的时间信息对于学习非语义语音表示不太重要。

  3. 瓶颈压缩:学生模型权重的很大一部分位于瓶颈层。为了减小这一层的大小,我们应用了基于奇异值分解(SVD)的压缩算子,该算子学习了瓶颈权重矩阵的低秩近似值。

4.量化感知训练:由于瓶颈层拥有大部分模型权重,我们使用量化感知训练(QAT)在训练过程中逐渐降低瓶颈权重的数值精度。QAT 允许模型在训练期间调整到较低的数值精度,而不是在训练结束后引入量化可能导致性能下降。

结果

我们在非语义语音基准(NOSS) 和两项新任务上评估了这些模型中的每一个——一项具有挑战性的任务,用于检测说话者是否戴口罩和环境声音分类数据集的人类噪声子集,其中包括标签比如“咳嗽”和“打喷嚏”。在剔除具有严格更好替代方案的模型后,我们在质量与延迟曲线上只剩下 8 个“前沿”模型,这些模型在我们的 144 个批次中在相应的质量阈值或延迟下没有更快更好的性能替代方案楷模。我们仅在下面绘制了这些“前沿”模型的延迟与质量曲线,我们忽略了严格来说更差的模型。

file

FRILL 是性能最好的 10 毫秒以下推理模型,在 Pixel 1 上的推理时间为 8.5 毫秒(比 TRILL 快约 32 倍),并且大约是 TRILL 的 40%。前沿曲线在大约 10 毫秒的延迟处处于平稳状态,这意味着在低延迟下,人们可以以最小的延迟成本获得更好的性能,而在超过 10 毫秒的延迟上实现更高的性能则更加困难。这支持我们选择实验超参数。FRILL 的 per-task 性能如下表所示。

褶边 颤音

大小 (MB) 38.5 98.1

延迟(毫秒) 8.5 275.3

Voxceleb1 * 45.5 46.8

Voxforge 78.8 84.5

语音指令 81.0 81.7

奶油-D 71.3 65.9

保存 63.3 70.0

蒙面讲话 68.0 65.8

ESC-50 HS 87.9 86.4

最后,我们评估每个超参数的相对贡献。我们发现,对于我们的实验,量化感知训练、瓶颈压缩和全局平均池化最能减少结果模型的延迟。同时,瓶颈压缩最能降低最终模型的质量,而池化对模型性能的影响最小。架构宽度参数是减小模型尺寸的重要因素,性能下降最小。

file

用于预测模型质量、延迟和大小的线性回归权重大小。权重表示更改输入超参数的预期影响。更高的权重表示更大的预期影响。

我们的工作是将语音机器学习研究的全部优势带入移动设备的重要一步。我们还提供了我们的 公共模型、相应的模型卡和评估代码,以帮助研究社区负责任地开发更多用于设备端语音表示研究的应用程序。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多