Incremental Classifier Learning with Generative Adversarial Networks

02/02/2018 ∙ by Yue Wu, et al. ∙ Northeastern University CUNY Law School Microsoft 0

In this paper, we address the incremental classifier learning problem, which suffers from catastrophic forgetting. The main reason for catastrophic forgetting is that the past data are not available during learning. Typical approaches keep some exemplars for the past classes and use distillation regularization to retain the classification capability on the past classes and balance the past and new classes. However, there are four main problems with these approaches. First, the loss function is not efficient for classification. Second, there is unbalance problem between the past and new classes. Third, the size of pre-decided exemplars is usually limited and they might not be distinguishable from unseen new classes. Forth, the exemplars may not be allowed to be kept for a long time due to privacy regulations. To address these problems, we propose (a) a new loss function to combine the cross-entropy loss and distillation loss, (b) a simple way to estimate and remove the unbalance between the old and new classes , and (c) using Generative Adversarial Networks (GANs) to generate historical data and select representative exemplars during generation. We believe that the data generated by GANs have much less privacy issues than real images because GANs do not directly copy any real image patches. We evaluate the proposed method on CIFAR-100, Flower-102, and MS-Celeb-1M-Base datasets and extensive experiments demonstrate the effectiveness of our method.



There are no comments yet.


page 6

page 7

page 9

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

So far, most of the large-scale machine learning systems are trained in batch mode where the data samples from all the classes must be available during training. As pointed out by 

[22, 13]

, natural learning systems are inherently incremental where new knowledge is continuously learned over time while existing knowledge is maintained. Furthermore, many computer vision applications in the real world require incremental learning capabilities because the batch-mode training does not scale up well when new classes need to be learned frequently over time.

One main problem with the incremental learning is the catastrophic forgetting [15] where the classification accuracy for the existing classes may quickly deteriorate as the new classes are added. Catastrophic forgetting is mainly caused by the fact that the past data are not available during training. The key challenge is how to integrate the old classifier and new data to learn the representation efficiently. Existing solutions [13, 22] either use the old classifier as regularization, or select a few exemplars to represent old training data. However, neither of them can retain the classification performance on the old classes and at the same time balance the old/new classes. In addition, selecting exemplars has other limitations (e.g. not scalable, privacy issue, etc).

We propose a new loss function to integrate cross-entropy loss and distillation loss on both old exemplars and new training samples. This allows accurate classification within old classes or new classes. To balance between old and new classes, we found that a scalar can efficiently represent the bias on new data. Thus we can simply estimate the bias on validation set and remove it from the model. The experiment results show the bias estimation is very stable across validation and test datasets. This method outperforms the-state-of-arts iCaRL [22] on CIFAR-100 [11].

We also investigate using GANs[4, 19, 16, 21, 2] to replace the exemplars as it is more scalable and has less privacy issue than keeping the past data. Although GANs have limitations on image quality and mode dropping, our method outperforms the-state-of-arts LwF [13] which does not use any exemplars on CIFAR-100 [11], Flower-102 [18] and MS-Celeb-1M-Base [5, 6] datasets.

Figure 1: Comparison of our framework with LwF [13] and iCaRL [22]. LwF applies the distilling loss to the new data and iCaRL keeps a small set of exemplars from old data. Our method utilizes GANs to generated old data.

2 Related Work

Incremental learning has been a long standing problem in machine learning [3, 20, 17, 12]

. Before the deep learning took off, people had been developing incremental learning techniques by leveraging linear classifiers, ensemble of weak classifiers, nearest neighbor classifiers, etc. Recently, thanks to the exciting progress in deep learning, there has been a lot of research on incremental learning with deep neural network models. The work can be roughly divided into two categories depending on whether they require the old data or not.

The methods in the first category do not require any old data. [9]

presented a method for domain transfer learning. They try to maintain the performance on the old task by freezing the final layer of the old tasks and discouraging the shared weight parameters in the feature extraction layers from changing.

