Conformer阅读笔记

论文:《Conformer: Convolution-augmented Transformer for Speech Recognition》

摘要

基于transformer和卷积神经网络cnn的模型在ASR上已经达到了较好的效果,都要优于RNN的效果。Transformer能够捕获长序列的依赖和基于内容的全局交互信息,CNN则能够有效利用局部特征。因此本文将transformer和cnn结合起来,对音频序列进行局部和全局依赖都进行建模,针对语音识别问题提出了卷积增强的transformer模型,称为conformer,模型性能比transformer和cnn都要好,成为了新的sota。在Libri Speech benchmark上,consformer不使用语言模型时WER就达到了2.1%/4.3%,使用外部语言模型时WER为1.9%/3.9%。

1 Introduction

基于self-attention或者convolutions的模型都有各自的局限性。虽然transformer可以对大范围的全局上下文进行建模,但是它不能提取细粒度的局部特征;卷积神经网络(CNN)可以利用局部信息进行计算,但是它的缺陷是需要更多的层和参数去捕获全局性信息。
最近的研究表明,将卷积和self-attention结合起来能够得到更好的提升效果,既能够学习到基于位置的局部特征,也能学习到基于内容的全局交互信息。
本文提出了一种新的self-attention和cnn结合起来的方式,在两方面都实现了最佳的效果:self-attention学习全局交互,cnn学习基于相对位置偏移的局部相关性,并将二者以sandwiched的方式结合起来,夹到一对前馈神经网络模块之间,模型结构如下图所示。提出的模型称为conformer,由两个macaron style(即feed-forward在两端,中间是multi-head self attention和convolution)的feed-forward的残差结构和multi-head self attention、convolution连接组成,后面跟着layernorm层进行归一化。
Conformer阅读笔记_第1张图片
实验表明conformer在librispeech上实现了sota效果,在使用外部语言模型的情况下,性能比之前效果最好的transformer transducer提高了15%。

2、Conformer Encoder

encoder部分首先使用卷积子采样层处理输入,然后再输入进多个conformer blocks,可以理解为把transformer模型结构中的decoder部分不变,encoder部分变成了上图所示的conformer encoder,接下来详细介绍上图中的conformer blocks。

2.1 Multi-Headed Self-Attention Module

Multi-headed self-attention(MHSA)使用的是Transformer-XL中的相对位置编码,这种方法可以让这个模块对不同输入长度的语音更通用、更具有鲁棒性。MHSA的模块结构图如下图3所示,它由pre-norm(即layernorm放置于残差结构内)、残差和dropout组成,有助于对更深层次的网络模型进行训练和正则化。
Conformer阅读笔记_第2张图片

2.2 Convolution Module

Convolution block模块结构图如下Figure 2所示,由Pointwise卷积、Depthwise卷积和Glu激活层、Swish激活层组成。BatchNorm只放到卷积层之后,以帮助训练深层的模型。
Depthwise卷积与Pointwise卷积讲解参考
Depthwise卷积与Pointwise卷积参数对比
Conformer阅读笔记_第3张图片

2.3 Feed Forward Module

在这里插入图片描述
Feed Forward(FFN) module的模型结构图如上图4所示,由两个线性变换和一个非线性的激活函数组成,并使用pre-norm和残差结构进行连接。

2.4 Conformer Block

Conformer block的整体结构包括两个FFN、MHSA和卷积模块组成。这种结构的灵感来自Macaron-Net,使用两个均为1/2权重的FFN,并且第二个FFN后接layernorm。文中3.4.3节的消融实验也表明这种结构的FFN比单个FFN效果更好。设 x i x_i xi是conformer block的输入, y i y_i yi是conformer block的输出,则用数学表示conformer block的输入输出如下:
Conformer阅读笔记_第4张图片

3、结论

文章将CNN和Transformer结合起来组成了Conformer模型结构,用于端到端语音识别,并进行了多个实验研究了conformer比transformer性能要好,还证明了其中每个组成部分和卷积模块都对模型的性能很重要。与之前在LibriSpeech数据集上的工作相比,conformer具有更好的精度和更少的参数,并实现了1.9%/3.9%的sota性能。

wenet中的conformer代码

你可能感兴趣的:(transformer,深度学习,人工智能)