近日,Facebook 人工智能研究院 ( FAIR ) 宣布开源首个全卷积语音识别工具包
wav2letter++。系统基于全卷积方法进行语音识别,训练语音识别端到端神经网络的速度是其他框架的
2 倍多。他们在博客中对此次开源进行了详细介绍。

图片 1

AI
科技评论按:在近二十年来,尤其是引入深度学习以后,语音识别取得了一系列重大突破,并一步步走向市场并搭载到消费级产品中。然而在用户体验上,「迟钝」可以算得上这些产品最大的槽点之一,这也意味着语音识别的延迟问题已经成为了该领域研究亟待解决的难点。日前,谷歌推出了基于循环神经网络变换器的全神经元设备端语音识别器,能够很好地解决目前语音识别所存在的延迟难题。谷歌也将这项成果发布在了官方博客上,AI
科技评论进行编译如下。

图片 2

今日凌晨,Facebook
AI研究中心宣布开源语音识别工具包wav2letter!
这是一款简单高效的端到端自动语音识别(ASR)系统,wav2letter
实现的是论文 Wav2Letter: an End-to-End ConvNet-based Speech Recognition
System 和 Letter-Based Speech Recognition with Gated
ConvNets 中提出的架构。

2012
年,语音识别研究表明,通过引入深度学习可以显著提高语音识别准确率,因此谷歌也较早地在语音搜索等产品中采用深度学习技术。而这也标志着语音识别领域革命的开始:每一年,谷歌都开发出了从深度神经网络到循环神经网络、长短期记忆网络、卷积网络等一系列新的架构,进一步地提高了语音识别的质量。然而在此期间,延迟问题依旧是该领域需要攻克的主要难点——当语音助手能够实现快速回答问题时,用户会感觉它有帮助得多。

由于端到端语音识别技术能够轻易扩展至多种语言,同时能在多变的环境下保证识别质量,因此被普遍认为是一种高效且稳定的语音识别技术。虽说递归卷积神经网络在处理具有远程依赖性的建模任务上很占优势,如语言建模、机器翻译和语音合成等,然而在端到端语音识别任务上,循环架构才是业内的主流。

16年11月,Facebook的三位研究者Ronan
Collobert, Christian Puhrsch, Gabriel
Synnaeve在arXiv.org上发布文章,正式提出了wav2letter。

AI
科技评论按:在近二十年来,尤其是引入深度学习以后,语音识别取得了一系列重大突破,并一步步走向市场并搭载到消费级产品中。然而在用户体验上,「迟钝」可以算得上这些产品最大的槽点之一,这也意味着语音识别的延迟问题已经成为了该领域研究亟待解决的难点。日前,谷歌推出了基于循环神经网络变换器的全神经元设备端语音识别器,能够很好地解决目前语音识别所存在的延迟难题。谷歌也将这项成果发布在了官方博客上,AI
科技评论进行编译如下。

有鉴于此,Facebook 人工智能研究院 (FAIR)
的语音小组上周推出首个全卷积语音识别系统,该系统完全由卷积层组成,取消了特征提取步骤,仅凭端到端训练对音频波形中的转录文字进行预测,再通过外部卷积语言模型对文字进行解码。随后
Facebook 宣布开源 wav2letter
++——这种高性能框架的出现,让端到端语音识别技术得以实现快速迭代,为技术将来的优化工作和模型调优打下夯实的基础。

文章中研究者介绍,这是一个简单的端到端语音识别模型,结合了基于卷积网络的声学模型和图解码。其被训练输出文字,转录语音,而无需强制对齐音素。wav2letter还引入了一个自动的序列标注训练分割准则,而不需要与CTC一致的对齐方式,这种方式更简单。

2012
年,语音识别研究表明,通过引入深度学习可以显著提高语音识别准确率,因此谷歌也较早地在语音搜索等产品中采用深度学习技术。而这也标志着语音识别领域革命的开始:每一年,谷歌都开发出了从深度神经网络到循环神经网络、长短期记忆网络、卷积网络等一系列新的架构,进一步地提高了语音识别的质量。然而在此期间,延迟问题依旧是该领域需要攻克的主要难点——当语音助手能够实现快速回答问题时,用户会感觉它有帮助得多。

