Title: PROTOTYPE RECALLS FOR CONTINUAL LEARNING

Abstract: Continual learning is a critical ability of continually acquiring and transferring knowledge without catastrophically forgetting previously learned knowledge. However, enabling continual learning for AI remains a long-standing challenge. In this work, we propose a novel method, Prototype Recalls, that efficiently embeds and recalls previously learnt knowledge to tackle catastrophic forgetting issue. In particular, we consider continual learning in classification tasks. For each classification task, our method learns a metric space containing a set of prototypes where embedding of the samples from the same class cluster around prototypes and class-representative prototypes are separated apart. To alleviate catastrophic forgetting, our method preserves the embedding function from the samples to the previous metric space, through our proposed prototype recalls from previous tasks. Specifically, the recalling process is implemented by replaying a small number of samples from previous tasks and correspondingly matching their embedding to their nearest class-representative prototypes. Compared with recent continual learning methods, our contributions are fourfold: first, our method achieves the best memory retention capability while adapting quickly to new tasks. Second, our method uses metric learning for classification, and does not require adding in new neurons given new object classes. Third, our method is more memory efficient since only class-representative prototypes need to be recalled. Fourth, our method suggests a promising solution for few-shot continual learning. Without tampering with the performance on initial tasks, our method learns novel concepts given a few training examples of each class in new tasks.

1. INTRODUCTION:

Continual learning, also known as lifelong learning, is the crucial ability for humans to continually acquire and transfer new knowledge across their lifespans while retaining previously learnt experiences Hassabis et al. (2017) . This ability is also critical for artificial intelligence (AI) systems to interact with the real world and process continuous streams of information Thrun & Mitchell (1995) . However, the continual acquisition of incrementally available data from non-stationary data distributions generally leads to catastrophic forgetting in the system McCloskey & Cohen (1989) ; Ratcliff (1990); French (1999) . Continual learning remains a long-standing challenge for deep neural network models since these models typically learn representations from stationary batches of training data and tend to fail to retain good performances in previous tasks when data become incrementally available over tasks Kemker et al. (2018) ; Maltoni & Lomonaco (2019) .

Numerous methods for alleviating catastrophic forgetting have been currently proposed. The most pragmatical way is to jointly train deep neural network models on both old and new tasks, which however demands a large amount of resources to store previous training data and hinders the learning of novel data in real time. Another option is to complement the training data for each new task with "pseudo-data" of the previous tasks Shin et al. (2017) ; Robins (1995) . Besides the main model for task performance, a separate generative model is trained to generate fake historical data used for pseudo-rehearsal. Deep Generative Replay (DGR) Shin et al. (2017) replaces the storage of the previous training data with a Generative Adversarial Network to synthesize training data on all previously learnt tasks. These generative approaches have succeeded over very simple and artificial inputs but they cannot tackle more complicated inputs Atkinson et al. (2018) . Moreover, to synthesize the historical data reasonably well, the size of the generative model is usually huge that costs much memory Wen et al. (2018) . An alternative method is to store the weights of the model trained on previous tasks, and impose constraints of weight updates on new tasks He & Jaeger (2018) ; Kirkpatrick et al. (2017) ; Zenke et al. (2017) ; Lee et al. (2017) ; Lopez-Paz et al. (2017) . For example, Elastic Weight Consolidation (EWC) Kirkpatrick et al. (2017) and Learning Without Forgetting (LwF) Li & Hoiem (2018) store all the model parameters on previously learnt tasks, estimate their importance on previous tasks and penalize future changes to the weights on new tasks. However, selecting the "important" parameters for previous tasks complicates the implementation by exhaustive hyper-parameter tuning. In addition, state-of-the-art neural network models often involve millions of parameters and storing all network parameters from previous tasks does not necessarily reduce the memory cost Wen et al. (2018) . In contrast with these methods, storing a small subset of examples from previous tasks and replaying the "exact subset" substantially boost performance Kemker & Kanan (2017); Rebuffi et al. (2017); Nguyen et al. (2017) . To achieve the desired network behavior on previous tasks, incremental Classifier and Representation Learner (iCARL) Rebuffi et al. (2017) and Few-shot Self-Reminder (FSR) Wen et al. (2018) follow the idea of logit matching or knowledge distillation in model compression Ba & Caruana (2014) ; Bucilua et al. (2006) ; Hinton et al. (2015) . However, such approaches ignore the topological relations among clusters in the embedding space and rely too much on a small amount of individual data, which may result in overfitting as shown in our experiments (Section 4.2). In contrast with them, without tampering the performance in memory retention, our method learns embedding functions and compares the feature similarities represented by class prototypes in the embedding space which improves generalization, especially in the few-shot settings, as also been verified in works Hoffer & Ailon (2015) ; Snell et al. (2017) .