[10] proposed a technique to remember old tasks by constraining the important weight parameters to stay close to their old values while looking for a solution to a new task in the neighborhood of the old one. One limitation of the approach is that there will be conflicting constraints for the weight parameters which are shared between old and new tasks. [13] presented a method that uses a technique called knowledge distillation [8] to maintain the performance of the new classifier on the old tasks. [24] also uses knowledge distillation, but they apply it to the object detection instead of classification. Our method also belongs to this category in that we do not require the old data. The key difference is that we use a GANs [4, 2, 21] to represent the old data. Even though the data generated by GANs are not as good as the real data, our experiments show that the data generated by GANs significantly improve the incremental learning performance compared to those techniques without using any old data at all.

The methods in the second category require part or all of the old data. [22] proposed a method to select a small number of exemplars from each old class, and the selected exemplars are stored for the incremental learning when adding new classes. [14] proposed a continuous learning framework where the training samples for different tasks are input into the model one by one during training. [25] proposed a training method that grows a network hierarchically as new training data are added. The key difference between our method and these techniques is that we do not keep any real data of the old classes. In real world applications, due to the privacy and legal concerns, real data may not be allowed to be stored for a long period of time. Since GANs generate data purely from a neural network without copying any real image patches, we expect GANs to have much less or even no privacy concerns. The situation is similar to the speech synthesis where the speech data generated by model-based speech synthesis methods has no privacy or legal concerns while the speech data generated by exemplar-based speech synthesis methods, which copies exemplar speech segments, are considered as having the same privacy concerns as the original real data.

3 Incremental Classifier Learning

We define the incremental classification as follows: given a pre-trained classifier on classes and a new labeled dataset for additional classes, how to train a new model to perform classification on classes? Let us denote the new dataset as , where is the size of the dataset, and are the image and the label, respectively.

Although strict incremental learning does not allow using the old class data, which is used to train the old model , iCaRL [22] shows that keeping a small amount of old data significantly improves the performance. Let us denote the selected old data as , where is the number of selected old images.

3.1 Design of Loss Function

Incremental learning has two major challenges - (a) maintaining the classification performance on the old classes, and (b) balancing the old classes and the new classes.

LwF [13] used distilling with the new data to handle the first challenge and relied on the weight decay to address the balance. However, one limitation of this solution is that the distilling with the new data may not guarantee that the new classifier has similar predictions as the old classifier on the old data. In addition, finding the optimum weight decay is difficult.These two issues can be significantly improved by selecting a few real exemplars from the old data. We will provide a solution later.

iCaRL [22] solved the first challenge by carefully selecting a few exemplars from the old data, and handling the unbalance issue by using binary entropy loss for each class. However, the loss function is not as effective as the cross entropy to handle the relationship between classes.

We propose a new loss function by leveraging the strength of both LwF [13] and iCaRL [22]. We borrow the exemplar idea from iCaRL to keep a few exemplars and use them on both the distilling and cross entropy losses. The introduction of the old data improves the distilling by enabling the similar prediction between the old and new classifiers on the old classes. Although exemplars also help balance the old classes and new classes as the cross entropy is computed across all classes, it is still difficult to find the balance point since the new data variations are significantly larger. We present a simple representation of the unbalance - a scalar on the prediction of the new classes. In addition, we can simply estimate the unbalance on the validation set and apply it to the new classifier. Experimental results show that our approach not only outperforms the LwF and iCaRL, but also is not sensitive to the exemplar selection. Furthermore, our new loss function and unbalance estimation also works well on GANs generated data. We illustrate the difference between our model, LwF and iCaRL in Figure 1.

3.2 Loss Function

In the section, we show the details of the proposed loss function and unbalance estimation. Let us denote the output of the old and new classifiers as and respectively. This is illustrated in Figure 2.

The distilling loss is formulated as follows:


where is the temperature scaler and is set to 2.

The cross-entropy loss is written as:


The two losses are combined linearly as follows:


where the scaler is used to balance the two terms.

3.3 Bias Removal

Due to the unbalanced data between the old classes and the new classes (i.e. ), the new classifier is biased towards the new classes. This is confirmed by the experimental results. We simply represent the bias as a multiplier between 0 and 1 that is applied to the outputs of the new classes:


We can use the validation set to estimate the bias and apply it to the classifier to remove the bias. Results show that the bias is very consistent across the validation set and the test set and our new loss with bias estimation outperforms the-state-of-arts iCaRL [22] on CIFAR-100.

