Facebook 开源首个全卷积语音识别工具包 wav2letter++

开源最前线(ID:OpenSourceTop) 猿妹 编译

链接:https://towardsdatascience.com/introducing-wav2latter-9e94ae13246

语音识别系统是深度学习生态系统中发展最为迅速的领域之一。最近,Facebook AI Research(FAIR)团队发表了一篇研究论文,提出了一种新的基于卷积神经网络(CNNs)的语音识别技术。FAIR团队还开源了Wav2letter++,这是一个基于全卷积方法的高性能语音识别工具包。



目前,wav2letter 在GitHub 上的名称为 500lines,目前已经获得 20344 个 Star,4697  个Fork(GitHub地址:https://github.com/facebookresearch/wav2letter/


在深度学习领域,神经网络在语音识别系统中的应用并不新鲜,但大多局限于特定的任务,而且通常与RNN结合起来构成完整的系统。然而,最近在CNN领域的研究表明,它们有潜力在语音识别的所有领域达到最先进的性能,诸如机器翻译等。与其它方法相比,CNNs具有许多优点,这种工作流程更高效、更具竞争力。


全卷积语音识别体系结构


经过多次实验,FAIR团队决定依赖于一个整合多个不同CNN层的架构,有效地实现从波形处理到语言转录的端到端语音识别通道。该架构基于“散点”的模型,如下图所示:



学习前端模型的第一层是CNN,它处理初始音频格式并提取一些关键特征。这一层后面是一个卷积声学模型,这是一个具有门限单元CNN,可训练来预测音频流中的字母。卷积语言模型层从声学模型中生成候选转录文本。最后,集束搜索(Beam-Search)编码器则完成最终的转录单词序列。


FAIR团队将其全卷积语音识别模型与最先进的模型进行了比较,这些模型在获得具有一定的性能时,使用的培训数据要少得多,测试结果很令人满意,FAIR团队决定将这种方法的初始实现开源。


什么是 Wav2letter++


随着深度学习技术的发展,开发人员可以使用的自动语音识别(ASR)框架和工具包的数量增加。然而,全卷积语音识别模型所展示的进展,激励FAIR团队创建了一个完全基于c++实现的深度学习语音识别工具包Wav2letter++。Wav2letter++的核心设计有三个关键原则:

1) 实现能够有效地在包含数千小时语音的数据集上训练模型。

2) 建立简单、可扩展的模型,在语音识别系统中接入新的网络架构、损失函数等核心操作。

3) 简化语音识别模型从研究到部署的过渡。


基于这些设计原则,wav2after++实现了一个非常简单的架构,如下图所示:



为了更好地理解Wav2letter++架构,有一些要点值得强调:


  • ArrayFire张量库:Wav2letter++使用ArrayFire作为张量操作的主库。ArrayFire可以让你的高性能模型,并行计算在一个硬件未知的模型中,可以在多个后端执行,诸如CUDA GPU的后端和一个CPU后端。


  • 数据准备和特征提取:Wav2letter+支持多种音频格式进行特征提取。该框架在每次网络评估之前动态计算特性,并且通过异步并行计算来实现模型训练的效率最大化


  • 模型:Wav2letter++包含丰富的端到端序列模型以及广泛的网络架构和激活功能。


  • 可扩展的培训:Wav2letter++支持三种主要的培训模式:train(flat-start培训)、continue(继续检查点状态)和fork(例如转移学习)。训练管道使用数据并行、同步随机梯度下降以及NVIDIA Collective通信库支持的进程间通信无缝伸缩。


  • 解码:wave2letter ++解码是基于之前所研究的全卷积结构的集束搜索解码器。解码器负责输出音频文件的最终转录。


Wav2letter++实战


FAIR团队用Wav2letter++测试了一系列语音识别模型,如ESPNet、Kaldi和OpenSeq2Seq。这些实验基于著名的《华尔街日报》CSR数据集。初步结果表明,wave2letter ++在训练周期的各个方面都优于其他选择。



完全基于CNNs的语音识别系统的实现无疑是优化这类深度学习模型所需的计算能力和训练数据的好方法。Facebook的Wav2letter++实现已经被视为市场上最快的语音识别框架之一。在不久的将来,我们可能会看到这一研究领域的更多进展。

推荐↓↓↓
开源最前线
上一篇:这个很有”主见“的代码格式化工具 Prettier 专治代码洁癖! 下一篇:霸榜GitHub Trending!这个Python程序大全要火