In this paper, we propose the method, Prototype Recalls, for continual learning in classification tasks. Similar as Snell et al. (2017) , we use a neural network to learn class-representative prototypes in an embedding space and classify embedded test data by finding their nearest class prototype. To tackle the problem of catastrophic forgetting, we impose additional constraints on the network by classifying the embedded test data based on prototypes from previous tasks, which promotes the preservation of initial embedding function. For example (Figure 1 ), in the first task (Subfigure 1a), the network learns color prototypes to classify blue and yellow circles and in the second task (Subfigure 1b), the network learns shape prototypes to classify green circles and triangles. With catastrophically forgetting color features, the network extracts circle features on the first task and fails to classify blue and yellow circles. To alleviate catastrophic forgetting, our method replays the embeded previous samples (blue and yellow circles) and match them with previous color prototypes (blue and yellow) which reminds the network of extracting both color and shape features in both classification tasks.

We evaluate our method under two typical experimental protocols, incremental domain and incremental class, for continual learning across three benchmark datasets, MNIST Deng (2012) , CIFAR10 Krizhevsky & Hinton (2009) and miniImageNet Deng et al. (2009) . Compared with the state-of-the-arts, our method significantly boosts the performance of continual learning in terms of memory retention capability while being able to adapt to new tasks. Unlike parameter regularization methods or iCARL or FSR, our approach further reduces the memory storage by replacing logits of each data or network parameters with one prototype of each class in the episodic memory. Moreover, in contrast to these methods where the last layer in traditional classification networks often structurally depends on the number of classes, our method leverages on metric learning, maintains the same network architecture and does not require adding new neurons or layers for new object classes. Additionally, without sacrificing classification accuracy on initial tasks, our method can generalize to learn new concepts given a few training examples in new tasks due to the advantage of metric learning, commonly used in few-shot settings Snell et al. (2017) ; Hoffer & Ailon (2015) .

2. PROPOSED METHOD:

We propose the method, Prototype Recalls, for continual learning. For a sequence of datasets D 1 , D 2 , ..., D t , ..., given D t in any task t where t ∈ {1, 2, ..., T }, the goal for the model f T is to retain the good classification performance on all T datasets after being sequentially trained over T tasks. The value of T is not pre-determined. The model f T with learnable parameters φ is only allowed to carry over a limited amount of information from the previous T -1 tasks. This constraint eliminates the naive solution of combining all previous datasets to form one big training set for fine-tuning the model f T at task T . Each dataset

D t consists of N t labeled examples D t = {X t , Y t } = {(x 1t , y 1t ), ..., (x N t , y N t )} where each x it ∈ R D is the D-dimensional feature 𝑇𝑎𝑠𝑘 = 𝑡 -1 𝑓 𝑡-1 𝑐 1,𝑡-1 𝑐 2,𝑡-1 ? 𝐷 𝑡-1 (a) Classification 𝑇𝑎𝑠𝑘 = 𝑡 -1 𝑇𝑎𝑠𝑘 = 𝑡 𝑓 𝑡-1 𝑐 3,𝑡 𝑐 4,𝑡 𝑓 𝑡 ? 𝑐 1,𝑡-1 𝑐 2,𝑡-1 𝑐 2,𝑡 𝑐 1,𝑡 𝐷 𝑡 𝐷 𝑡-1 (b) Eliminating Catastrophic Forgetting