Figure 2: Overview of our incremental learning framework. The loss function contains two terms, the distilling loss and the cross-entropy loss.

4 Generating Exemplars Using GANs

The approach of choosing exemplars has a major drawback - the gap between the distribution of the chosen exemplars and the distribution of the entire training data for the old classes. Since in theory GANs [4] can learn the distribution of the real dataset, GANs could potentially be a better representation of the old data. Furthermore, we expect GANs to have less privacy concerns than the real data because GANs do not copy any real image patches. Therefore, we propose training a GANs to represent the old data, and using the samples generated by the GANs for incremental learning.

4.1 Combining GANs and Classifier

We use all the training data of the old classes to train a generator , where is a random noise input. Then a label is assigned to the generated image using the classifier as follows:


We use the vanilla GANs rather than the conditional GANs [16] since it is difficult for the conditional GANs when the number of classes is large (e.g. 10k for face data) and each class has limited samples [19]. We use the DCGANs [21] architecture for the generator and use the earth-mover distance in WGANs [2] as the loss function to encourage more data variations and coverage.

4.2 Data Selection

Even though there has been exciting progress in GANs, there are still limitations in the existing techniques. GANs cannot guarantee that the generated image always looks like images from the old training dataset . It sometimes generates images which are mixtures of multiple classes or generates images which are totally different from any of the classes. Therefore, a selection process is necessary in order to remove unrelated samples. We simply select generated images such that its maximum likelihood over classes is above a pre-specified threshold , i.e. . Once the generated images are selected, we use the same incremental learning approach in Section 3 to train the new classifier by replacing the real exemplars with generated images and labels .

5 Experiments

In this section, we first introduce the datasets and describe implementation details. We then show comparisons with the state-of-the-art methods, followed by the discussions on the model parameters.

5.1 Datasets

Experiments are conducted on three datasets:
CIFAR-100 [11] contains 100 object classes. Each class has 500 training images and 100 testing images. Following the class-incremental benchmark protocol in iCaRL [22] on this dataset, 100 classes are arranged in a fixed random order and come in as parts. Each part is with classes. A multi-class classifier is built with the first part that contains classes. Then this classifier is adapted to recognize all 100 classes. We have performed experiments for =2, 5, 10 and 20.
Flower-102 [18] consists of 102 flower categories. The original split of this dataset has 1,020 images in the training set and 6,149 images in the test set. To use more training images for the CNN model, we take the larger set of 6,149 images as training and test on the smaller set of 1,020 images. Similar to CIFAR-100, 102 classes are split into two parts and are trained incrementally. Each part contains 51 classes.
MS-Celeb-1M-Base [5] has 20,000 classes with a total of 1.2 million aligned face images, which is a smaller yet nearly noise-free version of MS-Celeb-1M [6] dataset. For each person, 80% with up to 30 images are randomly selected as the training images and the rest are used for testing. The 20,000 classes are divided randomly and equally into two parts to be incrementally trained.

5.2 Implementation Details

We used the TensorPack package111

based on TensorFlow

[1]. The implementation details are listed as follows:
CIFAR-100: we follow the iCaRL setting which used a 32-layer ResNet [7]

. Each training step has 70 epochs. The learning rate starts from 0.1 initially and reduces to 0.01 and 0.001 after 49 and 63 epochs, respectively. The weight decay is set to 0.0002 and the batchsize is 128.

Flower-102: an 18-layer ResNet [7]

is fine-tuned from a model that is trained with IMAGENET ILSVRC 2012

[23] dataset. 90 epochs are used for each training. The learning rate is set to 0.1 and reduces to 1/10 of the previous learning rate every 30 epochs. The weight decay is 0.0001 and the batchsize is 256.
MS-Celeb-1M-Base: a 34-layer ResNet [7]

is utilized. The learning rate, weight decay, batchsize and training epochs are the same as Flower-102. The standard Top-1 accuracy is reported as the evaluation metric.

Our codes will be released in github.

5.3 Comparisons and Results

