Learning not to Discriminate: Task Agnostic Learning for Improving Monolingual and Code-switched Speech Recognition

by   Gurunath Reddy Madhumani, et al.

Recognizing code-switched speech is challenging for Automatic Speech Recognition (ASR) for a variety of reasons, including the lack of code-switched training data. Recently, we showed that monolingual ASR systems fine-tuned on code-switched data deteriorate in performance on monolingual speech recognition, which is not desirable as ASR systems deployed in multilingual scenarios should recognize both monolingual and code-switched speech with high accuracy. Our experiments indicated that this loss in performance could be mitigated by using certain strategies for fine-tuning and regularization, leading to improvements in both monolingual and code-switched ASR. In this work, we present further improvements over our previous work by using domain adversarial learning to train task agnostic models. We evaluate the classification accuracy of an adversarial discriminator and show that it can learn shared layer parameters that are task agnostic. We train end-to-end ASR systems starting with a pooled model that uses monolingual and code-switched data along with the adversarial discriminator. Our proposed technique leads to reductions in Word Error Rates (WER) in monolingual and code-switched test sets across three language pairs.



page 1

page 2

page 3

page 4


Learning to Recognize Code-switched Speech Without Forgetting Monolingual Speech Recognition

Recently, there has been significant progress made in Automatic Speech R...

Continual Learning for Monolingual End-to-End Automatic Speech Recognition

Adapting Automatic Speech Recognition (ASR) models to new domains leads ...

LAE: Language-Aware Encoder for Monolingual and Multilingual ASR

Despite the rapid progress in automatic speech recognition (ASR) researc...

Fine-tuning of Pre-trained End-to-end Speech Recognition with Generative Adversarial Networks

Adversarial training of end-to-end (E2E) ASR systems using generative ad...

End-to-End Code Switching Language Models for Automatic Speech Recognition

In this paper, we particularly work on the code-switched text, one of th...

Joint Modeling of Code-Switched and Monolingual ASR via Conditional Factorization

Conversational bilingual speech encompasses three types of utterances: t...

Towards One Model to Rule All: Multilingual Strategy for Dialectal Code-Switching Arabic ASR

With the advent of globalization, there is an increasing demand for mult...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Recognizing code-switched speech is challenging for Automatic Speech Recognition (ASR) systems due to the lack of large amounts of labeled code-switched speech and text data for training Acoustic and Language Models. Recently, we showed that even if there is sufficient code-switched speech data to train models, there is a loss in performance on monolingual test sets when monolingual models are trained or fine-tuned with code-switched data [shah2020learning]. Since code-switched and monolingual speech co-occur, it is imperative that models perform well on code-switched speech while not deteriorating on monolingual speech.

With this goal in mind, in [shah2020learning] we proposed strategies for learning how to recognize code-switched speech while not forgetting monolingual speech recognition in the following scenarios:
Case 1: If monolingual and code-switched data are both available and a model can be retrained from scratch, regularization strategies and fine-tuning a pooled model that uses all data leads to best results across data sets.
Case 2: If only a monolingual model is available and a new model cannot be retrained from scratch, the Learning Without Forgetting [Li2018LearningWF] framework can be used to improve performance on all test sets compared to a monolingual model fine-tuned on code-switched data.

In this work, we build upon our findings for Case 1, in which we have access to both monolingual and code-switched data and can retrain a model from scratch. When we train a joint model to learn both monolingual and code-switched speech recognition tasks with task specific and shared layer parameters, the model tends to drift towards one particular task. This drift is because shared layers try to learn task specific features which is not ideal for a joint model that needs to perform well on both tasks. Hence, we need to learn task invariant or agnostic shared layer parameters which lead to task agnostic features at shared layers and discriminant features at task specific layers.

In this work, we learn task agnostic shared layer parameters by adversarial discriminative learning. We show that it is possible to improve performance by using adversarial learning over our previously proposed techniques of fine-tuning and regularization on monolingual and code-switched test sets that span three language pairs - Tamil-English, Telugu-English and Gujarati-English. In this work, we assume that there exists a classifier that will classify code-switched and monolingual utterances prior to recognition by our model, however, our technique can also be used if this assumption does not hold.