Figure 1 : Illustration of classification and catastrophic forgetting alleviation in our proposed method. In (a), dataset D t-1 contains two classes. Prototypes c 1,t-1 and c 2,t-1 are obtained by averaging example embeddings of the same class. White square with question mark (embedded test data) can be classified by finding its nearest prototype. In (b), dataset D t containing two new classes is introduced in task t. The prototypes c i,t , i = 1, . . . , 4 on task t are computed from D t Dt-1 where Dt-1 is a randomly sampled subset from D t-1 . To eliminate catastrophic forgetting, our method constantly recalls metric space at task t -1 by making example embeddings on Dt-1 , as denoted by dashed color shapes, close to prototypes c t-1 .

vector of an example and y it ∈ {1, ..., K t } is the corresponding class label. S kt denotes the set of examples labeled with class k t .

At task T , if we simply train a model by only minimizing the classification loss L classi,D T on dataset D T , the model will forget how to perform classification on previous datasets D t , t < T which is described as catastrophic forgetting problem McCloskey & Cohen (1989) ; Ratcliff (1990); French (1999) . Here we show how the model trained in our method retains the good performance on all previous tasks while adaptively learning new tasks. The loss for all the previous datasets is denoted by

L T (f ) = T t=1 E Dt [L(f (X t ), Y t )].

Our objective is to learn f T defined as follows:

f T = arg min f L T (f ) = arg min f { T -1 t=1 L classi,Dt (f t ) + L classi,D T (f ) + T -1 t=1 δ Dt (f, f t )} (1)

where L classi,D T (f ) defines the classification loss of f on dataset D T and δ Dt (f, f t ) measures the differences in the network behaviors in the embedding space learnt by f and f t on D t , as introduced later in Equ 7. Given f 1 , ..., f T -1 that are learnt from the previous tasks, at task T , learning f T requires minimizing both terms L classi,D T (f ) and

T -1 t=1 δ Dt (f, f t ).

In the subsections below and Figure 1 , we describe how to optimize these two terms.

2.1. CLASSIFICATION:

To perform classification on dataset D t , our method learns an embedding space in which points cluster around a single prototype representation for each class and classification is performed by finding the nearest class prototype Snell et al. (2017) (Figure 1a ). Compared to traditional classification networks with a specific classification layer attached in the end, such as iCARL and FSR, our method keeps the network architecture unchanged while finding the nearest neighbour in the embedding space, which would lead to more efficient memory usage. For example, in one of the continual learning protocols Snell et al. (2017) where the models are asked to classify incremental classes (also see Section 3.1), traditional classification networks have to expand their architectures by accommodating more output units in the last classification layer based on the number of incremental classes and consequently, additional network parameters have to be added into the memory.

Without loss of generality, here we show how our method performs classification on D T . First, the model learns an embedding function f : R D → R M and computes an M -dimensional prototype c kT ∈ R M which is the mean of the embeddings from examples S kT :

c kT = 1 |S kT | (x iT ,y iT )∈S kT f (x iT ).

(2)

The pairwise distance of one embedding and one prototype within the same class should be smaller than the intra-class ones. Our method introduces a distance function d : R M × R M → [0, ∞).

For each example x T , it estimates a distance distribution based on a softmax over distances to the prototypes of K T classes in the embedding space:

p φ (y T = k T |x T ) = exp(-d(f (x T ), c kT )) K T k exp(-d(f (x T ), c k T ))

.

(3)

The objective function L classi,D T (f ) is to minimize the negative log-probability -log p φ (y T = k T |x T ) of the ground truth class label k T via Stochastic Gradient Descent Bottou (2010) :

EQUATION

) In practice, when N T is large, computing c kT is costly and memory inefficient during training. Thus, at each training iteration, we randomly sample two complement subsets from S kT over all K T classes: one for computing prototypes and the other for estimating distance distribution. Our primary choice of the distance function d(•) is squared Euclidean distance which has been verified to be effective in Snell et al. (2017) . In addition, we include temperature hyperparameter τ in d(•) as introduced in network distillation literature Hinton et al. (2015) and set its value empirically based on the validation sets. A higher value for τ produces a softer probability distribution over classes.

