Bayesian Optimized Continual Learning with Attention Mechanism

05/10/2019 ∙ by Ju Xu, et al. ∙ Peking University 0

Though neural networks have achieved much progress in various applications, it is still highly challenging for them to learn from a continuous stream of tasks without forgetting. Continual learning, a new learning paradigm, aims to solve this issue. In this work, we propose a new model for continual learning, called Bayesian Optimized Continual Learning with Attention Mechanism (BOCL) that dynamically expands the network capacity upon the arrival of new tasks by Bayesian optimization and selectively utilizes previous knowledge (e.g. feature maps of previous tasks) via attention mechanism. Our experiments on variants of MNIST and CIFAR-100 demonstrate that our methods outperform the state-of-the-art in preventing catastrophic forgetting and fitting new tasks better.



There are no comments yet.


page 1

page 2

page 3

page 4

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

Continual learning [Thrun1995]

, aiming to solve new tasks quicker without forgetting previous tasks, is a long-standing challenge for the development of artificial intelligence systems. Compared with transfer learning, continual learning not only learns new tasks well by leveraging knowledge from earlier tasks, but also should prevent forgetting previous tasks after learning new tasks.

While there are many different methods to achieve continual learning, we only consider continual learning in the scenario of deep learning. There are two groups of methods attempting to alleviate the problem of forgetting previous tasks. One is to keep the network architecture fixed and finetune parameters while learning new tasks. The other group is to expand the network architecture while new tasks come along. We will introduce the two groups below, respectively.

The first category of methods maintain a fixed network architecture with large capacity. When a new task arrives, the model parameters will be finetuned and some regularization term will be apply to prevent forgetting previous tasks [Kirkpatrick et al.2017, Zenke et al.2017]. In [Lee et al.2017]

, the authors proposed incremental moment matching (IMM) which incrementally matched the moment of the posterior distribution of the neural network to resolve the catastrophic forgetting problem. He and Jaeger 

[He and Jaeger2018]

introduced conceptor-aided backpropagation, which used conceptors to shield gradients from forgetting prior knowledge. Ronald and Christopher 

[Kemker and Kanan2017]

proposed to mitigate catastrophic forgetting by employing a generative autoencoder to generate previously learned examples that are replayed alongside novel information during consolidation. A recent method named P&C 

[Schwarz et al.2018] consists of a knowledge base and an active column, which were trained in two distinct, alternating phases. During the progress phase, only parameters in the active column were trained with the use of the knowledge base. After the completion of the progress phase, the active column is distilled into the knowledge base via Elastic Weight Consolidation [Kirkpatrick et al.2017] to mitigate forgetting in the knowledge base, thus forming the compress phase. In  [Serrà et al.2018]

, the authors employed a hard attention (HAT) mask learned concurrently to every task through stochastic gradient descent to achieve continual learning. Lopez-Paz and Ranzato 

[Lopez-Paz and Ranzato2017] proposed Gradient Episodic Memory (GEM) that stores some subsets of examples of previous tasks and trains the new task with these subsets. However, these approaches comprise additional loss terms for preventing catastrophic forgetting, and thus, with a limited amount of neural resources, they will inevitably lead to a tradeoff on the performance of old and new tasks.

The other group of approaches for preventing catastrophic forgetting is to change network architecture in response to the new tasks. For instance, Rusu et al. [Rusu et al.2016] proposed progressive neural networks (PGN) to block any changes to the previous parameters and expand the architecture by instantiating a pre-specified neural network for the new task. In PGN, previous learnt features were utilized via lateral connections. However, PGN typically results in an extremely large network when facing with many tasks since the newly added components are never optimized. Such a large network is expensive to store and even unnecessary due to its high redundancy. Dynamically Expandable Network (DEN) [Yoon and Yang2017]

considered group Lasso regularization to prune redundant parameters after expanding the network with a fixed size of nodes/filters and perform selective retraining over previous parameters. However, DEN is complicated due to that it contains a chain of sub-algorithms and has many hyperparameters. Besides, DEN is difficult to prevent catastrophic forgetting completely since it conducts selective retraining. Xu and Zhu 

[Xu and Zhu2018]