We compare with other alternative methods, including:
Finetuning learns an ordinary multi-class network without taking any measures to prevent catastrophic forgetting. It learns a multi-class classifier for new incoming classes by fine tuning the previously learned multi-class classification network.
Learning without Forgetting (LwF) [13] utilizes distillation loss to prevent catastrophic forgetting. But it does not use any method to recover the old data like iCaRL or ours.
iCaRL [22] keeps an exemplar set to store a small part of old data and uses distillation loss.

The results of our method include:
Ours-Real keeps a few exemplars like what iCaRL does but is trained with our loss function defined in Equation (3).
Ours-GANs uses GANs generated data to replace the exemplars in Ours-Real. The GANs model is trained by using the data in the first part, and the data in the first part are not used anymore during the incremental learning.

We compare Ours-Real to iCaRL when using real exemplars, and compare Ours-GANs to LwF and Finetuning without using exemplars.

5.3.1 Ours-Real vs iCaRL with Real Exemplars

We compare Ours-Real to iCaRL [22], which is the state-of-arts on incremental learning with real exemplars. The results for P=2 (C=50) are shown in Table 1. We can see that Ours-Real obtains 2.07% gain in accuracy over iCaRL during increment learning from 50 classes to 100 classes. This demonstrates the superiority of our method.

On CIFAR-100 dataset, ours-Real and iCaRL use different implementations of the 18-layer ResNet [7]. When training classifier on all 100 class training data, our network gets 69.09% top-1 accuracy, which is slightly higher than iCaRL (68.6% accuracy reported in [22]). But when training classifier on the first 50 classes, our network obtains 75.22% accuracy that is worse than 76.40% in iCaRL. Given these two results, we consider that the two implementations are on par. Thus, the 2.07% gain in accuracy shows that Ours-Real outperforms iCaRL comes from our loss function and unbalance removal.

We further compare iCaRL with Ours-Real on Flower-102 and MS-Celeb-1M-Base. Since results on these two datasets are not shown in [22], we implement their method by ourselves. Results are shown in Table 1.

On Flower-102, as suggested by [22], the learning rate is initialized to 2 and decreased to 0.4 and 0.08 after 30 and 60 epochs, respectively. The total training epochs are 90. The size of the exemplar set is 255, which is the same as Ours-Real. From the results, we can see that Ours-Real outperforms iCaRL by 1%.

On MS-Celeb-1M-Base, the training with the sigmoid cross entropy loss on the old data of 10K classes does not converge regardless of whether we train it from scratch or fine-tune from the model that is trained using Softmax loss. This is probably because the sigmoid cross entropy loss does not enforce a strong discriminative boundary between classes. Thus we adapt a two-stage fine-tuning strategy to make the binary cross entropy loss work on MS-Celeb-1M-Base. During the first stage, we fix the feature extraction and only fine-tune the classifier with sigmoid cross entropy loss. After this stage, the top-1 accuracy on the validation set of the first 10k classes is 92%. For the second stage, we fine-tune the whole network with a smaller learning rate for 40 epochs (using larger learning rates at the second stage does not converge). After the second stage, we can achieve 97% top-1 accuracy, which is still worse than the 99.34% of the model trained with softmax. For the incremental learning with new data (another 10K classes), the convergence problem still exists. Thus, we also adapt the same two-stage training strategy to make it converge. From the results, we can see that Ours-Real outperforms iCaRL by a margin, which shows that our method is better than iCaRL in handling the incremental learning with a large number of classes.

Method CIFAR-100 Flower-102 MS-Celeb
iCaRL [22] 0.6132 0.9301 0.9341
Ours-Real 0.6339 0.9402 0.9903
Table 1: Comparison of iCaRL and Ours-Real. Ours-Real outperforms iCaRL in all three datasets. On MS-Celeb-1M-Base that has 20,000 classes, Ours-Real is significantly better than iCaRL, which shows that our incremental learning method is more effective in handling a large number of classes.

The experimental results on CIFAR-100 with , and are shown in Table 2, 3 , and 4, respectively. Our method outperforms iCaRL [22] for all incremental batches by a margin. The softmax outperforms sigmoid at the beginning by a large margin. Although the margin becomes smaller after a few batches, our method still has better performance across all batches. The average gains of our method over iCaRL [22] are %, % and % for the splits of 20, 10 and 5 classes, respectively. These results illustrate that our method using cross entropy and bias removal is effective and robust.