2.2. PROTOTYPE RECALL:

Regardless of the changes of the network parameters from φ t to φ T at task t and T respectively, the primary goal of f T is to learn the embedding function which results in the similar metric space as f t on dataset D t in task t (Figure 1b ). Given a limited amount of memory, a direct approach is to randomly sample a small subset Dt = {(x Intuitively, if the number of data samples in Dt is very large, the network could re-produce the metric space at task t by replaying Dt , which is our desired goal. However, this does not hold in practice given limited memory capacity. With the simple inductive bias that the metric space at task t can be underlined by class-representative prototypes, we introduce another loss that embedded data sample in Dt should still be closest to their corresponding class prototype among all prototypes at task t. This ensures the metric space represented by a set of prototypes learnt from Dt by f T provides good approximation to the one in task t.

(t) i , y (t) i )|i = 1, ..

Formally, for any f after task t, we formulate the regularization of network behaviors δ Dt (f, f t ) in the metric space of task t by satisfying two criteria: first, f learns a metric space to classify Dt by minimizing the classification loss L classi, Dt (f ), as introduced in Sec. 2.1 above; second, to preserve the similar topological structure L regu, Dt,Dt (f, f t ) among clusters on dataset D t , the embeddings f ( xt ) predicted by f based on Dt should produce the similar distance distribution based on a softmax over the distance to prototypes c kt computed using f t on dataset D t :

p φ ( ỹt = kt | xt ) = exp(-d(f ( xt ), c kt )) Kt k exp(-d(f ( xt ), c k t )) , c kt = 1 |S kt | (xit,yit)∈S kt f t (x it ).

(5)

Concretely, L regu, Dt,Dt (f, f t ) is to minimize the negative log-probability p φ ( ỹt = kt | xt ) of the ground truth class label kt conditioned on prototypes c kt , which is pre-computed using f t in Eq 5 at task t and stored in the episodic memory until task T :

EQUATION

Overall, we define δ Dt (f, f t ) in Eq 1 as below: 

EQUATION

2.3. DYNAMIC EPISODIC MEMORY ALLOCATION:

Given a limited amount of memory with capacity C, our proposed method has to store a small subset Dt with m examples randomly sampled from D t and prototypes c kt , k ∈ {1, ..., K t } computed using embedding function f t : R D → R M on D t where t < T . The following constraint has to be satisfied:

EQUATION

When the number of tasks T is small, m can be large and the episodic memory stores more examples in Dt . Dynamic memory allocation of enabling more example replays in earlier tasks puts more emphasis on reviewing earlier tasks which are easier to forget, and introduces more varieties in data distributions when matching with prototypes. Pseudocode to our proposed algorithm in continual learning for a training episode is provided in Algorithm 1.

3. EXPERIMENTAL DETAILS:

We introduce two task protocols for evaluating continual learning algorithms with different memory usage over three benchmark datasets. Source codes will be public available upon acceptance.

3.1. TASK PROTOCOLS:

Permuted MNIST in incremental domain task is a benchmark task protocol in continual learning Lee et al. (2017) 2a ). In each task, a fixed permutation sequence is randomly generated and is applied to input images in MNIST Deng (2012) . Though the input distribution always changes across tasks, models are trained to classify 10 digits in each task and the model structure is always the same. There are 20 tasks in total. During testing, the task identity is not available to models. The models have to classify input images into 1 out of 10 digits.

Split CIFAR10 and split MiniImageNet in incremental class task is a more challenging task protocol where models need to infer the task identity and meanwhile solve each task. The input data is also more complex which includes classification on natural images in CIFAR10 Krizhevsky & Hinton (2009) and miniImageNet Deng et al. (2009) . The former contains 10 classes and the latter consists of 100 classes. In CIFAR10, the model is first trained with 2 classes and later with 1 more class in each subsequent task. There are 9 tasks in total and 5,000 images per class in the training set. In miniImageNet, models are trained with 10 classes in each task. There are 10 tasks in total and 480 images per class in the training set.

