{'fraction_non_alphanumeric': 0.03433011687525875, 'fraction_numerical': 0.01528613738415974, 'mean_word_length': 4.387201921427346, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Continuous Learning for Large-scale Personalized Domain Classification

Domain classification is the task to map spoken language utterances to one of the natural language understanding domains in intelligent personal digital assistants (IPDAs). This is observed in mainstream IPDAs in industry and third-party domains are developed to enhance the capability of the IPDAs. As more and more new domains are developed very frequently, how to continuously accommodate the new domains still remains challenging. Moreover, if one wants to use personalized information dynamically for better domain classification, it is infeasible to directly adopt existing continual learning approaches. In this paper, we propose CoNDA, a neural-based approach for continuous domain adaption with normalization and regularization. Unlike existing methods that often conduct full model parameter update, CoNDA only updates the necessary parameters in the model for the new domains. Empirical evaluation shows that CoNDA achieves high accuracy on both the accommodated new domains and the existing known domains for which input samples come with personal information, and outperforms the baselines by a large margin.


Introduction
Domain classification is the task of mapping spoken language utterances to one of the natural language understanding (NLU) domains in intelligent personal digital assistants (IPDAs), such as Amazon Alexa, Google Assistant, and Microsoft Cortana, etc. (Sarikaya, 2017). Here a domain is defined in terms of a specific application or functionality such as weather, calendar or music, which narrows down the scope of NLU. For example, given an utterance "Ask Uber to get me a ride" from a user, the appropriate domain would be one that invokes the "Uber" app.
Traditionally IPDAs have only supported dozens of well-separated domains, where each is defined in terms of a specific application or functionality such as calendar and weather (Sarikaya et al., 2016;Tur and De Mori, 2011;El-Kahky et al., 2014). In order to increase the domain coverage and extend the capabilities of the IPDAs, mainstream IPDAs released tools to allow thirdparty developers to build new domains. Amazons Alexa Skills Kit, Googles Actions and Microsofts Cortana Skills Kit are examples of such tools. To handle the influx of new domains, largescale domain classification methods like SHORT-LISTER (Kim et al., 2018b) have been proposed and have achieved good performance.
As more new domains are developed rapidly, one of the major challenges in large-scale domain classification is how to quickly accommodate the new domains without losing the learned prediction power on the known ones. A straightforward solution is to simply retraining the whole model whenever new domains are available. However, this is not desirable since retraining is often time consuming. Another approach is to utilize continual learning where we dynamically evolve the model whenever a new domain is available. There is extensive work on the topic of continual learning, however there is very little on incrementally adding new domains to a domain classification system.
To mitigate this gap, in this paper we propose the CONDA solution for continuous domain adaptation. Given a new domain, we keep all learned parameters, but only add and update new parameters for the new domain. This enables much faster model updates and faster deployment of new features to customers. To preserve the learned knowledge on existing domains to avoid the notorious catastrophic forgetting problem (Kemker et al., 2018), we propose cosine normalization for output prediction and domain embedding regularization for regularizing the new domain embedding. Also, we summarize the data for existing domains by sampling exemplars, which will be used together with the new domain data for continuous domain adaptation. This is shown to further alleviate the overfitting on the new domain data. Empirical evaluation on real data with 900 domains for initial training and 100 for continuous adaptation shows that CONDA out performs the baselines by a large margin, achieving 95.6% prediction accuracy on average for the 100 new domains and 88.2% accuracy for all seen domains after 100 new domains have been accommodated (only 3.6% lower than the upperbound by retraining the model using all domain data). To summarize, we make the following contributions in this paper: • We introduce the problem of continuous domain adaptation for large-scale personalized domain classification. 2 Background and Problem Definition

Domain Classification
Domain classification is the task of mapping spoken language utterances to one of the NLU domains in IPDAs. A straightforward solution to tackle this problem is to ask users to explicitly mention the domain name with a specific invocation pattern. For example, for the utterance "Ask Uber to get me a ride", the invocation pattern is "Ask {domain} to {perform action}". While it makes things much simpler for the domain classifier, this significantly limits natural interaction with IPDAs as users need to remember the domain names as well as the invocation pattern. To address this limitation, name-free domain classification methods were developed for more user friendly interactions, and have been getting more attention recently. We specifically focus on the name-free scenario in this paper.

The Shortlister System
To our knowledge, the state-of-the-art for namefree domain classification is SHORTLISTER (Kim et al., 2018b), which leverages personalized user provided information for better classification performance. Specifically, it contains three main modules. The first module is the LSTM-based encoder to map an utterance to a dimension-fixed vector representation. Given an utterance, each word is first represented as dense vectors using word embeddings, then a bidirectional LSTM (Graves and Schmidhuber, 2005) is be used to encode the full utterance.
The second module is the personalized domain summarization module. For each utterance from an IPDA user, a list of domains have been enabled by the user. These enabled domains can be viewed as user-specific personalized information. It has been shown that the domain classification accuracy can be significantly improved by leveraging information about enabled domains (Kim et al., 2018b). To represent the domain enablement information, first each enabled domain is mapped to a fixed-dimensional embedding, then a summarization vector is generated by taking an attention weighted sum (Luong et al., 2015) over the enabled domain embeddings.
Once the utterance representation and the enabled domain summarization are calculated, we concatenate the two vectors as the final representation. Then the third module, a feed-forward network, is used to predict the confidence score with a sigmoid function for each domain.

Continuous Domain Adaptation
As more new domains are developed, a major challenges in large-scale domain classification is quickly accommodating the new domains into the live production domain classification model without having to perform a full retrain. We refer to this problem as Continuous Domain Adaptation (CDA). In this paper, we specifically focus on the case of purely online learning where new domains where added one by one, since in practice we want to quickly integrate a new domain into the system as soon as it becomes available. We formally define the problem below.
Definition 1 (Online continuous domain adaptation) Given a collection of k domains S k = {s 1 , s 2 , . . . , s k }, suppose we have a dataset D k defined on S k where each item is a triple (u, s, E) with the utterance u ∈ U (the set for all possible utterances), the ground-truth domain s ∈ S k , and the enabled domains E ⊆ S k . Denote P(S k ) as the powerset of S k , a model M k : U × P(S k ) → S k has been trained on D k for domain classification with the accuracy M k (D k ). At some point, a new domain s k+1 is available with the corre- Taking advantage of D k+1 , the continuous adaptation for s k+1 is to update M k to M k+1 : U × P(S k+1 ) → S k+1 so that the model can make predictions for s k+1 , with the goal of maximizing M k+1 (D k+1 ) and minimizing M k (D k ) − M k+1 (D k ).

The CoNDA Solution
We introduce CONDA (Continuous Neural Domain Adaptation), a variation of SHORTLISTER that is capable of handling online CDA decribed in Definition 1. Similar to SHORTLISTER, it has three main modules.
The first module is the LSTM-based utterance encoder which shares the same architecture as the one used in SHORTLISTER, that maps an input utterance into a dense vector. After the training on the initial k-domain data D k , we freeze all parameters (i.e., the word embedding lookup and the bi-LSTM parameters) of this module from changing for the subsequent online domain adaptation tasks. Usually the value of k is large enough (hundreds or even thousands in real-world, at least 100 in our experiments), thus it is safe to assume that the parameters have been tuned sufficiently well to encode utterances from all existing and future domains. In this work we treat new words in the new domains as unknown and leave the problem of vocabulary expansion as future work.
The second module is the personalized domain summarization module which will map the enabled domains of an input utterance to a dense vector representation. It is also similar to the one in SHORTLISTER, except we will evolve the module as we are adding new domains. Specifically, given dataset D k on k domains for initial training, a domain embedding table T k ∈ R k×ds will be learned where d s is the size of the domain embeddings. When a new domain s k+1 is available, we expand T k to T k+1 ∈ R (k+1)×ds by: (1) freezing the learned embeddings for all known domains; (2) adding a new row t k+1 ∈ R ds to T k as the domain embedding for s k+1 and updating the new parameters t k+1 using all available training data at hand (i.e., the dataset D k+1 and the negative samples which will be discussed later in this section). We repeat this procedure whenever a new domain is available. To avoid over-fitting on t k+1 , we introduce a new regularization term into the loss function. We describe the details in Section 3.2.
The third module is a two-layer feed-forward network as the classifier. The first layer f (1) : R du+ds → R d h maps the concatenation of the utterance embedding (in size d u ) and domain summarization (in size d s ) into fix-sized hidden representation (in size d h ) using a fully connected layer followed by SELU activation (Klambauer et al., 2017), which is identical to the one in SHORTLIS-TER. Then the prediction layer f (2) : R d h → R k maps the hidden representation to the final domain prediction scores. Unlike SHORTLISTER where the final prediction score is the dot product of the weight vector and the hidden representation, we choose to use the cosine score of the two, referred to as cosine normalization. To support online CDA when a new domain is available, we apply a similar approach to the domain embedding expansion described above to expand the prediction layer. Specifically, denote W (2) k ∈ R k×d h be the weights for the prediction layer that has been trained on the initial k domains. To adapt the new domain d k+1 , we expand W (2) k to W (2) k+1 ∈ R (k+1)×d h by first freezing all learned parameters and adding a new row of learnable parameters As each time we only add one new domain, all training utterances during the update will have the same label. Thus, it's easy to overfit the new data such that catastrophic forgetting occurs. Inspired by (Rebuffi et al., 2017), we also propose a negative sampling procedure to leverage (limited) information on the known domains to alleviate the catastrophic forgetting problem. For the rest of the section, we will first talk about cosine normalization, and then domain embedding regularization, and finally negative sampling.

Cosine Normalization
As mentioned above, we use the cosine similarity of the weights and the hidden representation vector instead of the linear dot product in the prediction layer. Formally, let f , 1] k be the prediction layer for k domains with parameters W (2) k ∈ R k×d h . Given an input hidden representation h ∈ R d h from f (1) , the score for the i-th domain under cosine normalization is: To understand why cosine is better in the case of online CDA, let's first see the problem with the dot-product method. Suppose we are accommodating s k+1 with dataset D k+1 , because we train the new parameters w k+1 only on D k+1 where all utterances have the same domain s k+1 , the model can easily get good training performance on M k+1 (D k+1 ) by simply maximizing the values in w k+1 such that the dot product of the hidden representation with w k+1 is larger than the dot product with any other w i , 1 ≤ i ≤ k. Effectively this leads to the model predicting domain s k+1 for any given utterance. Using cosine normalization instead as described in Eq. 1 removes the incentive to maximize the vector length of w k+1 .
Example 1 Suppose M k has been initially trained on D k , and domain s 1 ="Weather". Given an utterance u = "What's the weather today?", M k correctly classifies u into s 1 . Now a new domain s k+1 ="Uber" is coming and we evolve M k to M k+1 . As the norm of the weights w k+1 could be much larger than w 1 in the prediction layer, even if the hidden representation h of u is closer to s 1 in direction, M k+1 will classifier u into s k+1 as it has a higher score, shown in Figure 1.a. However if we measure the cosine similarity, M k+1 will classify u correctly because we now care more about the directions of the vectors, and the angle θ 1 between h and s 1 is smaller (representing higher similarity) than the angle θ 2 between h and s k+1 , as shown in Figure 1.b.
As we use the cosine normalization, all prediction scores are mapped into the range [-1, 1]. Therefore it's not proper to use log-Sigmoid loss function as in SHORTLISTER. So accompanying with the cosine normalization, the following hinge loss function has been used instead: (2) where n is the number of all domains, o i is the predicted score for each domain, y is a n-dimensional one-hot vector with 1 in the ground-truth label and 0 otherwise. ∆ pos and ∆ neg are the hinge thresholds for the true and false label predictions respectively. The reason we use hinge loss here is that it can be viewed as another way to alleviate the overfitting on new data, as the restrictions are less by only requiring the prediction for the ground-truth to be above ∆ pos and false domain predictions below ∆ neg . Our experiments show that this helps the model get better performance on the seen domains.