The rest of the paper is organized as follows. Section 2 relates our work to prior work. Section 3 describes our experimental setup and results. Section 4 concludes.

2 Relation to Prior Work

In this paper, we learn task agnostic shared layer parameters by adversarial learning inspired by the domain-adversarial training of neural networks 

[ganin2016domain]. Originally, domain-adversarial learning was proposed to adapt models trained on labeled data to new unlabeled data by adversarial discrimination. Adversarial training has been adopted recently for many tasks: [ganin2016domain] and [tzeng2017adversarial] use adversarial learning for domain adaptation for image classification.  [chen2017adversarial] utilized adversarial strategies for word boundary segmentation of the Chinese heterogeneous data. [shinohara2016adversarial] and [saon2017english] utilized adversarial learning for environment and speaker adaptation for robust speech recognition. Recently, [yi2018language] explored adversarial learning for transferring knowledge from source language to target language for low-resource ASR models.

The following approaches have been explored for end-to-end code-switched speech recognition. A hybrid attention based architecture is described in [Luo2018TowardsEC] for Mandrian-English code-switched ASR. Multiple fine-tuning approaches have been studied to improve code-switched speech recognition in [Winata2020MetaTransferLF] and [choudhury-etal-2017-curriculum]. Multi-task learning strategies have also been proposed for improving code-switched speech recognition in [cs-multi-task] and [Song2017AML]. Recently, we proposed approaches to learn code-switched speech recognition without forgetting monolingual speech recognition [shah2020learning] using various regularization and fine-tuning strategies, as well as the Learning Without Forgetting [Li2018LearningWF] framework.

3 Experimental Setup

Figure 1: Illustration of the proposed adversarial learning of task agnostic shared layer parameters for monolingual and code-switched speech recognition. (a) Baseline model trained with either monolingual or code-switched speech utterances. (b) Pooled model trained with both monolingual and code-switched speech utterances along with adversarial task (monolingual or code-switched) discriminator to learn task agnostic shared layer parameters. (c) Multi-task adversarial discriminator trained to recognize monolingual and code-switched speech recognition independently. CNN and BLSTM are the shared layers shown inside the dotted rectangular box. Set of FC and Softmax are the task specific layers. GRL, FC and Sigmoid form the adversarial task discriminator layers.

3.1 Data

We use the same data and baselines as described in [shah2020learning], which we mention in brief in this section. We carried out experiments for three languages - Tamil (TA), Telugu (TE) and Gujarati (GU) and their code-switched counterparts with English - Tamil-English, Telugu-English and Gujarati-English. Although all three languages were mixed with English, the type and extent of mixing was different. We used two types of speech data for training - conversational data as well as phrasal data, which is similar to read speech, while for testing, only phrasal data was used. We test our models on monolingual and code-switched data sets separately to ensure that models perform well on both. Hence, we have six test sets that we evaluate our models on. Table 1 describes the dataset size in hours.


  Train + Dev Train + Dev Test Test  
  (MONO) (CS) (MONO) (CS)  
 TA 212 hrs 177 hrs (CMI: 22.08) 24 hrs 19 hrs (CMI: 17.07)  
 TE 170 hrs 243 hrs (CMI: 23.85) 19 hrs 28 hrs (CMI: 21.62)  
 GU 241 hrs 186 hrs (CMI: 18.91) 26 hrs 18 hrs (CMI: 16.32)  


Table 1: Training and test data statistics

The Code Mixing Index (CMI) [gamback2014measuring] measures the amount of code-switching in a corpus by using word frequencies. We measure the CMI of our code-switched train and test sets and report them in parentheses in Table 1. The CMI of Telugu-English is the highest, while Gujarati-English is the lowest suggesting that Telugu-English is the most code-switched while Gujarati-English is the least code-switched among the languages under consideration.


 Test Set Exp1 Exp2 Exp3  
 TA-MONO 50.09 70.20 48.47  
 TA-CS 67.62 63.70 55.93  
 TE-MONO 46.90 57.52 45.15  
 TE-CS 59.91 44.46 40.75  
 GU-MONO 41.99 54.83 40.96  
 GU-CS 51.68 47.50 45.92  