Few-shot Continual Learning Humans can learn novel concepts given a few examples without sacrificing classification accuracy on initial tasks Gidaris & Komodakis (2018) . However, typical continual learning schemes assume that a large amount of training data over all tasks is always available for fine-tuning networks to adapt to new data distributions, which does not always hold in practice. We revise task protocols to more challenging ones: networks are trained with a few examples per class in sequential tasks except for the first task. For example, on CIFAR10/miniImageNet, we train the models with 5,000/480 example images per class in the first task and 50/100 images per class in subsequent tasks.

3.2. BASELINES:

We include the following categories of continual learning methods for comparing with our method.

To eliminate the effect of network structures in performance, we introduce control conditions with the same architecture complexity for all the methods in the same task across all the experiments.

Parameter Regularization Methods: Elastic Weight Consolidation (EWC) Kirkpatrick et al. (2017) , Synaptic Intelligence (SI) Zenke et al. (2017) and Memory Aware Synapses (MAS) Aljundi et al. (2018) where regularization terms are added in the loss function; online EWC Schwarz et al. (2018) which is an extension of EWC in scalability to a large number of tasks; L2 distance indicating parameter changes between tasks is added in the loss Kirkpatrick et al. (2017) ; SGD, which is a naive baseline without any regularization terms, is optimized with Stochastic Gradient Descent Bottou (2010) sequentially over all tasks.

Memory Distillation and Replay Methods: incremental Classifier and Representation Learner (iCARL) Rebuffi et al. ( 2017) and Few-shot Self-Reminder (FSR) Wen et al. (2018) propose to regularize network behaviors by exact pseudo replay. Specifically, in FSR, there are two variants: FSR-KLD for logits matching via KullbackLeibler Divergence loss and FSR-MSE for logits distillation via L2 distance loss.

Performance is reported in terms of both mean and standard deviation after 10 runs per protocol. Since generative model-based approaches van de Ven & Tolias (2018); Shin et al. (2017) greatly alter architecture of the classification networks, we do not compare with them.

3.3. MEMORY COMPARISON:

For fair comparison, we use the same feed-forward architecture for all the methods and allocate a comparable amount of memory as EWC Kirkpatrick et al. (2017) and other parameter regularization methods, for storing example images per class and their prototypes. In EWC, the model often allocates a memory size twice as the number of network parameters for computing Fisher information matrix which can be used for regularizing changes of network parameters Kirkpatrick et al. (2017) . In more challenging classification tasks, the network size tends to be larger and hence, these methods require much more memory. In Table 1, we show an example of memory allocation on split CIFAR10 in incremental class tasks with full memory and little memory respectively. The feed-forward classification network contains around 16.3 × 10 5 parameters. Weight regularization methods require memory allocation twice as that, which takes about 32.63 × 10 5 parameters. The input RGB images are of size 3 × 32 × 32. Via Equ. 8, our method can allocate episodic memory with full capacity C = 16.3 × 10 5 and calculate m which is equivalent to storing 16.3 × 10 5 /(3 × 32 × 32) = 530 example images per class. In experiments with little training data as described in Section 3.1, we reduce m to 10 example images per class.

4. EXPERIMENTAL RESULTS:



4.1. ALLEVIATING FORGETTING:

Figure 3 reports the results of continual learning methods with full memory under the two task protocols. All compared continual learning methods outperform SGD (cyan) which is a baseline without preventing catastrophic forgetting. Our method (red) achieves the highest average classification accuracy among all the compared methods, including both parameter regularization methods and memory-based methods, with minimum forgetting.

A good continual learning method should not only show good memory retention but also be able to adapt to new tasks. In Figure 3a , although our method (red) performs on par with EWC (brown) and FSR (date) in retaining the classification accuracy on dataset D 1 in the first task along with 20 sequential tasks, the average classification accuracy of our method is far higher than EWC (brown) and FSR (date) as shown in Figure 3b , indicating both of these methods are able to retain good memory but fail to learn new tasks. After the 13th task, the average classification performance of EWC is even worse than SGD. Across total 20 tasks, our method leads FSR (date) by 3% more accurate on average. Similar reasoning can be applied to comparison with SI (green): although our method performs comparably well as SI in terms of average classification accuracy, SI fails to retain the classification accuracy on D 1 , which is 6% lower than ours in the 20th task.