20 40 60 80 100
iCaRL [22] 81.33 72.19 65.21 59.43 54.38
Ours-Real 81.55 74.45 67.82 61.86 56.53

Table 2: Results on CIFAR-100 with a batch of 20 classes.
10 20 30 40 50
iCaRL [22] 86.17 78.60 73.60 67.06 63.99
Ours-Real 90.09 80.05 74.87 68.70 65.06

60 70 80 90 100
iCaRL [22] 59.58 56.80 53.76 51.22 49.23
Ours-Real 61.70 59.13 56.03 53.16 51.38

Table 3: Results on CIFAR-100 with a batch of 10 classes.
5 10 15 20 25
iCaRL [22] 87.80 82.50 78.06 74.21 70.96
Ours-Real 95.80 90.30 81.07 75.95 73.68

30 35 40 45 50
iCaRL [22] 66.68 64.16 62.18 61.14 59.75
Ours-Real 71.80 68.12 65.45 62.89 61.90

55 60 65 70 75
iCaRL [22] 58.09 56.58 54.73 52.62 51.62
Ours-Real 59.37 57. 27 56.30 55.92 54.04

80 85 90 95 100
iCaRL [22] 50.28 48.75 47.00 45.77 44.36
Ours-Real 52.63 49.75 49.68 48.16 46.91

Table 4: Results on CIFAR-100 with a batch of 5 classes.

We compare the confusion within and across batches. Figure 3 shows the batch confusion on the split of 5, 10, 20 and 50 classes. The confusion is balanced inside and across batches overall.

Figure 3: Confusition matrix across batches, (a) split of 5 classes, (b) split of 10 classes, (c) split of 20 classes and (d) split of 50 classes.

Another experiment is designed to compare our model with iCaRL [22] in the extreme case, i.e. using all old 50 classes data as exemplars. As shown in Table 5, iCaRL and our model have similar performance in training a classifier in batch mode to recognize the 100 classes. In the incremental learning setting, our method can achieve the same performance compared with the batch training since the loss function for batch training is a special case of our method when

is set to 0. The incremental learning result of our method is actually slightly better due to the fact that the model of 50 classes is utilized as the initialization. Results of iCaRL cannot reach the upper bound of the batch training of its own. This is because the loss function in iCaRL during incremental learning is different to the batch training classifier. These results illustrate that our loss function (cross-entorpy loss with Softmax) is more efficient than the binary cross-entropy loss with a sigmoid activation function in iCaRL.

Method Top-1 accuracy
Batch training iCaRL [22] 0.6860
Ours-Real 0.6909
Incremental learning iCaRL [22] 0.6687
Ours-Real 0.7004
Table 5: Comparison between our method and iCaRL with all data available on CIFAR-100. Two methods achieve similar performance when using all the 100 classes at the batch training. Ours-Real outperforms iCaRL in the incremental learning setting.
Method CIFAR-100 Flower-102 MS-Celeb
Finetuning 0.3950 0.4912 0.4901
LwF [13] 0.5250 0.7461 0.9848
Ours-GANs 0.5490 0.9000 0.9891
Ours-Real 0.6339 0.9402 0.9903
Table 6: Top 1 accuracy on CIFAR-100, Flower-102 and MS-Celeb datasets without using exemplars. Ours-GANs outperform LwF in all datasets. Training with all data achieves top-1 accuracy 0.6909 on CIFAR-100, 0.9750 on Flower-102 and 0.9933 on MS-Celeb-1M-Base. Results of Ours-Real are also given in the last row for reference.
Figure 4: Illustration of some selected GANs images and real images of the corresponding class. We select three classes in each dataset and manually select the similar pair of images between the sampled GANs data and real images. Five pairs of every class are presented. Although the quality of GANs images are much lower than real images, some shapes and colors look similar between real images and GANs images.

5.3.2 Ours-GANs vs LwF without Real Exemplars

We compare Ours-GANs to LwF [13], which is the state-of-the-arts on incremental learning without any real exemplars. As shown in Table 6, Ours-GANs outperforms LwF [13] on all three datasets. Especially on Flower-102, Ours-GANs are 25.39% better than LwF, which is a huge margin. This shows the effectiveness our method and demonstrate that using distilling with the new data alone can not guarantee that the new classifier has similar predictions as the old classifier on the old data. .

