Conformer: Convolution-augmented Transformer for Speech Recognition

by   Anmol Gulati, et al.

Recently Transformer and Convolution neural network (CNN) based models have shown promising results in Automatic Speech Recognition (ASR), outperforming Recurrent neural networks (RNNs). Transformer models are good at capturing content-based global interactions, while CNNs exploit local features effectively. In this work, we achieve the best of both worlds by studying how to combine convolution neural networks and transformers to model both local and global dependencies of an audio sequence in a parameter-efficient way. To this regard, we propose the convolution-augmented transformer for speech recognition, named Conformer. Conformer significantly outperforms the previous Transformer and CNN based models achieving state-of-the-art accuracies. On the widely used LibriSpeech benchmark, our model achieves WER of 2.1 using a language model and 1.9 test/testother. We also observe competitive performance of 2.7 small model of only 10M parameters.


page 1

page 2

page 3

page 4


Improving Mandarin Speech Recogntion with Block-augmented Transformer

Recently Convolution-augmented Transformer (Conformer) has shown promisi...

AdaMCT: Adaptive Mixture of CNN-Transformer for Sequential Recommendation

Sequential recommendation (SR) aims to model users' dynamic preferences ...

A Study of All-Convolutional Encoders for Connectionist Temporal Classification

Connectionist temporal classification (CTC) is a popular sequence predic...

ContextNet: Improving Convolutional Neural Networks for Automatic Speech Recognition with Global Context

Convolutional neural networks (CNN) have shown promising results for end...

A Battle of Network Structures: An Empirical Study of CNN, Transformer, and MLP

Convolutional neural networks (CNN) are the dominant deep neural network...

Easter2.0: Improving convolutional models for handwritten text recognition

Convolutional Neural Networks (CNN) have shown promising results for the...

Kaggle Kinship Recognition Challenge: Introduction of Convolution-Free Model to boost conventional

This work aims to explore a convolution-free base classifier that can be...

1 Introduction

End-to-end automatic speech recognition (ASR) systems based on neural networks have seen large improvements in recent years. Recurrent neural networks (RNNs) have been the de-facto choice for ASR [chiu2018state, rao2017exploring, Ryan19, tara2020] as they can model the temporal dependencies in the audio sequences effectively [graves2012sequence]. Recently, the Transformer architecture based on self-attention [vaswani2017attention, zhang2020transformer] has enjoyed widespread adoption for modeling sequences due to its ability to capture long distance interactions and the high training efficiency. Alternatively, convolutions have also been successful for ASR [li2019jasper, kriman2019quartznet, han2020contextnet, sainath2013deep, abdel2014convolutional], which capture local context progressively via a local receptive field layer by layer.

However, models with self-attention or convolutions each has its limitations. While Transformers are good at modeling long-range global context, they are less capable to extract fine-grained local feature patterns. Convolution neural networks (CNNs), on the other hand, exploit local information and are used as the de-facto computational block in vision. They learn shared position-based kernels over a local window which maintain translation equivariance and are able to capture features like edges and shapes. One limitation of using local connectivity is that you need many more layers or parameters to capture global information. To combat this issue, contemporary work ContextNet [han2020contextnet] adopts the squeeze-and-excitation module [hu2018squeeze] in each residual block to capture longer context. However, it is still limited in capturing dynamic global context as it only applies a global averaging over the entire sequence.

Recent works have shown that combining convolution and self-attention improves over using them individually [bello2019attention]. Together, they are able to learn both position-wise local features, and use content-based global interactions. Concurrently, papers like [yang2019convolutional, yu2018qanet] have augmented self-attention with relative position based information that maintains equivariance. Wu et al. [wu2020lite] proposed a multi-branch architecture with splitting the input into two branches: self-attention and convolution; and concatenating their outputs. Their work targeted mobile applications and showed improvements in machine translation tasks.

Figure 1: Conformer encoder model architecture.

Conformer comprises of two macaron-like feed-forward layers with half-step residual connections sandwiching the multi-headed self-attention and convolution modules. This is followed by a post layernorm.

Figure 2: Convolution module. The convolution module contains a pointwise convolution with an expansion factor of 2 projecting the number of channels with a GLU activation layer, followed by a 1-D Depthwise convolution. The 1-D depthwise conv is followed by a Batchnorm and then a swish activation layer.

In this work, we study how to organically combine convolutions with self-attention in ASR models. We hypothesize that both global and local interactions are important for being parameter efficient. To achieve this, we propose a novel combination of self-attention and convolution will achieve the best of both worlds – self-attention learns the global interaction whilst the convolutions efficiently capture the relative-offset-based local correlations. Inspired by Wu et al. [wu2020lite, lu2019understanding], we introduce a novel combination of self-attention and convolution, sandwiched between a pair feed forward modules, as illustrated in Fig 1.