Domain Embedding Regularization
In this section, we introduce the regularizations on the domain embeddings used in the personalized domain summarization module. Recall that given an utterance u with h u as the hidden representation from the encoder and its enabled domains E, personalized domain summarization module first compares u with each s i ∈ E (by calculating the dot product of h u and the domain embedding t i of s i ) to get a score a i , then gets the weight c i = exp (a i )/ a j exp (a j ) for domain s i , and finally computes the personalized domain summary as e i ∈E c i · t i . We observed that after training on the initial dataset D k , the domain embedding vectors tend to roughly cluster around a certain (random) direction in the vector space. Thus, when we add a new domain embedding s k+1 to this personalization module, the model tends to learn to move this vector to a different part of the vector space such that its easier to distinguish the new domain from all other domains. Moreover, it also increases the 2 norm of the new domain embedding t k+1 to win over all other domains.
Example 2 Suppose a similar scenario to Example 1 where we have s 1 = "Weather" in S k and a new domain s k+1 = "Uber". As most utterances in D k+1 have s k+1 as an enabled domain, it's easy for the model to learn to enlarge the norm of the new domain embedding t k+1 as well as make it close to the context of ride sharing, so that t k+1 can dominate the domain summarization. Then coordinating with the new weights w k+1 in the prediction layer f (2) k+1 , the network can easily predict high scores s k+1 and fit the dataset D k+1 . However, when we have utterances belonging to s 1 with s k+1 as an enabled domain, s k+1 may still dominate the summarization which makes the prediction layer tends to cast those utterances to s k+1 . We don't observe this on the initial training on D k because s k+1 was not visible at that time, thus cannot be used as an enabled domain. And it's even worse if s 1 is similar to s k+1 in concept. For example if s 1 = "Lyft", in this case the utterances of the two domains are also similar, making the dot product of t k+1 and the hidden representations of the s 1 's utterances even larger.
To alleviate this problem, we add a new domain embedding regularization term in the loss function to constrain the new domain embedding vector length and force it to direct to a similar area where the known domains are heading towards, so that the new domain will not dominate the domain summarization. Specifically, We call the first part of Eq. 3 on the right hand side as the domain similarity loss where we ask the new domain embedding t k+1 to be similar to known domain t i 's controlled by a Cosinebased hinge loss. As we may not need t k+1 to be similar to all seen domains, a coefficient λ i is used to weight the importance each similarity loss term. In this paper we encourage t k+1 to be more similar to the ones sharing similar concepts (e.g. "Uber" and "Lyft"). We assume all training data are available to us, and measure the similarity of two domains by comparing their average of utterance hidden representations.
Specifically, denote ϕ : U → R du as the LSTM-encoder that will map an utterance to its hidden representation with dimension d u . For each domain s i ∈ S k+1 , we first calculate the average utterance representation on D i Then we set λ i = λ dsl max{cos( h i , h k+1 ), 0} with λ dsl as a scaling factor.
Combining Eq. 2 and 3, the final loss function for optimization is: L total = L hinge + L der