Compared with using the real images, the performance of using GANs drops from 63.87% to 54.9% on CIFAR-100. This is due to the challenge on training GANs on CIFAR-100 dataset. In Figure 4, we can see that GANs generated images have poor quality. However, the generated images is still useful, since it provides better results (54.9%) than LwF (52.5%). We believe that as GANs continue to improve in the future, the gap between using real images and GANs will be reduced.

To visually verify that correlation between GANs generated data and real exemplars, we compare the real images and GANs generated images for three datasets in Figure 4. For each dataset, we select 3 classes and 5 real images and GANs generated images per class. Clearly, the GANs generated images are correlated with the real images, which validates the idea of using GANs to represent the old training data. However, we also observe a clear difference between real images and GANs generated images, which explains the performance drop from using real exemplars to using GANs.

5.4 Model Analysis

In this subsection, we analyze the sensitivity of our loss function to (a) exemplar selection, (b) the scalar to balance cross entropy loss and distill loss in Equation (3), and (c) the bias scalar in Equation (4). The analysis is performed on CIFAR-100 dataset with an incremental from 50 classes to 100 classes. We also discuss how to sample the GANs generated data.

5.4.1 Sensitivity to Exemplar-Selection

We evaluate our method with two different strategies to select real exemplars: (a) the exemplar management strategy proposed by iCaRL [22], and (b) random selection. We keep the size of the exemplar set to 2,000. Random selection is run 5 times and an average result is reported. Results are shown in Table 7. Compared with iCaRL exemplar management, randomly selected samples can achieve similar performance, which demonstrates that our loss function is not sensitive to the exemplar-selection.

Top-1 accuracy
iCaRL Exemplars [22] 0.6339
Random Selection 0.6361
Table 7: Comparison between iCaRL exemplar management strategy and random selection.

5.4.2 Loss Scalar

The parameter in Equation (3) controls the balance between the distillation loss and the cross-entropy loss. The value is set by grid search on a validation set. Note that our validation data is split from the training set, not the test set.

We first investigate the with real data. In Table 8, we can observe that the results are stable when varying from 0.3 to 0.7. Thus we set to 0.5. This setting is used for all the experiments with real data. The results show that the balance between the distilling loss and the cross entropy loss is important, since it provides the optimal trade-off between the old classifier and new data. Note that when is equal to 0.0, our loss function is equivalent to the cross-entropy loss. Using cross-entropy loss alone struggles with the data unbalance problem as it does not leverage the good performance of the old classifier. Using the distilling loss alone (1.0), is not a good choice either since the labels of neither old nor new data are used.

Estimating when using GANs generated data is difficult due to the apparent differences between the GANs generated images and the real images. Intuitively, GANs data require a larger compared with real images since outputs from the old classifier is more reliable than the pseudo labels. We empirically set to 0.9 in all the experiments with GANs data.

Validation Test
1.0 0.482 0.3703
0.9 0.536 0.5055
0.7 0.560 0.5576
0.5 0.562 0.566
0.3 0.558 0.5714
0.1 0.552 0.5546
0.0 0.532 0.5352
Table 8: Effect of on the incremental learning performance when the exemplars are selected from the real old data set.
Old data Exemplars GANs
Validation Test Validation Test
0.0 0.4240 0.3594 0.4970 0.3740
0.1 0.4240 0.3594 0.5000 0.3742
0.2 0.4260 0.3611 0.5080 0.3848
0.3 0.4420 0.3836 0.5340 0.4130
0.4 0.5040 0.4483 0.5960 0.4574
0.5 0.5680 0.5286 0.6510 0.5042
0.6 0.6400 0.6000 0.7060 0.5472
0.7 0.6720 0.6339 0.7400 0.5628
0.8 0.6580 0.6319 0.7570 0.549
0.9 0.6240 0.6064 0.7490 0.5166
1.0 0.5740 0.5667 0.7140 0.4720
Table 9: Incremental learning performance over on exemplars of real images and GANs generated data. The corresponding accuracy- curve is shown in Figure 5.
Figure 5: Incremental learning accuracy- curve. We can observe a correlation between the validation set and the test set with both real data and GANs generated data.
Figure 6: Confusion matrix with different on the validation set with real data (a) (b) (c) (d) and GANs data (e) (f) (g) (h). We can observe that the bias moves gradually between the old 50 classes and the new 50 classes with different . A proper can alleviate the bias in the classifier.