Figure 3c and 3d show the average task classification accuracy over sequential tasks in incremental class protocol. Incremental class protocol is more challenging than incremental domain protocol, since the models have to infer both the task identity and class labels in the task. Our method (red) performs slightly better than iCARL (date) and has the hightest average classification accuracy in continual learning. Compared with third best method, FSR (green), our method yields constantly around 5% higher on average across all tasks on CIFAR10 and miniImageNet respectively. Note that most weight regularization methods, such as EWC (brown), perform as badly as SGD. It is possible that EWC computes Fisher matrix to maintain local information and does not consider the scenarios when data distributions across tasks are too far apart. On the contrary, our method maintains remarkably better performance than EWC, because ours focuses primarily on the behaviors of network outputs, which indirectly relaxes the constraint about the change of network parameters.

4.2. FEW-SHOT CONTINUAL LEARNING:

We evaluate continual learning methods with little memory under two task protocols with few training data in the second tasks and onwards except for the first tasks. Figure 4 reports their performance. Our method (red) has the highest average classification accuracy over all sequential tasks among state-of-the-art methods with , which is the second best, at the 9th and 10th tasks on CIFAR10 and miniImageNet respectively. Weight regularization methods, such as EWConline (blue) and MAS (brown), perform as badly as SGD (cyan), worse than logits matching methods, such as FSR (green and yellow) or iCARL (purple). Similar observations have been made as Figure 3 with full training data.

Compared with logits matching methods, our method has the highest average task classification accuracy. It reveals that our method performs classification via metric learning in an effective few-shot manner. It is also because our network architecture is not dependent on the number of output classes and the knowledge in previous tasks can be well preserved and transferred to new tasks. It is superior to traditional networks with new parameters added in the last classification layer, which easily leads to overfitting. As a side benefit, given the same number of example inputs in the episodic memory, our method is more efficient in memory usage since it stores one prototype per class instead of the logits for each example input as verified in Table 1 .

4.3. NETWORK ANALYSIS:

We also study the effects of the following three factors upon performance improvement. Figure 5 reports the average classification accuracy of these ablated methods. (1) Intuitively, limited memory capacity restricts number of example inputs to re-play and leads to performance drop. On permuted MNIST in incremental domain, with full memory capacity reduced by 2.5 times (from 5,000 example inputs to 2,000), our method shows a moderate decrease of average classification accuracy by 1% in the 20th task. (2) We also compare our method with memory replay optimized by cross-entropy loss at full memory conditions. A performance drop around 1.5% is observed which validates classifying example inputs based on initial prototypes results in better performance in memory retention. (3) Given fixed C, our method adopts the strategy of decreasing m numbers of example inputs in memory, with the increasing number of tasks. The performance drop of 1.5% using uniform memory allocation demonstrates the usefulness of dynamic memory allocation which enforces more examples to be replayed in earlier tasks, and therefore promotes memory retention.

In Figure 6 , we provide visualizations of class embeddings by projecting these latent representations of classes into 2D space. It can be seen that our method is capable of clustering latent representations belonging to the same class and meanwhile accommodating new class embeddings across sequential tasks. Interestingly, the clusters are topologically organized based on feature similarities among classes and the topological structure from the same classes is preserved across tasks. For example, the cluster of "bird" (black) is close to that of "plane" (orange) in Task 3 and the same two clusters are still close in Task 9. This again validates that classifying example inputs from previous tasks based on initial prototypes promotes preservation of topological structure in the initial metric space.

5. CONCLUSION:

We address the problem of catastrophic forgetting by proposing prototype recalls in classification tasks. In addition to significantly alleviating catastrophic forgetting on benchmark datasets, our method is superior to others in terms of making the memory usage efficient, and being generalizable to learning novel concepts given only a few training examples in new tasks.

