Efficient Lifelong Learning with A-GEM
Arslan Chaudhry, Marc'Aurelio Ranzato, Marcus Rohrbach, Mohamed Elhoseiny
Introduction
Intelligent systems, whether they are natural or artificial, must be able to quickly adapt to changes in the environment and to quickly learn new skills by leveraging past experiences. While current learning algorithms can achieve excellent performance on a variety of tasks, they strongly rely on copious amounts of supervision in the form of labeled data.
The lifelong learning (LLL) setting attempts at addressing this shortcoming, bringing machine learning closer to a more realistic human learning by acquiring new skills quickly with a small amount of training data, given the experience accumulated in the past. In this setting, the learner is presented with a stream of tasks whose relatedness is not known a priori. The learner has then the potential to learn more quickly a new task, if it can remember how to combine and re-use knowledge acquired while learning related tasks of the past. Of course, for this learning setting to be useful, the model needs to be constrained in terms of amount of compute and memory required. Usually this means that the learner should not be allowed to merely store all examples seen in the past (in which case this reduces the lifelong learning problem to a multitask problem) nor should the learner be engaged in computations that would not be feasible in real-time, as the goal is to quickly learn from a stream of data.
Unfortunately, the established training and evaluation protocol as well as current algorithms for lifelong learning do not satisfy all the above desiderata, namely learning from a stream of data using limited number of samples, limited memory and limited compute. In the most popular training paradigm, the learner does several passes over the data (Kirkpatrick et al. 2016; Aljundi et al. 2018; Rusu et al. 2016; Schwarz et al. 2018), while ideally the model should need only a handful of samples and these should be provided one-by-one in a single pass (Lopez-Paz & Ranzato 2017). Moreover, when the learner has several hyper-parameters to tune, the current practice is to go over the sequence of tasks several times, each time with a different hyper-parameter value, again ignoring the requirement of learning from a stream of data and, strictly speaking, violating the assumption of the LLL scenario. While some algorithms may work well in a single-pass setting, they unfortunately require a lot of computation (Lopez-Paz & Ranzato 2017) or their memory scales with the number of tasks (Rusu et al. 2016), which greatly impedes their actual deployment in practical applications.
In this work, we propose an evaluation methodology and an algorithm that better match our desiderata, namely learning efficiently – in terms of training samples, time and memory – from a stream of tasks. First, we propose a new learning paradigm, whereby the learner performs cross validation on a set of tasks which is disjoint from the set of tasks actually used for evaluation (Sec. 2). In this setting, the learner will have to learn and will be tested on an entirely new sequence of tasks and it will perform just a single pass over this data stream. Second, we build upon GEM (Lopez-Paz & Ranzato 2017), an algorithm which leverages a small episodic memory to perform well in a single pass setting, and propose a small change to the loss function which makes GEM orders of magnitude faster at training time while maintaining similar performance; we dub this variant of GEM, a-gem (Sec. 4). Third, we explore the use of compositional task descriptors in order to improve the few-shot learning performance within LLL showing that with this additional information the learner can pick up new skills more quickly (Sec. 5). Fourth, we introduce a new metric to measure the speed of learning, which is useful to quantify the ability of a learning algorithm to learn a new task (Sec. 3). And finally, using our new learning paradigm and metric, we demonstrate a-gem on a variety of benchmarks and against several representative baselines (Sec. 6). Our experiments show that a-gem has a better trade-off between average accuracy and computational/memory cost. Moreover, all algorithms improve their ability to quickly learn a new task when provided with compositional task descriptors, and they do so better and better as they progress through the learning experience.
Learning Protocol
Currently, most works on lifelong learning (Kirkpatrick et al. 2016; Rusu et al. 2016; Shin et al. 2017; Nguyen et al. 2018) adopt a learning protocol which is directly borrowed from supervised learning. There are tasks, and each task consists of a training, validation and test sets. During training the learner does as many passes over the data of each task as desired. Moreover, hyper-parameters are tuned on the validation sets by sweeping over the whole sequence of tasks as many times as required by the cross-validation grid search. Finally, metrics of interest are reported on the test set of each task using the model selected by the previous cross-validation procedure.
Since the current protocol violates our stricter definition of LLL for which the learner can only make a single pass over the data, as we want to emphasize the importance of learning quickly from data, we now introduce a new learning protocol.
We consider two streams of tasks, described by the following ordered sequences of datasets and , where is the dataset of the -th task, (in all our experiments while ), and we assume that all datasets are drawn from the same distribution over tasks. To avoid cluttering of the notation, we let the context specify whether refers to the training or test set of the -th dataset.
is the stream of datasets which will be used during cross-validation; allows the learner to replay all samples multiple times for the purposes of model hyper-parameter selection. Instead, is the actual dataset used for final training and evaluation on the test set; the learner will observe training examples from once and only once, and all metrics will be reported on the test sets of . Since the regularization-based approaches for lifelong learning (Kirkpatrick et al. 2016; Zenke et al. 2017) are rather sensitive to the choice of the regularization hyper-parameter, we introduced the set , as it seems reasonable in practical applications to have similar tasks that can be used for tuning the system. However, the actual training and testing are then performed on using a single pass over the data. See Algorithm 1 for a summary of the training and evaluation protocol.
Each example in any of these dataset consists of a triplet defined by an input (), task descriptor (, see Sec. 5 for examples) and a target vector (), where is the set of labels specific to task and . While observing the data, the goal is to learn a predictor , parameterized by (a neural network in our case), that can map any test pair to a target .
Metrics
Below we describe the metrics used to evaluate the LLL methods studied in this work. In addition to Average Accuracy () and Forgetting Measure () (Chaudhry et al. 2018), we define a new measure, the Learning Curve Area (LCA), that captures how quickly a model learns.
The training dataset of each task, , consists of a total mini-batches. After each presentation of a mini-batch of task , we evaluate the performance of the learner on all the tasks using the corresponding test sets. Let be the accuracy evaluated on the test set of task , after the model has been trained with the -th mini-batch of task . Assuming the first learning task in the continuum is indexed by (it will be for ) and the last one by (it will be for ), we define the following metrics:
Average accuracy after the model has been trained continually with all the mini-batches up till task is defined as:
In particular, is the average accuracy on all the tasks after the last task has been learned; this is the most commonly used metric used in LLL.
Forgetting Measure (F∈[−1,1]F\in[-1,1])
(Chaudhry et al. 2018) Average forgetting after the model has been trained continually with all the mini-batches up till task is defined as:
where is the forgetting on task ‘’ after the model is trained with all the mini-batches up till task and computed as:
Measuring forgetting after all tasks have been learned is important for a two-fold reason. It quantifies the accuracy drop on past tasks, and it gives an indirect notion of how quickly a model may learn a new task, since a forgetful model will have little knowledge left to transfer, particularly so if the new task relates more closely to one of the very first tasks encountered during the learning experience.
Learning Curve Area (LCA∈[0,1]\textsc{LCA}\in[0,1])
Let us first define an average -shot performance (where is the mini-batch number) after the model has been trained for all the tasks as:
LCA at is the area of the convergence curve as a function of :
LCA has an intuitive interpretation. is the average 0-shot performance, the same as forward transfer in Lopez-Paz & Ranzato 2017. is the area under the curve, which is high if the 0-shot performance is good and if the learner learns quickly. In particular, there could be two models with the same or , but very different because one learns much faster than the other while they both eventually obtain the same final accuracy. This metric aims at discriminating between these two cases, and it makes sense for relatively small values of since we are interested in models that learn from few examples.
Averaged Gradient Episodic Memory (a-gem)
So far we discussed a better training and evaluation protocol for LLL and a new metric to measure the speed of learning. Next, we review gem (Lopez-Paz & Ranzato 2017), which is an algorithm that has been shown to work well in the single epoch setting. Unfortunately, gem is very intensive in terms of computational and memory cost, which motivates our efficient variant, dubbed a-gem. In Sec. 5, we will describe how compositional task descriptors can be leveraged to further speed up learning in the few shot regime.
Eq.7 is a quadratic program (QP) in -variables (the number of parameters in the network), which for neural networks could be in millions. In order to solve this efficiently, gem works in the dual space which results in a much smaller QP with only variables:
While gem has proven very effective in a single epoch setting (Lopez-Paz & Ranzato 2017), the performance gains come at a big computational burden at training time. At each training step, gem computes the matrix using all samples from the episodic memory, and it also needs to solve the QP of Eq. 8. Unfortunately, this inner loop optimization becomes prohibitive when the size of and the number of tasks is large, see Tab. 7 in Appendix for an empirical analysis. To alleviate the computational burden of gem, next we propose a much more efficient version of gem, called Averaged GEM (a-gem).
Whereas gem ensures that at every training step the loss of each individual previous tasks, approximated by the samples in episodic memory, does not increase, a-gem tries to ensure that at every training step the average episodic memory loss over the previous tasks does not increase. Formally, while learning task , the objective of a-gem is:
The corresponding optimization problem reduces to:
where is a gradient computed using a batch randomly sampled from the episodic memory, , of all the past tasks. In other words, a-gem replaces the constraints of gem with a single constraint, where is the average of the gradients from the previous tasks computed from a random subset of the episodic memory.
The constrained optimization problem of Eq. 10 can now be solved very quickly; when the gradient violates the constraint, it is projected via:
The formal proof of the update rule of a-gem (Eq. 11) is given in Appendix C. This makes a-gem not only memory efficient, as it does not need to store the matrix , but also orders of magnitude faster than gem because 1) it is not required to compute the matrix but just the gradient of a random subset of memory examples, 2) it does not need to solve any QP but just an inner product, and 3) it will incur in less violations particularly when the number of tasks is large (see Tab. 7 and Fig. 6 in Appendix for empirical evidence). All together these factors make a-gem faster while not hampering its good performance in the single pass setting.
Intuitively, the difference between gem and a-gem loss functions is that gem has better guarantess in terms of worst-case forgetting of each individual task since (at least on the memory examples) it prohibits an increase of any task-specific loss, while a-gem has better guaratees in terms of average accuracy since gem may prevent a gradient step because of a task constraint violation although the overall average loss may actually decrease, see Appendix Sec. D.1 and D.2 for further analysis and empirical evidence. The pseudo-code of a-gem is given in Appendix Alg. 2.
Joint Embedding Model Using Compositional Task Descriptors
In this section, we discuss how we can improve forward transfer for all the LLL methods including a-gem. In order to speed up learning of a new task, we consider the use of compositional task descriptors where components are shared across tasks and thus allow transfer. Examples of compositional task descriptors are, for instance, a natural language description of the task under consideration or a matrix specifying the attribute values of the objects to be recognized in the task. In our experiments, we use the latter since it is provided with popular benchmark datasets (Wah et al. 2011; Lampert et al. 2009). For instance, if the model has already learned and remembers about two independent properties (e.g., color of feathers and shape of beak), it can quickly recognize a new class provided a descriptor specifying the values of its attributes (yellow feathers and red beak), although this is an entirely unseen combination.
Borrowing ideas from literature in few-shot learning (Lampert et al. 2014; Zhang et al. 2018; Elhoseiny et al. 2017; Xian et al. 2018), we learn a joint embedding space between image features and the attribute embeddings. Formally, let be the input (e.g., an image), be the task descriptor in the form of a matrix of size , where is the number of classes in the -th task and is the total number of attributes for each class in the dataset. The joint embedding model consists of a feature extraction module, , where , and a task embedding module, , where . In this work, is implemented as a standard multi-layer feed-forward network (see Sec. 6 for the exact parameterization), whereas is implemented as a parameter matrix of dimensions . This matrix can be interpreted as an attribute look-up table as each attribute is associated with a dimensional vector, from which a class embedding vector is constructed via a linear combination of the attributes present in the class; the task descriptor embedding is then the concatenation of the embedding vectors of the classes present in the task (see Appendix Fig. 9 for the pictorial description of the joint embedding model). During training, the parameters and are learned by minimizing the cross-entropy loss:
where () is the -th example of task . If , then the distribution is given by:
where denotes the -th element of the vector . Note that the architecture and loss functions are general, and apply not only to a-gem but also to any other LLL model (e.g., regularization based approaches). See Sec. 6 for the actual choice of parameterization of these functions.
Experiments
We consider four dataset streams, see Tab.1 in Appendix Sec. A for a summary of the statistics. Permuted MNIST (Kirkpatrick et al. 2016) is a variant of MNIST (LeCun 1998) dataset of handwritten digits where each task has a certain random permutation of the input pixels which is applied to all the images of that task. Split CIFAR (Zenke et al. 2017) consists of splitting the original CIFAR-100 dataset (Krizhevsky & Hinton 2009) into disjoint subsets, where each subset is constructed by randomly sampling classes without replacement from a total of classes. Similarly to Split CIFAR, Split CUB is an incremental version of the fine-grained image classification dataset CUB (Wah et al. 2011) of bird categories split into disjoint subsets of classes. Split AWA, on the other hand, is the incremental version of the AWA dataset (Lampert et al. 2009) of animal categories, where each task is constructed by sampling classes with replacement from the total classes, constructing tasks. In this setting, classes may overlap among multiple tasks, but within each task they compete against different set of classes. Note that to make sure each training example is only seen once, the training data of a each class is split into disjoint sets depending on the frequency of its occurrence in different tasks. For Split AWA, the classifier weights of each class are randomly initialized within each head without any transfer from the previous occurrence of the class in past tasks. Finally, while on Permuted MNIST and Split CIFAR we provide integer task descriptors, on Split CUB and Split AWA we stack together the attributes of the classes (specifying for instance the type of beak, the color of feathers, etc.) belonging to the current task to form a descriptor.
In terms of architectures, we use a fully-connected network with two hidden layers of ReLU units each for Permuted MNIST, a reduced ResNet18 for Split CIFAR like in Lopez-Paz & Ranzato 2017, and a standard ResNet18 (He et al. 2016) for Split CUB and Split AWA. For a given dataset stream, all models use the same architecture, and all models are optimized via stochastic gradient descent with mini-batch size equal to 10. We refer to the joint-embedding model version of these models by appending the suffix ‘-je’ to the method name.
As described in Sec. 2 and outlined in Alg. 1, in order to cross validate we use the first 3 tasks, and then report metrics on the remaining 17 tasks after doing a single training pass over each task in sequence.
Lastly, we compared a-gem against several baselines and state-of-the-art LLL approaches which we describe next. van is a single supervised learning model, trained continually without any regularization, with the parameters of a new task initialized from the parameters of the previous task. icarl (Rebuffi et al. 2017) is a class-incremental learner that uses nearest-exemplar-based classifier and avoids catastrophic forgetting by regularizing over the feature representation of previous tasks using a knowledge distillation loss. ewc (Kirkpatrick et al. 2016), pi (Zenke et al. 2017), rwalk (Chaudhry et al. 2018) and mas (Aljundi et al. 2018) are regularization-based approaches aiming at avoiding catastrophic forgetting by limiting learning of parameters critical to the performance of past tasks. Progressive Networks (prog-nn) (Rusu et al. 2016) is a modular approach whereby a new “column” with lateral connections to previous hidden layers is added once a new task arrives. gem (Lopez-Paz & Ranzato 2017) described in Sec. 4 is another natural baseline of comparison since a-gem builds upon it. The amount of episodic memory per task used in icarl, gem and a-gem is set to , , , and , and the batch size for the computation of (when the episodic memory is sufficiently filled) in a-gem is set to , , and for MNIST, CIFAR, CUB and AWA, respectively. While populating episodic memory, the samples are chosen uniformly at random for each task. Whereas the network weights are randomly initialized for MNIST, CIFAR and AWA, on the other hand, for CUB, due to the small dataset size, a pre-trained ImageNet model is used. Finally, we consider a multi-task baseline, multi-task, trained on a single pass over shuffled data from all tasks, and thus violating the LLL assumption. It can be seen as an upper bound performance for average accuracy.
Fig. 1 and 2 show the overall results on all the datasets we considered (for brevity we show only representative methods, see detailed results in Appendix Tab. 4, 5, 6 and 7). First, we observe that a-gem achieves the best average accuracy on all datasets, except Permuted MNIST, where prog-nn works better. The reason is because on this dataset each task has a large number of training examples, which enables prog-nn to learn its task specific parameters and to leverage its lateral connections. However, notice how prog-nn has the worst memory cost by the end of training - as its number of parameters grows super-linearly with the number of tasks. In particular, in large scale setups (Split CUB and AWA), prog-nn runs out of memory during training due to its large size. Also, prog-nn does not learn well on datasets where tasks have fewer training examples. Second, a-gem and gem perform comparably in terms of average accuracy, but a-gem has much lower time (about times faster) and memory cost (about times lower), comparable to regularization-based approaches like EWC. Third, EWC and similar methods perform only slightly better than van on this single pass LLL setting. The analysis in Appendix Sec. F demonstrates that EWC requires several epochs and over-parameterized architectures in order to work well. Fourth, prog-nn has no forgetting by construction and a-gem and gem have the lowest forgetting among methods that use a fixed capacity architecture. Next, all methods perform similarly in terms of LCA, with prog-nn being the worst because of its ever growing number of parameters and a-gem slightly better than all the other approaches. And finally, the use of task descriptors improves average accuracy across the board as shown in Fig.2, with a-gem a bit better than all the other methods we tried. All joint-embedding models using task descriptors have better LCA performance, although this is the same across all methods including a-gem. Overall, we conclude that a-gem offers the best trade-off between average accuracy performance and efficiency in terms of sample, memory and computational cost.
Fig. 3 shows a more fine-grained analysis and comparison with more methods on Permuted MNIST and Split CIFAR. The average accuracy plots show how a-gem and gem greatly outperform other approaches, with the exception of prog-nn on MNIST as discussed above. On different datasets, different methods are best in terms of LCA, although a-gem is always top-performing. Fig. 4 shows in more detail the gain brought by task descriptors which greatly speed up learning in the few-shot regime. On these datasets, a-gem performs the best or on par to the best.
Finally, in Fig. 5, we report the 0-shot performance of LLL methods on Split CUB and Split AWA datasets over time, showing a clear advantage of using compositional task descriptors with joint embedding models, which is more significant for a-gem. Interestingly, the zero-shot learning performance of joint embedding models improves over time, indicating that these models get better at forward transfer or, in other words, become more efficient over time.
Related Work
Continual (Ring 1997) or Lifelong Learning (LLL) (Thrun 1998) have been the subject of extensive study over the past two decades. One approach to LLL uses modular compositional models (Fernando et al. 2017; Aljundi et al. 2017; Rosenbaum et al. 2018; Chang et al. 2018; Xu & Zhu 2018; Ferran Alet 2018), which limit interference among tasks by using different subset of modules for each task. Unfortunately, these methods require searching over the space of architectures which is not sample efficient with current methods. Another approach is to regularize parameters important to solve past tasks (Kirkpatrick et al. 2016; Zenke et al. 2017; Chaudhry et al. 2018), which has been proven effective for over-parameterized models in the multiple epoch setting (see Appendix Sec. F), while we focus on learning from few examples using memory efficient models. Methods based on episodic memory (Rebuffi et al. 2017; Lopez-Paz & Ranzato 2017) require a little bit more memory at training time but can work much better in the single pass setting we considered (Lopez-Paz & Ranzato 2017).
The use of task descriptors for LLL has already been advocated by Isele et al. 2016 but using a sparse coding framework which is not obviously applicable to deep nets in a computationally efficient way, and also by Lopez-Paz & Ranzato 2017 although they did not explore the use of compositional descriptors. More generally, tasks descriptors have been used in Reinforcement Learning with similar motivations by several others (Sutton et al. 2011; Schaul et al. 2015; Baroni et al. 2017), and it is also a key ingredient in all the zero/few-shot learning algorithms (Lampert et al. 2014; Xian et al. 2018; Elhoseiny et al. 2017; Wah et al. 2011; Lampert et al. 2009).
Conclusion
We studied the problem of efficient Lifelong Learning (LLL) in the case where the learner can only do a single pass over the input data stream. We found that our approach, a-gem, has the best trade-off between average accuracy by the end of the learning experience and computational/memory cost. Compared to the original gem algorithm, a-gem is about 100 times faster and has 10 times less memory requirements; compared to regularization based approaches, it achieves significantly higher average accuracy. We also demonstrated that by using compositional task descriptors all methods can improve their few-shot performance, with a-gem often being the best.
Our detailed experiments reported in Appendix E also show that there is still a substantial performance gap between LLL methods, including a-gem, trained in a sequential learning setting and the same network trained in a non-sequential multi-task setting, despite seeing the same data samples. Moreover, while task descriptors do help in the few-shot learning regime, the LCA performance gap between different methods is very small; suggesting a poor ability of current methods to transfer knowledge even when forgetting has been eliminated. Addressing these two fundamental issues will be the focus of our future research.
References
Appendix
In Sec. A we report the summary of datasets used for the experiments. Sec. B details our a-gem algorithm and Sec. C provides the proof of update rule of a-gem discussed in Sec. 4 of the main paper. In Sec. D, we analyze the differences between a-gem and gem, and describe another variation of gem, dubbed Stochastic gem (s-gem). The detailed results of the experiments which were used to generate Fig 1 and 2 in the main paper are given in Sec. E. In Sec. F, we provide empirical evidence to the conjecture that regularization-based approaches like ewc require over-parameterized architectures and multiple passes over data in order to perform well as discussed in the Sec. 6.1 of the main paper. In Sec. G, we provide the grid used for the cross-validation of different hyper-parameters and report the optimal values for different models. Finally, in Sec. H, we pictorially describe the joint embedding model discussed in Sec. 5.
Appendix A Dataset Statistics
Appendix B a-gem Algorithm
Appendix C a-gem Update Rule
The optimization objective of a-gem as described in the Eq. 10 of the main paper, is:
Note that we discard the term from the objective and change the sign of the inequality constraint. The Lagrangian of the constrained optimization problem defined above can be written as:
Lets find the value that minimizes the by setting the derivatives of w.r.t. to to zero:
The simplified dual after putting the value of in Eq. 17 can be written as:
The solution to the dual is given by:
By putting in Eq. 18, we recover the a-gem update rule:
Appendix D Analysis of gem and a-gem
In this section, we empirically analyze the differences between a-gem and gem, and report experiments with another computationally efficient but worse performing version of gem.
Fig. 6 shows the frequency of constraint violations (see Eq. 8 and 10) on Permuted MNIST and Split CIFAR datasets. Note that, the number of gradient updates (training steps) per task on MNIST and CIFAR are and , respectively. As the number of tasks increase, gem violates the optimization constraints at almost each training step, whereas a-gem plateaus to a much lower value. Therefore, the computational efficiency of a-gem not only stems from the fact that it avoids solving a QP at each training step (which is much more expensive than a simple inner product) but also from the fewer number of constraint violations. From the figure, we can also infer that as the number of tasks grows the gap between gem and a-gem would grow further. Thus, the computational and memory overhead of gem over a-gem, see also Tab. 7, gets worse as the number of tasks increases.
D.2 Average Accuracy and Worst-Case Forgetting
In Tab. 2, we empirically demonstrate the different properties induced by the objective functions of gem and a-gem. gem enjoys lower worst-case task forgetting while a-gem enjoys better overall average accuracy. This is particularly true on the training examples stored in memory, as on the test set the result is confounded by the generalization error.
D.3 Stochastic gem (s-gem)
In this section we report experiments with another variant of gem, dubbed Stochastic gem (s-gem). The main idea in s-gem is to randomly sample one constraint, at each training step, from the possible constraints of gem. If that constraint is violated, the gradient is projected only taking into account that constraint. Formally, the optimization objective of s-gem is given by:
In other words, at each training step, s-gem avoids the increase in loss of one of the previous tasks sampled randomly. In Tab. 3 we report the comparison of gem, s-gem and a-gem on Permuted MNIST and Split CIFAR.
Although, s-gem is closer in spirit to gem, as it requires randomly sampling one of the gem constraints to satisfy, compared to a-gem, which defines the constraint as the average gradient of the previous tasks, it perform slightly worse than gem, as can be seen from Tab. 3.
Appendix E Result Tables
In Tab. 4, 5, 6 and 7 we report the detailed results which were used to generate Fig.1 and 2.
Appendix F Analysis of EWC
In this section we provide empirical evidence to the conjecture that regularization-based approaches like ewc need over-parameterized architectures and multiple passes over the samples of each task in order to perform well. The intuition as to why models need to be over-parameterized is because it is easier to avoid cross-task interference when the model has additional capacity. In the single-pass setting and when each task does not have very many training samples, regularization-based appraches also suffer because regularization parameters cannot be estimated well from a model that has not fully converged. Moreover, for tasks that do not have much data, rgularization-based approaches do not enable any kind of positive backward transfer (Lopez-Paz & Ranzato 2017) which further hurts performance as the predictor cannot leverage knowledge acquired later to improve its prediction on past tasks. Finally, regularization-based approaches perform much better in the multi-epoch setting simply because in this setting the baseline un-regularized model performs much worse, as it overfits much more to the data of the current task, every time unlearning what it learned before.
We consider Permuted MNIST and Split CIFAR datasets as described in Sec. 6 of the main paper. For MNIST, the two architecture variants that we experiment with are; ) two-layer fully-connected network with units in each layer (denoted by suffix), and ) two-layer fully-connected network with units in each layer (denoted by suffix).
For CIFAR, the two architecture variants are; ) ResNet-18 with times less feature maps in all the layers (denoted by suffix), and ) Standard ResNet-18 (denoted by token).
We run the experiments on van and ewc with increasing the number of epochs from to for Permuted MNIST and from to for CIFAR. For instance, when epoch is set to , it means that the training samples of task are presented times before showing examples from task . In Fig. 7 and 8 we plot the Average Accuracy (Eq. 1) and Forgetting (Eq. 2) on Permuted MNIST and Split CIFAR, respectively.
We observe that the average accuracy significantly improves with the number of epochs only when ewc is applied to the big network. In particular, in the single epoch setting, ewc peforms similarly to the baseline van on Split CIFAR which has fewer number of training examples per task.
Appendix G Hyper-parameter Selection
Below we report the hyper-parameters grid considered for different experiments. Note, as described in the Sec. 6 of the main paper, to satisfy the requirement that a learner does not see the data of a task more than once, first tasks are used to cross-validate the hyper-parameters. In all the datasets, the value of is set to ‘’. The best setting for each experiment is reported in the parenthesis.
learning rate: [, , (MNIST perm, Split CIFAR, Split CUB, Split AWA), , , , , ]
learning rate: [, , (Split CUB, Split AWA), , , , , ]
learning rate: [, , (MNIST perm, Split CUB), (Split CIFAR), , (Split AWA), , ]
learning rate: [, , (Split CUB), , (Split AWA), , , ]
learning rate: [, (MNIST perm, ), (Split CIFAR, Split AWA), (Split CUB), , , , ]
learning rate: [, , (MNIST perm, Split CIFAR, Split CUB), , (Split AWA), , , ]
regularization: [ (Split CUB), (MNIST perm, Split CIFAR), (Split AWA), , ]
learning rate: [, , (Split CUB), , (Split AWA), , , ]
regularization: [, (Split CUB), (Split AWA), , ]
learning rate: [, (MNIST perm), (Split CUB), (Split CIFAR), (Split AWA), , , ]
regularization: [, , (MNIST perm, Split CIFAR, Split CUB), (Split AWA), ]
learning rate: [, , (Split CUB), , (Split AWA), , , ]
regularization: [, , (Split CUB), , (Split AWA)]
learning rate: [, (MNIST perm), (Split CIFAR, Split CUB), , (Split AWA), , , ]
regularization: [, (MNIST perm, Split CIFAR, Split CUB), (Split AWA), ]
learning rate: [, , (Split CUB), , , (Split AWA), , ]
regularization: [, (Split CUB, Split AWA), , ]
learning rate: [, (MNIST perm), (Split CIFAR, Split CUB), , (Split AWA), , , ]
regularization: [, (MNIST perm, Split CIFAR, Split CUB), (Split AWA), , ]
learning rate: [, , (SPLIT CUB), , (Split AWA), , , ]
regularization: [, (Split CUB), (Split AWA), , ]
learning rate: [, (MNIST perm), (Split CIFAR, Split CUB), (Split AWA), , , , ]
learning rate: [, , (SPLIT CUB), , (Split AWA), , , ]
Appendix H Pictorial Description of Joint Embedding Model
In Fig. 9 we provide a pictorial description of the joint embedding model discussed in the Sec. 5 of the main paper.