Table 2: Baseline Word Error Rates (WER in %)

3.2 Baseline experiments

We denote our training monolingual datasets (, ),…,(, ) where {TE/TA/GU}, code-switched datasets (, ),…,(, ) where {TE-EN/TA-EN/GU-EN}. The labels are graphemes and the character set includes the union of English and the respective language’s characters. Further, we denote where is the monolingual or code-switched speech recognition task.

Our baseline model consists of two Convolution Neural Network (CNN) layers followed by five bidirectional long-short term (BLSTM) layers of 1024 dimension. These parameters are shared between the monolingual and code-switched task and are denoted by

. Further, the frame-wise posterior distribution is conditioned on the input frame , is calculated by a forward pass through the shared layers, and through a fully-connected layer, followed by softmax computation over labels as shown in Fig. 1(a). We maximize the conditional posterior distribution by minimizing the Connectionist Temporal Classification (CTC) [10.1145/1143844.1143891] criterion represented by .

The model parameters are trained using stochastic gradient descent (SGD) optimizer. The learning rate (

) is initialized with 3e-4. The model is trained for 40 epochs, with mini-batch size equal to 64 per GPU. The model parameters are updated using the back propagation algorithm.

We evaluated our proposed approach against three baselines, which we refer to as Exp1, Exp2 and Exp3.

  • Exp1: Monolingual-only baseline, consisting of models trained only on monolingual data

  • Exp2: Code-switched-only baseline, consisting of models trained only on code-switched data

  • Exp3: Pooled model, consisting of models trained using all the data from Exp1 and Exp2

An n-gram Language Model (LM), trained using transcriptions from the training data is used during decoding. Table

2 shows Word Error Rates (WER) of all three baselines on both monolingual and code-switched test sets. Exp3, which is the pooled model consisting of monolingual and code-switched data performs best on all test sets. Exp1 performs better on monolingual test sets than Exp2, and the reverse is true for code-switched test sets, as expected.

3.3 Adversarial task agnostic pooled model

From the baseline experiments we observe that the pooled model performs better than the monolingual or code-switched model for all test sets. Even though the pooled model performs significantly better than code-switched only baseline, the improvements are only marginally better on monolingual test sets compared to the monolingual only baseline.

We hypothesize that this is because shared layer parameters learn unwanted task specific features which drifts the performance of the monolingual recognition task towards the code-switched task. In order to alleviate this performance drift, we propose learning task invariant shared layer parameters in the pooled model by adversarial training as shown in Fig. 1(b). The adversarial pooled model consists of task independent shared () layers, task dependent () layers and adversarial task discriminator consisting of a fully connected (FC) layer, gradient reversal layer (GRL) and sigmoid activation. The parameters of the adversarial discriminator are denoted by .

The gradient reversal layer of the adversarial task discriminator ensures that features from the shared layers are as in-discriminant as possible for the given task so that the shared layers learn a generalized representation. The GRL contains no trainable parameters and acts as a identity transformer during forward pass. However, during back-propagation the GRL reverses the gradients of the previous layers i.e., multiplies the gradients by -1 and passes it to the next layers which helps in making the shared layer features in-discriminant to specific task. For each utterance , the adversarial task discriminator is trained to discriminate speech utterances into either monolingual or code-switched ().


where and represents input utterance and corresponding label and represents the total numbers of utterances in the dataset. Even though the discriminator is trained to minimize the classification loss, the gradients of the discriminator is negative so that the shared layers are trained to be task independent. The parameters of the adversarial task discriminator are updated as


In our previous work [shah2020learning]

, we found that speech recognition performance can be improved by initializing the parameters of the model from a pretrained model. Hence, shared layer parameters of the adversarial task agnostic pooled model is initialized from the baseline pooled model (Exp3) and trained with the loss function


The parameters of the model are updated as


The performance of the adversarial task agnostic pooled model (Exp5) compared with the pooled model (Exp3) is shown in Table 3. We can see that Exp5 performs better than Exp3 for all test sets. This indicates that the model benefits from adversarial task-discriminative training for improving both monolingual and code-switched speech recognition.