However, given a finite memory capacity and a high number of tasks, we recognize that our method, just like other memory-based continual learning algorithms, have limitations in number of prototypes stored. The memory requirement of our method increases linearly with the number of continuous tasks. In practice, there is always a trade-off between memory usage and retention. We believe that our method is one of the most efficient continual learning methods in eliminating catastrophic forgetting with a decent amount of memory usage. Moreover, we restrict ourselves in classification tasks with discrete prototypes. In the future work, to apply our algorithm in more complex and challenging problems, such as regression and reinforcement learning (RL), one possible solution is to quantize the continuous space in regression or formulate RL in discrete state-action pairs.

:



Figures and Tables:

., m} from D t and replay these examples on task T . There have been some attempts Chen et al. (2012); Koh & Liang (2017); Brahma & Othon (2018) selecting representative examples for Dt based on different scoring functions. However, the recent work Wen et al. (2018) has shown that random sampling uniformly across classes has already yielded outstanding performance in continual learning tasks. Hence, we adopt the same random sampling strategy to form Dt .

Figure 2: Schematics of two task protocols in our continual learning experiments: (a) learning with incremental domain on permuted MNIST; and (b) learning with incremental classes on split CIFAR10.

Figure 3: First and average task classification accuracies from 10 random runs on permuted MNIST, split CIFAR10 and split miniImagetNet in incremental domain (ID) and incremental class (IC) tasks.

Figure 4: Few-shot average task classification accuracies on split CIFAR10 and miniImagetNet in incremental class task with few training data in the second tasks and onwards.

Figure 6: 2D visualization of embedding clusters learnt by our method using t-sne Van Der Maaten (2014) on split CIFAR10 in incremental class task. The first task (Task = 1) is a binary classification problem. In subsequent tasks, one new class is added.