Our proposed model, named Conformer, achieves state-of-the-art results on LibriSpeech, outperforming the previous best published Transformer Transducer [zhang2020transformer] by 15% relative improvement on the testother dataset with an external language model. We present three models based on model parameter limit constraints of 10M , 30M and 118M. Our 10M model shows an improvement when compared to similar sized contemporary work [han2020contextnet] with 2.7%/6.3% on test/testother datasets. Our medium 30M parameters-sized model already outperforms transformer transducer published in [zhang2020transformer] which uses 139M model parameters. With the big 118M parameter model, we are able to achieve 2.1%/4.3% without using language models and 1.9%/3.9% with an external language model.

We further carefully study the effects of the number of attention heads, convolution kernel sizes, activation functions, placement of feed-forward layers, and different strategies of adding convolution modules to a Transformer-based network, and shed light on how each contributes to the accuracy improvements.

2 Conformer Encoder

Our audio encoder first processes the input with a convolution subsampling layer and then with a number of conformer blocks, as illustrated in Figure 1. The distinctive feature of our model is the use of Conformer blocks in the place of Transformer blocks as in [zhang2020transformer, karita2019comparative].

A conformer block is composed of four modules stacked together, i.e, a feed-forward module, a self-attention module, a convolution module, and a second feed-forward module in the end. Sections 2.1, 1, and 2.3 introduce the self-attention, convolution, and feed-forward modules, respectively. Finally, 2.4 describes how these sub blocks are combined.

2.1 Multi-Headed Self-Attention Module

We employ multi-headed self-attention (MHSA) while integrating an important technique from Transformer-XL [dai2019transformerxl]

, the relative sinusoidal positional encoding scheme. The relative positional encoding allows the self-attention module to generalize better on different input length and the resulting encoder is more robust to the variance of the utterance length. We use pre-norm residual units 

[wang-etal-2019-learning-deep, nguyen2019transformers] with dropout which helps training and regularizing deeper models. Figure 3 below illustrates the multi-headed self-attention block.

Figure 3: Multi-Headed self-attention module. We use multi-headed self-attention with relative positional embedding in a pre-norm residual unit.

2.2 Convolution Module

Inspired by [wu2020lite], the convolution module starts with a gating mechanism [dauphin2017language]—a pointwise convolution and a gated linear unit (GLU). This is followed by a single 1-D depthwise convolution layer. Batchnorm is deployed just after the convolution to aid training deep models. Figure 2 illustrates the convolution block.

2.3 Feed Forward Module

The Transformer architecture as proposed in [vaswani2017attention]

deploys a feed forward module after the MHSA layer and is composed of two linear transformations and a nonlinear activation in between. A residual connection is added over the feed-forward layers, followed by layer normalization. This structure is also adopted by Transformer ASR models 

[zhang2020transformer, dong2018speech].

We follow pre-norm residual units [wang-etal-2019-learning-deep, nguyen2019transformers] and apply layer normalization within the residual unit and on the input before the first linear layer. We also apply Swish activation [ramachandran2017searching] and dropout, which helps regularizing the network. Figure 4 illustrates the Feed Forward (FFN) module.

Figure 4: Feed forward module. The first linear layer uses an expansion factor of 4 and the second linear layer projects it back to the model dimension. We use swish activation and a pre-norm residual units in feed forward module.

2.4 Conformer Block

Our proposed Conformer block contains two Feed Forward modules sandwiching the Multi-Headed Self-Attention module and the Convolution module, as shown in Figure 1.

This sandwich structure is inspired by Macaron-Net [lu2019understanding], which proposes replacing the original feed-forward layer in the Transformer block into two half-step feed-forward layers, one before the attention layer and one after. As in Macron-Net, we employ half-step residual weights in our feed-forward (FFN) modules. The second feed-forward module is followed by a final layernorm layer. Mathematically, this means, for input to a Conformer block , the output of the block is:


where FFN refers to the Feed forward module, MHSA refers to the Multi-Head Self-Attention module, and Conv refers to the Convolution module as described in the preceding sections.

Our ablation study discussed in Sec 3.4.3 compares the Macaron-style half-step FFNs with the vanilla FFN as used in previous works. We find that having two Macaron-net style feed-forward layers with half-step residual connections sandwiching the attention and convolution modules in between provides a significant improvement over having a single feed-forward module in our Conformer architecture.

The combination of convolution and self-attention has been studied before and one can imagine many ways to achieve that. Different options of augmenting convolutions with self-attention are studied in Sec 3.4.2. We found that convolution module stacked after the self-attention module works best for speech recognition.

3 Experiments