introduced Reinforced Continual Learning (RCL), which expands the architectures by reinforcement learning and strikes a balance between model complexity and model performance based on a sophisticated designed reward. However, RCL requires a large number of trials to reach satisfying performance. DEN and RCL utilize the previous learned knowledge directly, however, which might deteriorate the performance of learning the new tasks. This is because some of the previous learned knowledge might be irrelevant and interfere with learning the new tasks. Though PGN utilizes the previous learned knowledge via lateral connections, the inefficiency might rise since lateral connections will introduce many additional parameters (e.g., projection matrix and lateral connections).

In this work, we propose a new framework for continual learning to expand the network more sparsely and utilize previous knowledge better. Faced with a new task, deciding optimal number of nodes/filters to add for each layer is posed as a combinatorial optimization problem. Inspired by Bayesian optimization (BO) for tuning hyperparameters 

[Bergstra et al.2011, Snoek et al.2012], we utilize it to determine the number of nodes/filters added for each layer. In order to speed up the search process, we will initialize the search points based on previous tasks to warmstart the Gaussian process model. Inspired by attention mechanism in image caption [Chen et al.2017], we employ attention mechanism to learn how important the previous knowledge is for the new task. To the best of our knowledge, the proposal is the first attempt that applies the Bayesian optimization and attention mechanism for solving the continual learning problems, which could strike a significantly better balance between performance, network complexity and training time than existing approaches.

2 Preliminaries

2.1 Introduction to Bayesian optimization

Suppose our objective function is , we want to maximize it on domain , .

If we know the objective function and it is differentiable, we can always utilize gradient descent to optimize it. However, if an exact functional form for is not available (i.e., becomes a “black box” function), then how to optimize it? Bayesian optimization [Jones et al.1998] solves it by maintaining a probabilistic belief about and utilizing a acquisition function to determine where to evaluate the function next.

We denote as the -th sample, and as the observations of the objective function at . The accumulated observations are . We select the Gaussian process (GP) as the prior distribution of , due to its flexibility and tractability. The prior distribution is combined with the likelihood function . Now, we can combine these to obtain our posterior distribution over the “black box” function :

Bayesian optimization utilizes an acquisition function to determine the next point . We optimize the acquisition function to select the location of the next observation. In our work, we select the most popular one expected improvement (EI) [Jones et al.1998] as the acquisition function. We provide a brief introduction to EI.

Modeled with a Gaussian process, the function value at a given point

can be considered as a normal random variable with mean

and variance

. Suppose is the minimal value of observed so far. The improvement at corresponds to the utility function , where is a random variable. We can consider the EI to assess , . With the reparameterization trick, where , and we have which can be written as:



are the probability density function, cumulative density function of standard normal distribution, respectively.

(a) (b)
Figure 1: (a) BOCL expands the network adaptively when -th task arrives. (b) How Bayesian optimization works in our BOCL.

3 Our Approach: BOCL

In this section, we elaborate on the new framework for continual learning. BOCL is composed of a Bayesian optimization procedure and a task network. We employ Bayesian optimization to decide how many filters or nodes to be added in each layer. The task network can be any network of interest for solving a particular task, such as image classification. In this paper, we use a convolutional network (CNN) as the task network to demonstrate how BOCL adaptively expands this CNN to prevent forgetting, though our method can not only adapt to convolutional networks, but also to fully connected networks.

Figure 1(a) shows how BOCL expands the network and utilizes previous knowledge via attention mechanism when a new task arrives. After the learning process of task finishes and task arrives, we apply Bayesian optimization to decide the appropriate number of filters to be added to each layer. Figure 1(b) demonstrate how Bayesian optimization searches for the best architecture for a new task. In order to prevent semantic drift, we only train the newly added parameters. We apply attention mechanism (see Section 3.2) for utilizing previous knowledge efficiently. After we have trained the model for task , each newly added parameters will be memorized by the shape of every layer to prevent the caused semantic drift. During the inference time, each task only employs the parameters introduced in stage , and neglects parameters introduced in the later tasks. In the following, we will describe each component of our method in more details.

3.1 Bayesian Optimization

The input to the “black box” function is a vector

(i.e., indicates how many filters added in -th layer), and the output of the “black box” function is the model performance (e.g., the combination of test accuracy and model complexity shown in Eq. (10)). First, we build a Gaussian process model based on input samples, denoted as , where is obtained by the child network constructed according to and affected by some independent Gaussian noise . where the are i.i.d. noise variables with independent distributions. We assume a Gaussian process prior distribution over the black-box function . , where is a valid covariance, and we use Matèrn covariance,