; Lopez-Paz et al. (2017); Zenke et al. (2017) (Figure

Table content: <table/>

Peer review (iclr2020):
Paper summary: This paper proposes a method for continual learning/few-shot learning which involves (1) putting class prototypes in a replay buffer, at test time computing the distance to these prototypes in order to classify the example (2) regularizing the embedding space used to compute prototypes by ensuring classification accuracy on a replay buffer of data examples does not degrade. Paper contributions: - The idea of putting prototypes in a replay buffer, and of the regularization for ensuring classification accuracy on earlier examples does not degrade (I*m not up-to-date enough in this area to know if these ideas are novel) - Experiments in continual learning and few shot learning which compare the proposed method to alternatives - Ablation study with different settings of the proposed method - exploration of the embedding clusters learned by the method Review summary & decision: This paper introduces two ideas that I think seem quite good and could be valuable to the community. However, I found the presentation of material very confusing and poorly organized, some claims misleading, and some experiments missing. I recommend rejection of the paper in its current state. Reasons for decision: 1. The intro, *proposed method* section, and *prototype recall* section are repetitive of each other (especially proposed method and prototype recall). The latter two sections also have some information that should go in the related work (aka introduction). I actually like the merging of related work and introduction though; I think it could be nicely space-efficient if things weren*t so repetitive later. 2. Overall I found the paper is very disorganized and hard to follow; the description of what is done (in particular the fact that you evaluate on three different tasks) is very unclear. It*s mentioned in the last paragraph of the intro that you do two experimental protocols, but these are not referred to (at least not by the same name) in all of the experiments. Also there are experiments on few shot learning which are only ambiguously referred to in the abstract. The relationship of *classification* and *eliminating catastrophic forgetting* to these tasks is not discussed, even though there is a whole section called *classification* which seems like a misleading title for this section - it seems more like this is further description of your proposed method, along with some related work. The terms *single head* and *multi head* evaluation are in common use in continual learning, but are not referred to here at all. The pseudocode algorithm with references to equations makes it reasonably clear what is going on, but it would be helpful if it appeared much earlier and the discussion followed this outline (e.g. have this be the first thing in the section, and then have sections called *Prototype computation*, *Episodic memory* and *Prototype recall*), and if it were made more clear where the actual task comes in. Also there*s a lot of related work in the Experiments section. It seems like the few-shot experiments are kind of tacked on as an afterthought; the intro doesn*t mention these and there are methods (e.g. logit matching) used here that are not mentioned in the intro/related work. 3. What is the motivation for averaging embeddings? As far as I can tell this is mentioned in the caption of Figure 1; it should be discussed elsewhere. 4. Part of the motivation for your approach as given in the abstract and intro is not to have to save examples, but your method does require this for computing the regularization term. I would like to see an ablation study of the proposed method with varying amounts of data examples, including 0 (i.e. without this regularization); as far as I understand this is only done for 10 and 530 examples. It seems odd to refer to this as *memory*; this only makes sense if we know you*re referring to episodic memory, which is not clear (or even mentioned) in the caption for Figure 5. Based on the fact that the method performs poorly with only 10 examples as the number of tasks goes up, I would say it*s misleading to claim you use only a small number of samples, as well as to claim that you only need to store class-representative prototypes (you also need to store these examples). Feedback/suggestions/nits (not necessarily part of decision assessment): - *continual learning is a critical ability* this kind of subjective assessment doesn*t add to our understanding and is generally not recommended in scientific writing. This first sentence does not do a good job of explaining what is continual learning for someone who does not know. - *enabling CL* strange word to use here. - Inconsistent capitalization of prototype recalls - In the abstract, the 4 contributions seem repetitive (1 and 3 seem the same to me) and the 4th contribution makes it sound like an avenue for future work than an actual contribution. - Intro is repetitive of the abstract - citations are frequently incorrectly formatted (should use citep, not citet unless you are referring to the authors by name) - unclear what *stationary batches* means; do you mean in continual learning the data distribution is non-stationary? - verb tense: *have been currently proposed* does not make sense - I don*t understand the criticism of *Learning without forgetting* (that it requires exhaustive hyperparameter tuning); your method also has hyperparameters to tune. Do they have more, and is their method more sensitive to hyperparameters? What*s the evidence for this? - If your criticism of replay-based methods is that they ignore topology among clusters in embedding space, you should explain why/how your method does not do this. Likewise for relying on *small amounts of individual data*; if seems to me that your method has the same structure, and for both your and these methods the size of the replay buffer is just a hyperparameter, unless I*ve misunderstood something. - *our method learns embedding functions... has also been verfied in works* what exactly has been verified? What do those works do? This sentence is unclear. - Hoffer & Ailon is incorrectly cited as Ailon (2015); in general the references are poorly formatted - Snell et al is barely mentioned in the related work, but the two methods seem very similar to me; I think it merits more discussion (in particular, highlighting how what you do is different / an extension). The *classification* section seems to imply you compute prototypes exactly as in Snell et al., but elsewhere it sounds like you do something different. - Figure 1 is not clear; one must have already read the full explanation of the two settings (which is spread over the intro and other sections) to understand it. Just mentioning that these two are different evaluation settings would be helpful. Also, I find the relationship between the tasks unclear. - *yielded outstanding performance* what is outstanding in this context? - not sure it*s accurate to call *the metric space at task t can be underlined by class-representative prototypes* an *inductive bias*. Also what does *underline* mean here? - *without loss of generality* I don*t think this phrase is used appropriately here - Algorithm 1*s for loop is quite unclear to me, in particular it*s unclear where you actually do the task you*re supposed to be doing. - EWC and yours are the same colour in Figure 3 - Figure captions should mention what the abbreviations mean (or mention where in the text these explanations can be found). - What are we supposed to tak away from the TSNE plots? This explanation should be in the caption, and the tsne hyperparameters should be in appendix. - *we restrict ourselves to... discrete prototypes* not obvious what discrete means here; you*re using a continuous embedding space. I assume you mean discrete output tasks (i.e. classification), but this is unclear. - It would be nice to see results about computation time; it seems like computing the prototypes might be very intensive. Questions: 1. Can you contrast your method with prototypical networks? Are prototypes computed in the same way, and then put in a replay buffer along with examples? 2. Why averaging the embeddings? Did you try anything else? 3. How do your task protocols correspond to *single head* and *multi head* evaluation protocols? Why weren*t these mentioned? Why did you choose these protocols? 4. The approach of using the same architecture and same memory allowance for all the methods tested seems reasonable to me, but can you think of alternatives, or reasons that this could be unfair to any of the methods?