3.1 Data

We evaluate the proposed model on the LibriSpeech [panayotov2015librispeech]

dataset, which consists of 970 hours of labeled speech and an additional 800M word token text-only corpus for building language model. We extracted 80-channel filterbanks features computed from a 25ms window with a stride of 10ms. We use SpecAugment

[park2019specaugment, largespecaugment] with mask parameter (), and ten time masks with maximum time-mask ratio (), where the maximum-size of the time mask is set to times the length of the utterance.

3.2 Conformer Transducer

We identify three models, small, medium and large, with 10M, 30M, and 118M params, respectively, by sweeping different combinations of network depth, model dimensions, number of attention heads and choosing the best performing one within model parameter size constraints. We use a single-LSTM-layer decoder in all our models. Table  1 describes their architecture hyper-parameters.

For regularization, we apply dropout [JMLR:v15:srivastava14a] in each residual unit of the conformer, i.e, to the output of each module, before it is added to the module input. We use a rate of . Variational noise [graves2012sequence, jim1996analysis] is introduced to the model as a regularization. A regularization with weight is also added to all the trainable weights in the network. We train the models with the Adam optimizer [kingma2014adam] with , and and a transformer learning rate schedule [vaswani2017attention], with 10k warm-up steps and peak learning rate where is the model dimension in conformer encoder.

We use a 3-layer LSTM language model (LM) with width 4096 trained on the LibriSpeech langauge model corpus with the LibriSpeech960h transcripts added, tokenized with the 1k WPM built from LibriSpeech 960h. The LM has word-level perplexity 63.9 on the dev-set transcripts. The LM weight for shallow fusion is tuned on the dev-set via grid search. All models are implemented with Lingvo toolkit [lingvo].

Num Params (M) 10.3 30.7 118.8
Encoder Layers 16 16 17
Encoder Dim 144 256 512
Attention Heads 4 4 8
Conv Kernel Size 32 32 32
Decoder Layers 1 1 1
Decoder Dim 320 640 640
Table 1: Model hyper-parameters for Conformer S, M, and L models, found via sweeping different combinations and choosing the best performing models within the parameter limits.

3.3 Results on LibriSpeech

Method #Params (M) WER Without LM WER With LM
testclean testother testclean testother
 Transformer [wang2019transformer] - - - 2.26 4.85
 QuartzNet  [kriman2019quartznet] 19 3.90 11.28 2.69 7.25
 Transformer [synnaeve2019endtoend] 270 2.89 6.98 2.33 5.17
 Transformer [karita2019comparative] - 2.2 5.6 2.6 5.7
 LSTM 360 2.6 6.0 2.2 5.2
 Transformer [zhang2020transformer] 139 2.4 5.6 2.0 4.6
 ContextNet(S) [han2020contextnet] 10.8 2.9 7.0 2.3 5.5
 ContextNet(M) [han2020contextnet] 31.4 2.4 5.4 2.0 4.5
 ContextNet(L) [han2020contextnet] 112.7 2.1 4.6 1.9 4.1
Conformer (Ours)
 Conformer(S) 10.3 2.7 6.3 2.1 5.0
 Conformer(M) 30.7 2.3 5.0 2.0 4.3
 Conformer(L) 118.8 2.1 4.3 1.9 3.9
Table 2: Comparison of Conformer with recent published models. Our model shows improvements consistently over various model parameter size constraints. At 10.3M parameters, our model is 0.7% better on testother when compared to contemporary work, ContextNet(S) [han2020contextnet]. At 30.7M model parameters our model already significantly outperforms the previous published state of the art results of Transformer Transducer [zhang2020transformer] with 139M parameters.

Table 2 compares the (WER) result of our model on LibriSpeech test-clean/test-other with a few state-of-the-art models include: ContextNet [han2020contextnet], Transformer transducer [zhang2020transformer], and QuartzNet [kriman2019quartznet]. All our evaluation results round up to 1 digit after decimal point.

Without a language model, the performance of our medium model already achieve competitive results of / on test/testother outperforming the best known Transformer, LSTM based model, or a similar sized convolution model. With the language model added, our model achieves the lowest word error rate among all the existing models. This clearly demonstrates the effectiveness of combining Transformer and convolution in a single neural network.

3.4 Ablation Studies

3.4.1 Conformer Block vs. Transformer Block

A Conformer block differs from a Transformer block in a number of ways, in particular, the inclusion of a convolution block and having a pair of FFNs surrounding the block in the Macaron-style. Below we study these effects of these differences by mutating a Conformer block towards a Transformer block, while keeping the total number of parameters unchanged. Table 3 shows the impact of each change to the Conformer block. Among all differences, convolution sub-block is the most important feature, while having a Macaron-style FFN pair is also more effective than a single FFN of the same number of parameters. Using swish activations led to faster convergence in the Conformer models.