Now suppose is a set of testing points drawn from the search space. We would like to evaluate the performance of points based on our Gaussian process model. For notational convenience, we define , , , .

For any function drawn from the Gaussian process prior with covariance function

, the marginal distribution over any set of input points have a joint multivariate Gaussian distribution. We can represent our problem as:


where such that , and .

Now, we can obtain the distribution over the vector , , where ,

Based on the Gaussian process, we can directly calculate and of every point in our spearch space ( and are scalar here for each point). And then we can obtain EI of each point by E.q. (1). However it would be time consuming if the search space is huge. Therefore, we search for the best point around by optimization, formulated as


where is the best model performance observed so far. We utilize L-BFGS algorithm to solve this problem. The solution is denoted as . We now can build a child network based on and evaluate its performance . And then, the point will be added in the training set for next training round.

3.2 The Task Network

We deal with tasks arriving in a sequential manner with training dataset , validation dataset , test dataset at time

. For the first task, we train a basic task network that performs well enough via solving a standard supervised learning problem,


where are the parameters of the network. We define the well-trained parameters as for task . When the -th task arrives, we have already known the best parameters for task . Now we utilize Bayesian optimization to decide how many filters should be added to each layer, and then we obtain an expanded child network, whose parameters to be learned are denoted as (including ).

Attention mechanism for utilizing previous knowledge.

In order to decrease the number of added parameters when learning new tasks, we should utilize some features learnt from previous tasks that contribute to the learning of new tasks and drop some features learnt from previous tasks that do harm to the learning of new tasks. Inspired by the attention method in image captioning task [Chen et al.2017]

, we introduce channel-wise attention (for convolution neural networks) and node-wise attention (for fully connected networks) to learn which parts of knowledge obtained from previous tasks are useful for the new tasks. This is in contrast to existing continual learning approaches (e.g., RCL, DEN, PGN) applying all the learned knowledge, which might interfere with the performance of learning new tasks.

For channel-wise attention, if the feature maps of layer is , , where reprsents the i-th channel of the feature map, and is the total number of channels. And then each channel will be applied average pooling to obtain the channel feature , where scalar is the mean of vector . Then will be calculated as follows:


where are the convolutional parameters in n-th layer, , , , are attention parameters in n-th layer, , is the element-wise product operation on each channel.

For node-wise attention, if the feature maps of fully connected layer is , then the will be calculated as follows:


where is the element-wise product operation on each node.

The training procedure for the new task is as follows, keeping fixed and only back-propagating the newly added parameters of . Thus, the optimization formula for the new task is .

We use stochastic gradient descent to learn the newly added parameters with weight decay, and is the learning rate,


We will train the expanded child network until the required number of epochs. And then the child network will be tested on the validation dataset

and the corresponding accuracy will be returned. The parameters of the expanded network achieving the best performance will be the optimal ones for task , and we store them for later tasks.

3.3 Evaluation of Points

The point selected by Bayesian optimization is labeled as (i.e., indicates how many filters added in layer ). We then design a new architecture for a child network based on , which will be trained in a new task. At convergence, this child network will achieve an accuracy on a validation dataset and the model complexity . The performance of a network is defined as follows:


where , , is the number of parameters added in j-th layer, and is a hyper-parameter to balance the prediction performance and model complexity. Compared with the performance design in  [Xu and Zhu2018] that utilized the same in every layer, we employ dynamic for different layers. Our performance design can peform better and strike a better balance between model accuracy and model complexity. For example, suppose a convolutional layer and a fully-connected layer , add one filter in layer will bring less parameters than add one node in layer .

3.4 Training Procedures

Bayesian optimization typically needs several initialization points. If these initialization points perform poorly, a large number of trials are required to obtain satisfactory performance. To reduce the search time, we propose to employ the previous search experience of Bayesian optimization to warmstart the search for the new task based on the similarity of task difficulty (described by certain task meta-feature). In our method, we build an episodic memory , and after finishing -th task, we augment the meta-feature and the best point to the memory: . When a new task arrives, we choose several points from based on the distance of meta-features to warmstart our Bayesian optimization. More details are elaborated in the following.

