随着深度学习的发展,语音识别由DNN-HMM时代发展到基于深度学习的“端到端”时代,这个时代的主要特征是代价函数发生了变化,但基本的模型结构并没有太大变化。总体来说,端到端技术解决了输入序列长度远大于输出序列长度的问题。
采用CTC作为损失函数的声学模型序列不需要预先将数据对齐,只需要一个输入序列和一个输出序列就可以进行训练。CTC关心的是预测输出的序列是否和真实的序列相近,而不关心预测输出的序列中每个结果在时间点上是否和输入的序列正好对齐。CTC建模单元是音素或者字,因此它引入了Blank。对于一段语音,CTC最后输出的是尖峰的序列,尖峰的位置对应建模单元的Label,其他位置都是Blank。
Sequence-to-Sequence方法原来主要应用于机器翻译领域。2017年,Google将其应用于语音识别领域,取得了非常好的效果,将词错误率降低至5.6%。如图1-4所示,Google提出的新系统框架由三部分组成:Encoder编码器组件,它和标准的声学模型相似,输入的是语音信号的时频特征;经过一系列神经网络,映射成高级特征henc,然后传递给Attention组件,其使用henc特征学习输入x和预测子单元之间的对齐方式,子单元可以是一个音素或一个字;最后,Attention模块的输出传递给Decoder,生成一系列假设词的概率分布,类似于传统的语言模型。
而随着Whisper语音转换模型的推出开启了可以用于实际任务的端到端(Task End-to-End)的时代。Whisper是一种自动语音识别(Automatic Speech Recognition,ASR)系统,旨在将语音转换为文本。作为一款多任务模型,它不仅可以执行多语言语音识别,还可以执行语音翻译和语言识别等任务。Whisper采用了Transformer架构的编码器-解码器模型,使其在各种语音处理任务中表现出色。Whisper模型架构如图1-5所示。
Whisper的核心技术在于其端到端的架构。输入的语音首先被分成30秒的模块,然后转换为log-Mel频谱图,再通过编码器计算注意力,最后将数据传递给解码器。解码器被训练用来预测相应的文本,并添加特殊标记,用于执行诸如语言识别、多语言语音转录和英语语音翻译等任务。Whisper还在Transformer模型中使用了多任务训练格式,利用一组特殊的令牌作为任务说明符或分类目标。Whisper的优点在于其强大的语音识别能力,能够处理各种口音、背景噪声和技术语言。
随着端到端技术的突破,深度学习模型不再需要对音素内部状态的变化进行描述,而是将语音识别的所有模块统一成神经网络模型,使语音识别朝着更简单、更高效、更准确的方向发展。
本文节选自《PyTorch语音识别实战》,获出版社和作者授权发布。
《PyTorch语音识别实战(人工智能技术丛书)》(王晓华)【摘要 书评 试读】- 京东图书 (jd.com)