Sampling Negative Exemplars
So far we developed our method by training only on the new data D k+1 , and use regularizations to prevent overfitting. However, in many real applications all of the training data, not only D k+1 , is actually available, but it's not affordable to retrain the full model using all data. Inspired by (Rebuffi et al., 2017), we can select a set of exemplars from the previously trained data to further improve continual adaptation.
Suppose we are handling the new domain s k+1 with D k+1 , and all data trained previously is D k on k domains S k . For each known s i ∈ S k , we pick N utterances from D i as the exemplars for s i . Denote P i be the exemplar set for s i and P = k i=1 P i be the total exemplar set. To generate each P i , we pick the top-N utterances that are closest to the average of the utterance hidden representation. Specifically, following Eq. 4, we first get the average representation h i , then P i is defined as follow: If multiple candidates satisfying Eq. 5 for P i , we randomly pick one as P i to break the tie. Once the domain adaptation for s k+1 is done, we similarly generate P k+1 and merge it to P . We repeat this procedure for negative sampling whenever a new domain is coming later.
As we add more new domains, the exemplar set P also grows. For some new domain D k+1 , we may have |P | |D k+1 |. In this case, the prediction accuracy on the new domain data could be very low as the model will tend to not making mistakes on P rather than fitting D k+1 . To alleviate this problem, when |P |> |D k+1 |, we select a subset P ⊆ P with |P |= |D k+1 |, and P will be used as the final exemplar set to train together with D k+1 . To generate P , we just randomly sample a subset from P , since it was observed to be effective in our experiments.