When the -th task comes, we propose the meta-feature of -th task as , where the test accuracy is obtained from training the the task on the base network (e.g. LeNet for CIFAR-100, fully connected networks for MNIST, details can be saw in section  4). And we train the -th task based on the parameters and newly added attention parameters. Only the attention parameters will be finetuned, while will be fixed. We can obtain the test accuracy . Intuitively, can measure the accuracy gap that we can increase by expanding our base network. If the accuracy gap is big, we may need add more filters/nodes; otherwise, only a few even no filters/nodes are required to add. After that, points will be selected from (if the number of points in is less than , the rest of points will be randomly selected from our search space) based on the distance between meta-feature and each element in . Then the child network will be trained to obtain corresponding performance, according to Eq. (10). Now we can utilize to warmstart an initial GP model.

Based on the built GP, we can select the next point via Eq. (3.1). This point will be utilized as a configuration to build a new child network (the rounded value of is used when constructing a child network since the number of filters is an integer), after training which the corresponding performance could be obtained. And then will be added into for next training round.

We will repeat the above process until we reach the maximum trial number or the performance ceases to increase in trials. Finally, we can obtain a series of performance and corresponding points (i.e. architecture configurations), and then choose the point that has the best performance as our final result. We summarize our BOCL approach in Algorithm 1, and its subroutine for network expansion is described in Algorithm 2.

1:  Input: A sequence of datasets
2:  Output:
3:  for  do
4:     if  then
5:        Train the base network using  (4) on the first datasest and obtain .
6:     else
7:        Expand the network by Algorithm 2, and obtain .
8:     end if
9:  end for
Algorithm 1 BOCL for Continual Learning
1:  Input: Current dataset ; previous parameter ; episodic memory ; number of trials, ; number of trials if the performance doesn’t increase, .
2:  Output: Network parameter
3:  Obtain initialization points based on to warmstart GP (details in Section  3.4);
4:  for  do
5:     Select the next best point shown in Eq. (3.1).
6:     Build an expanded child network according to ;
7:     Train the expanded network using Eq. (9) to obtain and performance evaluated by Eq. (10).
8:     Break the loop if the performance doesn’t increase in trials.
9:     Add to training data .
10:     Adjusting the GP using training points ;
11:  end for
12:  Return the best network parameter configuration, .
Algorithm 2 Routine for Network Expansion
(a) (b) (c)
Figure 2: (a) Average test accuracy for all datasets. (b) Number of parameters after all tasks finished. (c) Training time for different methods.

4 Experiments

We perform a variety of experiments to assess the performance of BOCL for continual learning. We will report the accuracy and the model complexity achieved by our BCL and the state-of-the-art baselines. We implemented all the experiments in Tensorfolw on GPU Tesla K80.


(1) MNIST Permutations [Kirkpatrick et al.2017]. Ten variants of the MNIST data, where each variant is constructed by different random permutation of MNIST pixels; (2) MNIST Mix [Xu and Zhu2018]. Ten variants of MNIST data , where are MNIST Permutations, are MNIST Rotations [Lopez-Paz and Ranzato2017]. MNIST Rotations are a variant of MNIST where each contains digits rotated by a fixed angle between 0 and 180 degrees. (3) Incremental CIFAR-100 [Rebuffi et al.2017]. A variants of the CIFAR-100. Different from the original CIFAR-100, each task introduces a new set of classes. For the total number of tasks , each new task contains digits from a subset of classes.

For all of the above datasets, we set the number of tasks to be learned as . For the MNIST datasets, each task contains 60000 training examples and 1000 test examples from 10 different classes. For the CIFAR-100 datasets, each task contains 5000 train examples and 1000 examples from 10 different classes. The model observes the tasks one by one, and once the task had been observed, the task will not be observed later during the training.


(1) SN, a single network trained across all tasks; (2) EWC, avoid catastrophic forgetting by regularization with elastic weight consolidation [Kirkpatrick et al.2017]; (3) GEM, gradient episodic memory for continual learning [Lopez-Paz and Ranzato2017]; (4) PGN, progressive neural network [Rusu et al.2016]; (5) DEN, dynamically expandable network by regularization [Yoon and Yang2017]; (6) RCL, dynamically expandable network by reinforcement learning [Xu and Zhu2018].

Base network settings

