介绍Facebook语音框架——Wav2letter++篇!
点击上方关注,All in AI中国
语音识别系统一直是深度学习生态系统中最发达的领域之一。当前一代语音识别模型主要依赖于用于声学和语言建模的递归神经网络(RNN)以及用于知识构建的特征提取管道等计算上比较昂贵的工件。虽然已经证明基于RNN的技术在语音识别任务中是有效的,但是它们需要大量的训练数据和计算能力,这通常会导致大多数组织无法使用。最近,Facebook AI Research(FAIR)团队发表了一篇研究论文,提出了一种基于卷积神经网络(CNNs)的新语音识别技术。 FAIR团队不仅进行了研究,并开源了Wav2letter ++,这是一种基于完全卷积方法的高性能语音识别工具包。
神经网络在语音识别系统中的应用在深度学习领域并不新鲜,但大多局限于特定的任务,并且经常与RNN结合成更完整的架构。然而,最近在CNN领域的研究表明,它们有可能在语音识别管道的所有领域实现最先进的性能,包括机器翻译、语言建模的语音合成等需要长时间建模的领域。 CNN相对于替代方案的巨大优势在于它们自然地模拟诸如梅尔频率倒谱系数之类的标准特征的计算建模,而无需昂贵的特征提取技术。因此,深度学习社区长期以来一直看好CNN的使用实现完整的语音识别工作流程,与现有的基于rnn的模型相比,这种工作流程更高效、更具竞争力。
全卷积语音识别架构
经过多次实验,FAIR团队决定依靠一种结合了不同CNN层的架构,有效地实现了从波形处理到语言转录的端到端语音识别管道。该体系结构基于下图所示的“基于离散点”模型:
可学习前端模型的第一层是CNN,它处理初始音频形式并提取其一些关键特征。该层之后是卷积声学模型,该模型是CNN,其中门控单元经过训练以预测来自音频流的字母。卷积语言模型层从声学模型产生候选转录。最后,beach-search 编码器生成组成最终转录的单词序列。
FAIR团队将其完全卷积语音识别模型与最先进的模型进行了对比,该模型通过显著减少的训练数据实现了相当的性能。结果非常有希望,FAIR团队决定将这种方法的初步实施开源。
Wav2letter ++
最近深度学习技术的进步使得开发人员可以使用的自动语音识别(ASR)框架和工具包的数量有所增加。然而,完全卷积语音识别模型中显示的进展激发了FAIR团队创建Wav2letter ++,这是一个完全基于C ++的深度学习语音识别工具包。 Wav2letter ++的核心设计受三个关键原则的驱动:
1)实现基础,以便能够在包含数千小时语音的数据集上有效地训练模型。
2)启用简单且可扩展的模型,以在语音识别系统中表达和合并新的网络架构、损失功能和其他核心操作。
3)简化从语音识别模型的研究到部署的过渡。
以这些设计原则为指导,Wav2latter ++实现了一个非常简单的架构,如下图所示:
为了更好地理解Wav2letter ++体系结构,有一些值得强调的要点:
- ArrayFire Tensor Library:Wav2letter ++使用ArrayFire作为 tensor 操作的主库。 ArrayFire支持在硬件无关模型中对高性能并行计算进行建模,该模型可在多个后端执行,包括CUDA GPU后端和CPU后端。
- 数据准备和特征提取:Wav2letter ++支持跨不同音频格式的特征提取。该框架在每次网络评估之前动态计算特性,并强制执行异步和并行化,以便在模型训练期间最大限度地提高效率。
- 型号:Wav2letter ++包括丰富的端到端序列模型组合以及广泛的网络架构和激活功能。
- 可扩展的训练:Wav2letter ++支持三种主要的训练模式::train((flat-start 训练),continue(检查点状态)和fork(例如迁移学习)。训练管道使用数据并行、同步随机梯度下降以及由NVIDIA集体通信库提供支持的进程间通信无缝扩展。
- 解码:Wav2letter ++解码器是基于之前探索过的完全卷积架构的波束搜索解码器。解码器负责输出音频文件的最终转录。
Wav2letter ++ in Action
FAIR团队针对一系列语音识别模型(如ESPNet,Kaldi和OpenSeq2Seq)测试了Wav2letter ++。这些实验基于著名的华尔街日报CSR数据集。最初的结果表明,Wav2letter ++在训练周期的各个方面都能胜过替代方案。
完全基于CNN的语音识别系统的实现当然是一种有趣的方法,其可以优化这些类型的深度学习模型所需的计算能力和训练数据。 Facebook的Wav2letter ++实现这种方法已经被归类为市场上最快的语音识别框架之一。在不久的将来,我们可能会看到这一研究领域取得更多进展。