5.4.3 Bias Scalar

The parameter in Equation (4) is a multiplier applied to the output of new classes, which controls the balance between old classes and new classes. It can be estimated on the same validation set for estimating in the last subsection.

We first analyze the effect of on real image exemplars. We randomly select 5 samples per class from the training dataset for validation and keep the rest for training. For the first 50 classes, the 5 samples per class are selected from the 40 exemplars per class. For the newly arrived 50 classes, the 5 samples are selected from the training samples. Results on the validation set is shown in Table 9 with varying from 0.0 to 1.0 with an increment of 0.1. The accuracy- curve is shown in Figure 5. We find that achieves the best with 9.8% and 6.7% gains on the validation set and the test set, respectively. This shows the effectiveness of our method to remove bias.

Compared to iCaRL, even though we use less data for training due to splitting into training set and validation, our bias-removed classifier outperforms iCaRL by 2.07% in terms of accuracy, shown in Table 6.

We also analyze the selection of with GANs data. Similar to using the real exemplars, we select 10 samples from every class for validation. Results on the validation set and test set are shown in Table 9. Using the best estimation of bias = 0.8 achieves 54.90% top-1 accuracy, which is 7.7% higher than the classifier without bias removal. We also observe that the validation and test sets are not perfectly aligned on the GANs generated data, i.e. a smaller bias = 0.7 achieves the best 56.28% on the test dataset. This is because GANs generated data does not have the same distribution of the test dataset. But the bias estimation on the validation is reasonable with only 1.38% drop in performance.

To further illustrate the bias problem in the incremental learning, we plot the confusion matrix with different on the validation set for both using exemplars and using GANs generated data in Figure 6. We observe the same trend on both real exemplars and GANs generated data. When , the bias is clearly on the new classes. As decreases, the bias gradually moves towards the old classes. We also observe a difference between using real exemplars and GANs generated data - the confusion between the old 50 classes is much smaller on the GANs generated data. This is due to a classic drawback of GANs: generated data have smaller variations than the real data.

5.4.4 GANs Data Sampling

As described in section 4, we utilize the threshold to select good images. If the number of images with higher scores than is large, we select the top- images. and are set empirically. On CIFAR-100, . On Flower-102, . On MS-Celeb-1M-Base, .

The on CIFAR-100 is very different to Flower-102 and MS-Celeb-1M-Base because the classifier is not as good as the other two.

6 Conclusions and Future Work

