按关键词阅读:
参考论文:Sequence Transduction with Recurrent Neural Networks. arXiv 2012(Alex Graves)
由于 CTC 模型无法显示建模 Y 中词与词的依赖关系 , Transducer 模型在2012年被提出 。 Transducer 可以被看作是 CTC 模型的延伸 , 由文本预测网络(text prediction network)来建模语言模型 , 弥补了 CTC 的缺点 。 之后语言模型的隐状态和语音编码器的隐状态传递给联合网络(joint network) , 以预测当前时刻的输出 。
文章插图
图3:Transducer 结构图
值得注意的是 , Transducer 的状态转移矩阵和 CTC 稍有不同 , 在 CTC 中一个词连续出现两次会在后处理时被合并 , 而 Transducer 不支持这种表示 , 其主要原因为 Transducer 对语言模型进行了建模 , 每输出一个词它的 prediction network 的隐状态就会变化一次 。 并且 Transducer 支持同一帧对应多个输出单元 , 而 CTC 不支持 。 因为 CTC 和 Transducer 都是逐帧解码 , 语音结束解码过程结束 , 他们也被称作是帧同步(frame synchronized) 模型 。 与之相反的是 Seq2Seq 模型是逐词解码 , 直到出现 EOS 才结束 , 所以被称作词同步(word synchronized)模型 。
文章插图
图4:Transducer 转移矩阵
端到端语音识别优化有了大致的模型结构之后 , 科研人员们又从不同的方面对端到端模型进行了优化 。
数据增强
参考论文:SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition. INTERSPEECH 2019(Daniel S. Park, William Chan, Yu Zhang, Chung-Cheng Chiu, Barret Zoph, Ekin D. Cubuk, Quoc V. Le)
由于端到端模型需要大规模数据训练 , 而很多场景并没有那么多的数据 , 因此数据增强算法在端到端语音识别系统里最近被多次研究 。 其中最著名的数据增强算法为 Spec Augmentation 。 该方法简单实用 , 可以被看作是一种用于频谱的增强方法 , 来帮助神经网络学习有用的特征 。 为了使模型更加鲁棒 , 研究者采用了3种方法 , 对数据进行增强:
- Time-warp: 可通俗理解为在梅尓谱中沿着时间轴把任意一帧向左或向右扭曲随机距离 。
- Frequency mask:添加在频率 f 的连续梅尔谱上 , 将 [f0, f0+f]mask 。 其中 f是一个统一的0到 F 的参数 , f0 是选自 [0,v-f] 中的 。 v 则代表了梅尔频谱图的通道数量 。
- Time mask:添加在 t 的连续时间上 , 将谱图 [t0,t0+t] 全部掩盖掉 。 t 是一个0到 T 的均匀分布 。
延迟优化
参考论文:Towards Fast and Accurate Streaming End-to-End ASR. ICCASP 2019(Bo Li, Shuo-yiin Chang, Tara N. Sainath, Ruoming Pang, Yanzhang He, Trevor Strohman, Yonghui Wu)
端到端模型由于模型小 , 不需要额外的语言模型 , 所以很容易部署到移动设备之上 。 而在移动设备上的语音场景往往需要一个延时非常小的语音识别模型 。 例如 , 当用户说完“请为我查找歌曲晴天”时 , 系统应该尽可能快的进行响应 , 压缩延迟 。 迄今为止 , 有一系列工作对压缩 Transducer 的延迟展开了研究 。 其中比较著名的是 Google 所提出的 Endpointer 和其对应的关于延迟的惩罚 。 Endpointer 可以当做 Transducer 模型的句子结束符 EOS , 研究员们希望这个 EOS 可以尽早出现 , 然而过早的出现可能导致删除错误 , 所以 Google 的研究员提出了 Early and Late Penalties 去建模 EOS 出现位置 。
文章插图
在公式中 , 首先需要知道 EOS 所出现的真实时刻 , 之后如果 EOS 早出现或者晚出现(允许晚 t_buffer)都要进行相应的惩罚 。 然而 , 此种方法往往会带来对精度的损失 , 在语音识别任务中 , 往往更好的延迟会以牺牲精度为代价 。
端到端语音识别对比参考论文:On the Comparison of Popular End-to-End Models for Large Scale Speech Recognition. InterSpeech 2020(Jinyu Li, Yu Wu, Yashesh Gaur, Chengyi Wang, Rui Zhao, Shujie Liu)
在今年的 InterSpeech 的论文中 , 微软亚洲研究院和微软 Azure Speech 团队的研究员们对比了主流的 E2E 模型 , 其中包括 Transformer 和 RNN 的结构对比 , 以及在流式场景下 Transducer 和流式 S2S 的框架对比 , 所有试验均在超大规模数据集上进行 。 实验的结论为 , Transformer 模型比 RNN 模型效果稍好 , 而 Transducer 模型在流式场景下要好于流式的 S2S 模型 。 在此之后 , 研究员们在论文“Developing Real-time Streaming Transformer Transducer for Speech Recognition on Large-scale Dataset”中又探讨了 RNN 和 Transformer 模型在 Transducer 的优劣比较 , 实验结果表明 , Transformer 在精度上要好于 RNN , 在允许几百毫秒的延迟时从精度、速度上都要好于 RNN 。 然而 Transformer 模型在0延迟时计算代价要远远大于 LSTM , 需要良好的计算设备才能支持实时运行 。
稿源:(未知)
【傻大方】网址:http://www.shadafang.com/c/111J295602020.html
标题:带你读论文 | 端到端语音识别模型( 二 )