与 wav2letter++ 一同宣布开源的,还有机器学习库 Flashlight。Flashlight
是建立在 C++基础之上的机器学习库,使用了 ArrayFire 张量库,并以
C++进行实时编译,目标是最大化 CPU 与 GPU 后端的效率和规模,而
wave2letter ++工具包建立在 Flashlight 基础上,同样使用 C++进行编写,以
ArrayFire 作为张量库。

项目代码已经发布至GitHub,如果你想直接开始进行语音转录,你可以使用同时被开源的预训练好的一些模型,前提是完成必要的安装。当然,目前能识别的只有英文语音哦!

日前,谷歌正式宣布推出端到端、全神经元的设备端语音识别器,为 Gboard
中的语音输入提供支持。在谷歌 AI
最近的一篇论文《移动设备的流媒体端到端语音识别》(Streaming End-to-End
Speech Recognition for Mobile
Devices,论文阅读地址:

这里着重介绍一下 ArrayFire,它可以在 CUDA GPU 和 CPU
支持的多种后端上被执行,支持多种音频文件格式(如 wav、flac
等),此外还支持多种功能类型,其中包括原始音频、线性缩放功率谱、log
梅尔谱 (MFSC) 和 MFCCs 等。

开源代码GitHub链接:

图片 3

Github 开源地址:

该图对比了识别同一句语音时,服务器端语音识别器以及新的设备端语音识别器的生成情况。图源:Akshay
Kannan,Elnaz Sarbar

在 Facebook
对外发布论文中,wav2letter++被拿来与其他主流开源语音识别系统进行对比,发现
wav2letter++训练语音识别端到端神经网络速度是其他框架的 2
倍还多。其使用了 1 亿个参数的模型测试,使用从 1~64 个
GPU,且训练时间是线性变化的。

论文arXiv链接:

关于语音识别的一点历史

图片 4

传统而言,语音识别系统由几个部分组成:一个将语音分割(一般为 10
毫秒的框架)映射到音素的声学模型;一个将因素合成单词的发音模型;以及一个表达给定短语可能性的语言模型。在早期的系统中,对这些组成部分的优化都是单独进行的。

图片来源:Facebook

图片 5

在 2014
年左右,研究人员就开始重点训练单个神经网络,来直接将一个输入语音波形映射到一个输出句子。研究人员采用这种通过给定一系列语音特征生成一系列单词或字母的序列到序列(sequence-to-sequence)方法开发出了「attention-based」(

上面为系统的网络结构图,主要由 4 个部分组成:

Facebook也发布了公开信介绍这一开源项目,包括该项目主要负责人Ronan
Collobert、Facebook AI研究中心负责人Yann
Lecan等在内的研究者都在推特上介绍了这一发布。

与此同时,当时的一项叫做 CTC(connectionist temporal
classification)的技术帮助将生产式识别器的延迟时间减半。事实证明,这项进展对于开发出
CTC 最新版本(改版本可以看成是 CTC 的泛化)中采用的 RNN-T
架构来说,是至关重要的一步。

可学习前端(Learnable front end):这部分包含宽度为 2
的卷积(用于模拟预加重流程)和宽度为 25 ms
的复卷积。在计算完平方模数后,由低通滤波器和步长执行抽取任务。最后应用于
log-compression 和 per-channel mean-variance normalization 上。

图片 6

循环神经网络变换器

声学模型:这是一款带有门线性单元(GLU)的卷积神经网络,负责处理可学习前端的输出内容。基于自动分割准则,该模型在字母预测任务上进行训练。

文摘菌摘录了部分公开信内容如下:

RNN-T
是不采用注意力机制的序列到序列模型的一种形式。与大多数序列到序列模型需要处理整个输入序列(本文案例中的语音波形)以生成输出不同,RNN-T
能持续地处理输入的样本和数据流,并进行符号化的输出,这种符号化的输出有助于进行语音听写。在谷歌研究人员的实现中,符号化的输出就是字母表中的字符。当人在说话时,RNN-T
识别器会逐个输出字符,并进行适当留白。在这一过程中,RNN-T
识别器还会有一条反馈路径,将模型预测的符号输回给自己以预测接下来的符号,具体流程如下图所示:

语言模型:该卷积语言模型一共包含 14
个卷积残差块,并将门线性单元作为激活函数,主要用来对集束搜索解码器中语言模型的预备转录内容进行评分。

我们刚刚开源我们的语音识别工具:wav2letter!

图片 7

集束搜索解码器(Beam-search
decoder)
:根据声学模型的输出内容生成词序列。

代码地址:

RNN-T 的表示:用 x 表示输入语音样本;用 y 表示预测的符号。预测的符号(
Softmax
层的输出)y通过预测网络被输回给模型,确保预测同时考虑到当前的语音样本以及过去的输出。预测和解码网络都是
LSTM RNN,联合的模型则是前馈网络(feedforward network
,相关论文查看地址:
2 个拥有 2048 个单元的层和 1 个有着 640 个维度的投射层组成。解码网络则由
8 个这样的层组成。图源:Chris Thornton

文章转载自: 作者:黄善清

有效地训练这样的模型本来就已经很难了,然而使用谷歌开发的这项能够进一步将单词错误率减少
5%
的新训练技术,对计算能力也提出了更高的要求。对此,谷歌开发了一种平行实现的方法,让
RNN-T 的损失函数能够大批地在谷歌的高性能云平台 TPUv2 芯片上高效运行。

我们将其与在LibriSpeech语料库中预先训练的一些模型一起发布,支持我们的最新论文Letter-Based
Speech Recognition with Gated ConvNets。

离线识别

wav2letter是在Torch上编写的一个简单的工具包,简化了对端到端语音识别系统的训练,并提供了一个允许快速解码的独立解码器。

在传统的语音识别引擎中,上文中提到的声学、发音和语言模型被「组合」成一个边缘用语音单元及其概率标记的大搜索图(search
graph)。在给定输入信号的情况下,当语音波形抵达识别器时,「解码器」就会在图中搜索出概率最大的路径,并读出该路径所采用的单词序列。一般而言,解码器假设基础模型由
FST(Finite State
Transducer)表示。然而,尽管现在已经有精密的解码技术,但是依旧存在搜索图太大的问题——谷歌的生成式模型的搜索图大小近
2GB。由于搜索图无法轻易地在移动电话上托管,因此采用这种方法的模型只有在在线连接的情况中才能正常工作。

它使我们能够复现我们最近的3篇论文(详见参考资料)。

为了提高语音识别的有效性,谷歌研究人员还试图通过直接将在设备上托管新模型来避免通信网络的延迟及其固有的不可靠性。因此,谷歌提出的这一端到端的方法,不需要在大型解码器图上进行搜索。相反,它采取对单个神经网络进行一系列搜索的方式进行解码。同时,谷歌研究人员训练的
RNN-T 实现了基于服务器的传统模型同样的准确度,但是该模型大小仅为
450MB,本质上更加密集、更加智能地利用了参数和打包信息。不过,即便对于如今的智能手机来说,450
MB
依旧太大了,这样的话当它通过如此庞大的网络进行网络信号传输时,速度就会变得很慢。

敬请期待我们的更多研究。

对此,谷歌研究人员通过利用其于 2016 年开发的参数量化( parameter
quantization )和混合内核(hybrid kernel
)技术(
ensorFlow Lite
开发库中的模型优化工具包来对外开放。与经过训练的浮点模型相比,模型量化的压缩高出
4 倍,运行速度也提高了 4 倍,从而让 RNN-T
比单核上的实时语音运行得更快。经过压缩后,模型最终缩小至 80MB。

Gabriel
Synnaeve,Vitaliy Liptchinsky,Neil Zeghidour和Christian
Puhrsch。

谷歌全新的全神经元设备端 Gboard 语音识别器,刚开始仅能在使用美式英语的
Pixel
手机上使用。考虑到行业趋势,同时随着专业化硬件和算法的融合不断增强,谷歌表示,希望能够将这一技术应用到更多语言和更广泛的应用领域中去。

更多参考资料:

via

语料库
LibriSpeech。

点击阅读原文,查看 Facebook 开源首个全卷积语音识别工具包 wav2letter++

论文
Letter-Based Speech Recognition with Gated ConvNets。

论文
Wav2Letter: an End-to-End ConvNet-based Speech Recognition
System。

论文
Learning Filterbanks from Raw Speech for Phone Recognition。

图片 8

往期精彩文章

点击图片阅读

GPS脚环计步、AI“鸡”脸识别,如何确保自己吃到了一只幸福健康的鸡

图片 9

图片 10

图片 11