(1) Fully connected networks (three-layer network with 784-312-128-10 neurons) for MNIST Permutations and MNIST Mix datasets; (2) LeNet 

[LeCun et al.1998] is used for Incremental CIFAR-100.

Figure 3: Average test accuracy v.s. model complexity for RCL, DEN and PGN.
Figure 4: Test accuracy on the first task as more tasks are learned.
Figure 5: Average test accuracy on all tasks as the number of trials increases.

4.1 Results

We evaluate each compared approach by considering average test accuracy, model complexity and training time on all the tasks. We evaluate model complexity via the number of the number of model parameters after finishing all the subtasks. The results can be found in Figure 2.

As shown in Figure 2(a) and Figure 2(b), we can conclude that methods with fixed-size networks such as SN, EWC and GEM own terrible test accuracy and low model complexity. In sharp contrast, methods with expandable networks can fit new tasks well and prevent forgetting previous tasks better. This demonstrates that dynamically expanding networks can indeed increase model accuracy significantly.

Comparison with PGN, DEN and RCL. We tune the hyperparameters in our BOCL to make the average accuracy is on par with RCL, DEN and PGN or slightly better than them. As shown in Figure 2(b), we can conclude that BOCL achieves significant reduction on the number of parameters (also shown in Table  1), especially on CIFAR-100.

MNIST permutations
Table 1: Reduction on the number of parameters.

As for training time in Figure 2(c), compared with RCL, it can be easily observed that our proposed method BOCL achieves 49%, 37%, 62% reduction on training time on MNIST permutations, MNIST mix, CIFAR-100, respectively. Besides, our BOCL achieves 39%, 31% reduction on training time on MNIST permutations, MNIST mix respectively compared with DEN. However, our BOCL takes about 51% more training time than DEN on CIFAR-100.

To further compare the differences between these methods, we vary some hyperparameters (e.g., weight for regularization terms in DEN, in RCL and BOCL) in each method and train until convergence. These hyperparameters will affect the model complexity and test accuracy. Then we can obtain how test accuracy changes with respect to the number of parameters, as shown in Figure 5. We can clearly see that BOCL can obtain higher test accuracy with the same number of parameters, and fewer parameters with the same test accuracy. This demonstrates that our method BCL achieves the best performance even with different hyperparameters.

Evaluating the forgetting behavior. One major point we concentrate on in continual learning is that models should perform well in previous tasks while learning more new tasks. We evaluate the forgetting behavior through measuring the test accuracy on the first task while learning the increasing number of tasks. Figure 5 shows the evolution of the test accuracy on the first task as more tasks are learned. We can clearly see that BOCL, RCL and PGN prevent catastrophic forgetting totally while the other methods cause different degrees of catastrophic forgetting. We can observe that DEN still cause catastrophic forgetting since it finetunes previous parameters while learning new tasks.

The importance of attention mechanism. In order to utilize previous knowledge more efficiently while learning new tasks, we apply attention mechanism to our model. We will demonstrate that the attention we proposed can indeed contribute to the improvement of model performance.

In our experiment setup, hyperparameters are the same except the attention mechanism (with attention v.s. without attention). We run each experiment for four times. We find that the model without attention achieves 0.1% less accuracy on MNIST permutations, 0.16% less accuracy on MNIST mix and 2.2% less accuracy on CIFAR-100 compared with the model with attention.

We can see that attention mechanism performs better on CIFAR-100 than on MNIST, the reason for which is that models without attention have obtained a pretty good performance on MNIST. Therefore the space for improvement on MNIST is very limited. In contrast, since model without attention performs not so well on CIFAR-100, attention mechanism can indeed contribute to the model performance by a large margin.

Comparing with random search and reinforcement learning. We compare different searching methods in our proposal (Bayesian optimization v.s. random search, reinforcement learning). In every experiment setup, hyper-parameters are the same except the searching method. Each experiment is run for four times. As shown in Figure 5, we can conclude that Bayesian optimization costs the smallest number of trials with the same accuracy.

5 Conclusion

We have introduced BOCL, a novel model for continual learning that prevents catastrophic forgetting completely and utilizes previous knowledge better. Our method searches the best network architecture for new tasks via Bayesian optimization. Besides, we apply attention mechanism in our method to utilize previous knowledge more effectively. We validate our method’s competitive performance on different datasets.