Experiment Setup
Dataset: We use a dataset defined on 1000 domains for our experiments which has 2.53M utterances, and we split them into two parts. The first  1  5  9  13  17  21  25  29  33  37  41  45  49  53  57  61  65  69  73  77  81  85  89  93  97 Accumulated accuracy on previously trained new domains  part contains 900 domains where we use it for the initial training of the model. It has 2.06M utterances, and we split into training, development and test sets with ratio of 8:1:1. We refer to this dataset as "InitTrain". The second part consists of 100 domains and is used for the online domain adaptation. It has 478K utterances and we split into training, development and test sets with the same 8:1:1 ratio. We refer to this dataset as "IncTrain".
Training Setup: We implement the model in PyTorch (Paszke et al., 2017). All of the experiments are conducted on an Amazon AWS p3.16xlarge 1 cluster with 8 Tesla V100 GPUs. For initial training, we train the model for 20 epochs with learning rate 0.001, batch size 512. For the continuous domain adaptation, we add the new domains in a random order. Each domain data will be trained independently one-by-one for 10 epochs, with learning rate 0.01 and batch size 128. For both training procedures, we use Adam as the optimizer. The development data is used to pick the best model in different epoch runs. We evaluate the classification accuracy on the test set.

Overall Performance
We first talk about the overall performance. In our experiments we select two baselines. The first one linear-full-update which simply extends  Figure 2 shows the accuracy for new domain adaptations. From the figure, here are the main observations. First, without any constraints, linear-full-update can easily overfits the new data to achieve 100% accuracy as shown in Figure 2(a), but it causes catastrophic forgetting such that the accuracy on seen domains is (almost) 0 as shown in Figure 2(b) and (c). By freezing the all trained parameters, the catastrophic forgetting problem is a bit alleviated for linear, but the accuracy on the seen domains is still very low as we add more new domains. Second, cos produces much better accuracy on seen domains with a bit lower accuracy on each new domain, showing the effectiveness of the Cosine normalization. Third, as we add more regularizations to the model, we get better accuracy on the seen domains ( Figure  2 (b) and (c)), at the cost of sacrificing a bit on the new domain accuracy (Figure 2 (a)). Also, cos+der+ns (the CONDA model) achieves the best performance, with an average of 95.6% accuracy for each new domain and 88.2% accuracy for all previously seen domains after we add 100 new ones, which is only 3.6% lower than the upperbound (by retraining the model on the whole dataset). These demonstrate the superiority of our method.