Conformer Model 1.9 4.4 2.1 4.3


1.9 4.4 2.0 4.5
  – Convolution Block 2.1 4.8 2.1 4.9
   – Macaron FFN 2.1 5.1 2.1 5.0
    – Relative Pos. Emb. 2.3 5.8 2.4 5.6
Table 3: Disentangling Conformer. Starting from a Conformer block, we remove its features and move towards a vanilla Transformer block: (1) replacing SWISH with ReLU; (2) removing the convolution sub-block; (3) replacing the Macaron-style FFN pairs with a single FFN; (4) replacing self-attention with relative positional embedding [dai2019transformerxl] with a vanilla self-attention layer [vaswani2017attention]. All ablation study results are evaluated without the external LM.

3.4.2 Combinations of Convolution and Transformer Modules

We study the effects of various different ways of combining the multi-headed self-attention (MHSA) module with the convolution module. First, we try replacing the depthwise convolution in the convolution module with a lightweight convolution [wu2019pay], see a significant drop in the performance especially on the dev-other dataset. Second, we study placing the convolution module before the MHSA module in our Conformer model and find that it degrades the results by 0.1 on dev-other. Another possible way of the architecture is to split the input into parallel branches of multi-headed self attention module and a convolution module with their output concatenated as suggested in [wu2020lite]. We found that this worsens the performance when compared to our proposed architecture.

These results in Table 4 suggest the advantage of placing the convolution module after the self-attention module in the Conformer block.

Model Architecture
Conformer 1.9 4.4
– Depthwise conv + Lightweight convolution 2.0 4.8
Convolution block before MHSA 1.9 4.5
Parallel MHSA and Convolution 2.0 4.9
Table 4: Ablation study of Conformer Attention Convolution Blocks. Varying the combination of the convolution block with the multi-headed self attention: (1) Conformer architecture; (2) Using Lightweight convolutions instead of depthwise convolution in the convolution block in Conformer; (3) Convolution before multi-headed self attention; (4) Convolution and MHSA in parallel with their output concatenated [wu2020lite].

3.4.3 Macaron Feed Forward Modules

Instead of a single feed-forward module (FFN) post the attention blocks as in the Transformer models, the Conformer block has a pair of macaron-like Feed forward modules sandwiching the self-attention and convolution modules. Further, the Conformer feed forward modules are used with half-step residuals. Table 5 shows the impact of changing the Conformer block to use a single FFN or full-step residuals.

Conformer 1.9 4.4 2.1 4.3
Single FFN 1.9 4.5 2.1 4.5
Full step residuals 1.9 4.5 2.1 4.5
Table 5: Ablation study of Macaron-net Feed Forward modules. Ablating the differences between the Conformer feed forward module with that of a single FFN used in Transformer models: (1) Conformer; (2) Conformer with full-step residuals in Feed forward modules; (3) replacing the Macaron-style FFN pair with a single FFN.

3.4.4 Number of Attention Heads

In self-attention, each attention head learns to focus on different parts of the input, making it possible to improve predictions beyond the simple weighted average. We perform experiments to study the effect of varying the number of attention heads from to in our large model, using the same number of heads in all layers. We find that increasing attention heads up to improves the accuracy, especially over the devother datasets, as shown in Table 6.

Dim per
4 128 1.9 4.6 2.0 4.5
8 64 1.9 4.4 2.1 4.3
16 32 2.0 4.3 2.2 4.4
32 16 1.9 4.4 2.1 4.5
Table 6: Ablation study on the attention heads in multi-headed self attention.

3.4.5 Convolution Kernel Sizes

To study the effect of kernel sizes in the depthwise convolution, we sweep the kernel size in of the large model, using the same kernel size for all layers. We find that the performance improves with larger kernel sizes till kernel sizes and but worsens in the case of kernel size , as show in Table 7. On comparing the second decimal in dev WER, we find kernel size 32 to perform better than rest.

3 1.88 4.41 1.99 4.39
7 1.88 4.30 2.02 4.44
17 1.87 4.31 2.04 4.38
32 1.83 4.30 2.03 4.29
65 1.89 4.47 1.98 4.46
Table 7: Ablation study on depthwise convolution kernel sizes.

4 Conclusion

In this work, we introduced Conformer, an architecture that integrates components from CNNs and Transformers for end-to-end speech recognition. We studied the importance of each component, and demonstrated that the inclusion of convolution modules is critical to the performance of the Conformer model. The model exhibits better accuracy with fewer parameters than previous work on the LibriSpeech dataset, and achieves a new state-of-the-art performance at / for test/testother.