3.4 Multi-task adversarial speech recognition model

In our previous work [shah2020learning], we observed that a multi-task model trained with separate monolingual and code-switched task specific layers yields better performance than the pooled model. Hence, we trained a joint monolingual and code-switched multi-task model as shown in Fig. 1(c). The multi-task adversarial speech recognition model consists of shared layers (), task specific monolingual () and code-switched () layers, and the adversarial task discriminator () as shown in Fig 1(c). The shared layer parameters of the multi-task model are initialized from the pooled model as before and trained jointly end-to-end along with the adversarial task discriminator.


where , and are the individual monolingual and code-switched loss functions. Similar to Exp5, the utterance level adversarial loss makes the shared layer features as in-discriminant as possible to monolingual and code-switched speech utterances while learning discriminant features at task specific monolingual and code-switched private layers by updating the parameters


The performance comparison of Multi-task adversarial model (Exp6), adversarial task agnostic pooled model (Exp5), the best fine-tuned pooled model  [shah2020learning] (Exp4), and the pooled model (Exp3) are shown in Table 3. We can see that the Multi-task adversarial model (Exp6) outperforms all other models on all monolingual and code-switched test sets. The improved WER can be attributed to the fact that adversarial training helps the shared layer parameters to learn task invariant monolingual and code-switched features, and having task specific layers further help in improving accuracy for individual tasks.

An important caveat to note here is that task specific layers require knowledge of whether an utterance is code-switched or not. This can be achieved either by using a classifier to classify an utterance as monolingual or code-switched, or the output from both task-specific layers can be averaged to make the final prediction. In future work, we plan to compare the results of both these techniques to the proposed model that uses ground-truth knowledge of monolingual and code-switched utterances.


 Test Set Exp3 Exp4 Exp5 Exp6  
 TA-MONO 48.47 48.38 47.26 46.34  
 TA-CS 55.93 54.63 54.44 53.15  
 TE-MONO 45.15 44.18 44.22 43.07  
 TE-CS 40.75 39.32 40.19 39.19  
 GU-MONO 40.96 38.21 40.11 38.20  
 GU-CS 45.92 42.07 45.56 41.53  


Table 3: WER of pooled (Exp3), fine-tuned pooled model [shah2020learning] (Exp4), adversarial task agnostic pooled model (Exp5) and multi-task adversarial speech recognition model (Exp6)

3.5 Classification experiments

In order to test whether the shared layers indeed learn task-invariant parameters, we perform classification experiments. We trained a model with shared layers () and speech utterance classifier layers which classifies the utterances into monolingual or code-switched with GRL (adversarial discriminator) and without GRL (vanilla classifier) to observe the effect of GRL on the shared layers.

The validation accuracy of both models is shown in Fig. 2. We observe that the validation accuracy remains constant for the adversarial discriminator, while it keeps increasing for the vanilla classifier. This indicates that the shared layers below the classification layers learn task agnostic features in case of the adversarial discriminator. In contrast, the shared layers learn discriminative features for the vanilla classifier.

Figure 2: Validation accuracy of the vanilla classifier and the adversarial discriminator.

4 Summary and Conclusions

Although monolingual and code-switched speech recognition tasks are similar, we see that trying to improve performance on one hampers the performance on the other. Specifically, training a single model with pooled data containing both monolingual as well as code-switched speech performs better than individual models trained on task-specific data. However, gains on monolingual speech recognition are much lower compared to code-switched speech recognition due to the fact that shared layers learn some task-specific features.

In this paper, we show that learning task invariant shared layer parameters in a pooled model using adversarial training outperforms a pooled model on both monolingual as well as code-switched test sets across three language pairs. We further experiment with adding task specific layers to this model to allow the model to learn some task specific parameters and show improvements on all test sets. Thus, we show that to improve performance on both monolingual as well code-switched speech recognition task, having task invariant shared layers as well as task specific layers are necessary. In future work, we plan to explore techniques to incorporate a Language Identification (LID) system to classify utterances into code-switched or monolingual, as well as explore techniques to use outputs from task specific output layers in the absence of an LID system.