Micro-benchmarks
Using Different Number of Initial Domains: We vary the number of domains for initial training to see if it will have a big impact on the model performance. Specifically, we pick 100 and 500 domains from InitTrain, and use the same IncTrain data for domain adaptation. Figure 3 compares the model performance on these three different number (i.e., 100, 500, 900) of initial training domains. From the figure we can see that the curves share a similar pattern regardless of the number of initial domains, showing that our model is stable to the number of domains used for initial training.
Varying the hinge loss thresholds: We vary the classification hinge loss thresholds ∆ pos and ∆ neg to see how it will affect the performance. Specifically, we fix ∆ neg = 0.3 and vary ∆ pos from 0.5 to 1.0, and fix ∆ pos = 0.5 and vary ∆ neg from 0 to 0.4, respectively. For both of the them we use 0.1 as the step size. Figure 4 shows the model performance. From the figures, we summarize the following observations. First, as we increase ∆ pos , on average the accuracy on each new domain gets better (Figure 4(a)), but we loss performance on all seen domains (Figure 4(b)). This is in accord with our intuition that a larger ∆ pos puts more constraint on the new domain predictions such that it tends to overfit the new data and exacerbates catastrophic forgetting on existing domains. Second, as we increase ∆ neg , on average the accuracy on each new domain gets worse (Figure 4(c)), but we get better performance on existing domains. This is because a larger ∆ neg narrows down the prediction "margin" between positive and negative domains (similar to decreasing ∆ pos ), so that less constraint has been put onto predictions to allevi-ate overfitting on the new domain data.

Varying the domain similarity loss threshold:
We vary the threshold ∆ der to see how it will affect the model performance. Specifically, we vary ∆ der from 0 to 0.5 with step size 0.1, and Figure  5 shows the model performance. As we increase ∆ der , the performance on the new domains gets worse, and the drop is significant when ∆ der is large. On the other hand, the accumulated accuracy on seen domains increases when we start to increase ∆ der , and drops when ∆ der is too large. This means we when we start to make the new domain embeddings to be similar to the existing ones, we alleviate the problem that the new domain dominates the domain summarization. Thus the accuracy on existing domains improves at the cost of sacrificing some accuracy on the new domains. However, if we continue to increase ∆ der to make it very similar to some of existing domains, the new domain will compete with some existing ones so that we loss accuracy on both new and existing domains.