In this paper, we address three issues in incremental classifier learning - (a) the inefficient loss function to integrate old classifier and new data, (b) the unbalance between old and new classes, (c) the scalable and privacy problems for selecting exemplars. Firstly, we propose a new loss function that combines the distillation loss and cross-entropy loss over all old and new classes. Secondly, we found that the unbalance between old and new classes can be represented as a multiplier on the prediction of new classes. This unbalance representation is very stable on validation set, test set and even data generated using GANs. Finally, we propose using GANs to generate the past data. Our method has excellent results outperforming the state of arts on three datasets CIFAR-100, FLower-102 and MS-Celeb-1M-Base by a large margin. In the future, we plan to investigate how to improve the GANs generator to narrow the gap between GANs data and real images.


  • [1] M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, C. Citro, G. S. Corrado, A. Davis, J. Dean, M. Devin, et al. Tensorflow: Large-scale machine learning on heterogeneous distributed systems. arXiv preprint arXiv:1603.04467, 2016.
  • [2] M. Arjovsky, S. Chintala, and L. Bottou. Wasserstein generative adversarial networks. In Proceedings of the 34th International Conference on Machine Learning, ICML 2017, Sydney, NSW, Australia, 6-11 August 2017, pages 214–223, 2017.
  • [3] G. Cauwenberghs and T. Poggio.

    Incremental and decremental support vector machine learning.

    In Advances in neural information processing systems, pages 409–415, 2001.
  • [4] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Generative adversarial nets. In Advances in neural information processing systems, pages 2672–2680, 2014.
  • [5] Y. Guo and L. Zhang. One-shot face recognition by promoting underrepresented classes. arXiv preprint arXiv:1707.05574, 2017.
  • [6] Y. Guo, L. Zhang, Y. Hu, X. He, and J. Gao.

    MS-Celeb-1M: A dataset and benchmark for large scale face recognition.

    In European Conference on Computer Vision. Springer, 2016.
  • [7] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In

    Proceedings of the IEEE conference on computer vision and pattern recognition

    , pages 770–778, 2016.
  • [8] G. Hinton, O. Vinyals, and J. Dean. Distilling the knowledge in a neural network. In NIPS Deep Learning and Representation Learning Workshop, 2015.
  • [9] H. Jung, J. Ju, M. Jung, and J. Kim. Less-forgetting learning in deep neural networks. arXiv preprint arXiv:1607.00122, 2016.
  • [10] J. Kirkpatrick, R. Pascanu, N. Rabinowitz, J. Veness, G. Desjardins, A. A. Rusu, K. Milan, J. Quan, T. Ramalho, A. Grabska-Barwinska, et al. Overcoming catastrophic forgetting in neural networks. Proceedings of the National Academy of Sciences, 114(13):3521–3526, 2017.
  • [11] A. Krizhevsky and G. Hinton. Learning multiple layers of features from tiny images. 2009.
  • [12] I. Kuzborskij, F. Orabona, and B. Caputo. From n to n+ 1: Multiclass transfer incremental learning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3358–3365, 2013.
  • [13] Z. Li and D. Hoiem. Learning without forgetting. In European Conference on Computer Vision, pages 614–629. Springer, 2016.
  • [14] D. Lopez-Paz et al. Gradient episodic memory for continual learning. In Advances in Neural Information Processing Systems, pages 6470–6479, 2017.
  • [15] M. McCloskey and N. J.Cohen. Catastrophic interference in connectionist networks: The sequential learning problem. Psychology of Learning and Motivation, 24:109–165, 1989.
  • [16] S. O. Mehdi Mirza. Conditional generative adversarial nets. In Deep Learning Workshop NIPS 2014, 2014.
  • [17] T. Mensink, J. Verbeek, F. Perronnin, and G. Csurka. Distance-based image classification: Generalizing to new classes at near-zero cost. IEEE transactions on pattern analysis and machine intelligence, 35(11):2624–2637, 2013.
  • [18] M.-E. Nilsback and A. Zisserman. Automated flower classification over a large number of classes. In Computer Vision, Graphics & Image Processing, 2008. ICVGIP’08. Sixth Indian Conference on, pages 722–729. IEEE, 2008.
  • [19] A. Odena, C. Olah, and J. Shlens. Conditional image synthesis with auxiliary classifier gans. In International Conference on Machine Learning, pages 2642–2651, 2017.
  • [20] R. Polikar, L. Upda, S. S. Upda, and V. Honavar. Learn++: An incremental learning algorithm for supervised neural networks. IEEE transactions on systems, man, and cybernetics, part C (applications and reviews), 31(4):497–508, 2001.
  • [21] A. Radford, L. Metz, and S. Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. In arXiv preprint arXiv:1511.06434 [cs.LG], 2015.
  • [22] S.-A. Rebuffi, A. Kolesnikov, G. Sperl, and C. H. Lampert. icarl: Incremental classifier and representation learning. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 2017.
  • [23] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, et al. Imagenet large scale visual recognition challenge. International Journal of Computer Vision, 115(3):211–252, 2015.
  • [24] K. Shmelkov, C. Schmid, and K. Alahari. Incremental learning of object detectors without catastrophic forgetting. In Proceedings of the International Conference on Computer Vision, 2017.
  • [25] T. Xiao, J. Zhang, K. Yang, Y. Peng, and Z. Zhang.

    Error-driven incremental learning in deep convolutional neural network for large-scale image classification.

    In Proceedings of the 22nd ACM international conference on Multimedia, pages 177–186. ACM, 2014.