[ECCV 2020] PODNet: Pooled Outputs Distillation for Small-Tasks Incremental Learning 핵심 리뷰

This entry is part 20 of 22 in the series Incremental Learning

내용 요약

기존의 distillation + exemplar방식에 Bias Correction layer를 추가한 incremental learning 방법론을 제안합니다. Distillation loss를 세분화한 POD loss와 classifier를 변형한 Local Similarity Classifier를 제안합니다.

1. 들어가며

이번 글에서는 ECCV 2020에 발표된 PODNet: Pooled Outputs Distillation for Small-Tasks Incremental Learning 논문을 리뷰합니다. 이 논문은 PODNet이라고 불리며, 이번 글에서도 PODNet이라고 지칭하겠습니다.

전체-흐름-속에서-보기
그림1. Incremental Learning 전체 흐름

Incremental Learning을 방법론에 따라 크게 구분하면 위의 그림과 같이 구분할 수 있습니다.

  • Regularization : 이전 task에서 학습한 네트워크의 파라미터가 최대한 변하지 않으면서 새로운 task를 학습하도록 유도
  • Distillation : 이전 task에서 학습한 파라미터를 새로운 task를 위한 네트워크에 distillation
  • Distillation + Memory : 이전 task의 데이터를 소량 메모리로 두고 새로운 task학습 때 활용
  • Distillation + Memory + Bias correction : 새로운 task에 대한 bias를 주요 문제로 보고, 이에 대한 개선에 집중
  • Distillation + Memory + Dynamic structure : task에 따라 가변적으로 적용할 수 있는 네트워크 구조를 사용
  • Distillation + Memory + Generative model : 이전 task의 데이터를 generative model을 사용하여 replay 하는 방식을 사용
  • Dynamic structure : Pruning / Masking 등을 사용하여 task별로 사용할 파라미터 또는 네트워크 등을 정해줌

PODNet은 Distillation + Memory + Bias correction에 해당하는 방법 중 하나입니다.

2. 제안 방법

바로 제안 방법을 살펴보겠습니다. 저자들의 큰 그림은 다음과 같습니다.

PODNet 제안 방법
그림2. PODNet 제안 방법

기존의 incremental learning에서 사용하던 distillation loss는 더 세분화되어 POD Distillation loss를 제안합니다. 또한 기존의 classifier는 Local Similarity Classifier로 변경합니다. 세부적으로 살펴보겠습니다.

2-1. POD : Pooled Outputs Distillation loss

먼저 distillation loss를 변형한 Pooled Outputs Distillation loss입니다.

다양한-pooling-방법
그림3. 다양한 pooling 방법

위의 그림과 같이 pooling은 다양한 형태로 수행할 수 있습니다. 이때 저자들은 width pooling과 height pooling을 묶어 POD-spatial이라고 정의합니다. POD-spatial Loss는 이렇게 Pooling된 Feature에 대한 L2 Loss로 표현됩니다.

POD-spatial-loss
그림4. POD spatial loss

다음은 final embedding에 적용하는 POD-flat입니다.

POD-flat-loss
그림5. POD flat loss

위의 두 가지 pooling을 결합한 최종 POD-final loss는 다음과 같습니다.

final-loss
그림6. final loss

2-2. Local Similarity Classifier

다음은 기존의 classifier를 변형한 Local Similarity Classifier를 살펴보겠습니다.
기존 UCIR에서 classification logit은 다음과 같이 표현됩니다.

기존-UCIR-classifier
그림7. 기존 UCIR classifier

저자들은 이때의 문제점은 ‘𝜃가 single proxy로서 한 개 클래스를 대표한다는 것’이라고 주장합니다. 이를 보완하기 위해 저자들은 Multi proxy 방식을 제안합니다. 각각의 클래스를 하나의 벡터가 아닌, 여러 벡터들로 표현하겠다는 것이죠.

local-similarity-classifier-loss
그림8. local similarity classifier loss

위의 loss는 NCA loss의 형태를 취하며 small margin를 포함합니다.

이때 각각의 𝜃값을 어떻게 초기화할 것인지의 문제가 남습니다. 𝜃값 초기화 과정은 다음과 같습니다.

  1. 새로운 클래스 c의 feature 추출
  2. k-means clustering 수행
  3. k개의 centroids를 각 𝜃의 초기값으로 설정

2-3. Final loss

위의 POD와 Local Similarity Classifier를 결합한 최종 loss는 다음과 같습니다.

final-loss
그림9. final loss

3. 실험 결과

다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.

먼저 실험 방법은 다음과 같습니다.

  • 절반의 클래스를 학습 (CIFAR100 : 50개, ImageNet100 : 50개, ImageNet1000 : 500개)
  • 남은 클래스를 step만큼 나눈 뒤 step마다 학습 & 테스트
  • 모든 step의 점수 평균을 최종 score로 설정

3-1. CIFAR100 테스트

먼저 CIFAR100에 대한 실험 결과입니다.

CIFAR100-테스트
그림10. CIFAR100 테스트

비교 알고리즘은 iCaRLBiCUCIR, PODNet입니다. 모든 step에 대해 PODNet이 가장 높은 성능을 보입니다.

3-2. ImageNet100 & ImageNet1000 테스트

다음은 ImageNet에 대한 실험 결과입니다.

ImageNet-테스트
그림11. ImageNet 테스트

비교 대상은 CIFAR100 테스트와 같으며 마찬가지로 가장 좋은 성능을 보여줍니다.

4. Ablations

다음은 ablations를 살펴보겠습니다.

4-1. Contribution of each component

먼저 각 component에 따른 성능 비교입니다.

contribution-of-each-component
그림12. contribution of each component

a실험을 살펴보겠습니다.
Cosine classifier보다 LSC를 적용했을 때 더 성능이 좋은 모습을 확인할 수 있습니다. 이에 대해 저자들은 이를 ‘LSC의 model distribution shift에 대한 sensibility 감소 효과 덕분’ 이라고 해석합니다.

b실험을 보겠습니다.
POD가 적용되었을 때 GradCam, Perceptual Style 방식보다 성능이 좋으며 모든 POD가 적용된 POD-spatial 방식의 성능이 가장 높은 모습을 확인할 수 있습니다. 이에 대해 저자들은 ‘POD-pixel에 비해 POD-spatial은 statistics에 대해서만 constraint 하기 때문에 더 일반화 능력이 좋다’ 라고 해석합니다.

4-2. Robustness of our model

다음은 제안하는 방법의 robustness에 대한 실험입니다.

robustness-of-our-model
그림13. robustness of our model

비교 알고리즘은 iCaRL, BiC, UCIR, PODNet입니다. Memory size와 initial task size를 바꿔봐도 어떠한 모델보다도 성능이 좋은 모습을 확인할 수 있습니다.

Series Navigation<< [CVPR 2020] Maintaining Discrimination and Fairness in Class Incremental Learning (WA) 핵심 리뷰[WACV 2020] Class-incremental Learning via Deep Model Consolidation (DMC) 핵심 리뷰 >>
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top