Varying the weights for domain similarity loss:
To see how the weighted domain similarity loss will affect the performance, we compare it against the plain version without the utterance similarity weights. Specifically, we set each λ i = λ dsl having the same value. And our experiments show that the plain version gets the average accuracy 94.1% on the new domains, which is 1.5% lower than the weighted version, and 88.7% accumulated accuracy on all domains after adding 100 new domains, which is 0.5% higher than the weighted version. This means we can get a bit higher accumulated accuracy at the cost of sacrificing more new domain accuracy. In real applications, the decision to whether use weighted domain similarity loss should be made by trading off the importance of the new and existing domains.
Varying the number of used negative exemplars: As we mentioned before, we downsample the negative exemplar set P to reduce the impact on new domain performance. To see if it's necessary, we compare it against the one without down-sampling. Our experiments show that without down-sampling, the model achieves 87.5% new domain accuracy on average which is 8.1% lower than the down-sampling version, and 87.2% accumulated accuracy on all domains which is 1.0% lower than the down-sampling one.   This means down-sampling effectively improve the model performance.
Effect of Cosine normalization in initial training: We have shown Cosine normalization with hinge loss works better than linear dot product with sigmoid loss (used in SHORTLISTER) for CDA. Here we compare the two on the regular training setting where we train the model from scratch on a large dataset. Specifically, we compare the initial training performance on 100, 500, and 900 domains which are the same as we used earlier. Table 1 shows the accuracy numbers. From the table we see that Linear works better than Cosine by 0.7-1.0% across different number of domains. Though the difference is not large, this means Linear could be a better option than Cosine when we train the model from scratch.
Varying the order of the new domains: To see if the incoming order of the new domains will affect the performance, we generate two different or-ders apart from the one used in overall evaluation. The first one sorts the new domains on the number of utterances in the decreasing order, and the second in the increasing order. Denote these three orders as "random", "decreasing", and "increasing", and we conduct domain adaptation on these orders. Our experiments show that they achieve 95.6%, 95.5%, and 95.6% average accuracy on new domains respectively, and 88.2%, 88.2%, and 88.1% accumulated accuracy on all domains after accommodating all 100 new domains. This indicates that there is no obvious difference on model performance, and our model is insensitive to the order of the new domains.
Using more new domains: We also experimented with adding a large number of new domains to see the limit of CONDA. Figure 6   after adapting a certain number of new domains (e.g., 200 new domains), it's more preferable to train the whole model from scratch.

Related Work
Domain Classification: Traditional domain classifiers were built on simple linear models such as Multinomial logistic regression or Support Vector Machines (Tur and De Mori, 2011). They were typically limited to a small number of domains which were designed by specialists to be well-separated. To support large-scale domain classification, (Kim et al., 2018b) proposed SHORTLISTER, a neural-based model. (Kim et al., 2018a) extended SHORTLISTER by using additional contextual information to rerank the predictions of SHORTLISTER. However, none of them can continuously accommodate new domains without full model retrains.
Continuous Domain Adaptation: To our knowledge, there is little work on the topic of continuous domain adaptation for NLU and IPDAs. (Kim et al., 2017) proposed an attention-based method for continuous domain adaptation, but it introduced a separate model for each domain and therefore is difficult to scale.
Continual Learning: Several techniques have been proposed to mitigate the catastrophic forgetting (Kemker et al., 2018). Regularization methods add constraints to the network to prevent important parameters from changing too much (Kirkpatrick et al., 2017;Zenke et al., 2017). Ensemble methods alleviate catastrophic forgetting by explicitly or implicitly learning multiple classifiers and using them to make the final predictions (Dai et al., 2009;Ren et al., 2017;Fernando et al., 2017). Rehearsal methods use data from existing domains together with the new domain data being accommodated to mitigate the catastrophic forgetting (Robins, 1995;Draelos et al., 2017;Rebuffi et al., 2017). Dual-memory methods introduce new memory for handling the new domain data (Gepperth and Karaoguz, 2016). Among the existing techniques, our model is most related to the regularization methods. However, unlike existing work where the main goal is to regularize the learned parameters, we focus on regularizations on the newly added parameters. Our model also shares similar ideas to (Rebuffi et al., 2017) on the topic of negative exemplar sampling.

Conclusion and Future Work
In this paper, we propose CONDA for continuous domain adaptation. By using various normalization and regularizations, our model achieves high accuracy on both the accommodated new domains and the existing known domains, and outperforms the baselines by a large margin. For future work, we consider extending the model to handle unknown words. Also, we want to find a more principled way to down sample the negative exemplars.