Computer Vision💖/Continual Learning

[Incremental Learning] Scalable and Order-robust Continual learning with Additive Parameter Decomposition 논문 리뷰

당니이 2023. 3. 6. 20:07
반응형

# Motivation 

  • 기존의 많은 Continual learning 알고리즘들은 large # of task에 대한 고려가 부족함. 
  • 또한 Continual learning이 풀어야할 과제는 catastrophic forgetting 뿐만 아니라, network의 capacity 증가를 고려한 "Scalability" 문제와, task order에 모델 성능이 sensitive한 "Task-order sentivity"도 존재함. 

  • 따라서 위 3개의 문제를 해결하기 위해 전체 파라미터를 task-shared / sparse task-specific 파라미터로 각 layer마다 decompose하여, task-shared 파라미터는 적극 이용하고 여기서 배울 수 없는 정보들은 task-adaptive parameters에서 학습하는 APD를 제안 

 

# Methodology: Additive Parameter Decomposition 

  • Continual learning 시나리오에서 $t$개의 task step, 그리고 각각 $l$개의 layer가 존재할 때 우리가 러닝해야할 파라미터는 ${\theta^l_t}$라고 할 수 있다. 따라서 전통적인 최적화 문제는 다음과 같이 정의된다. 여기에 각각 [1] task-adaptive parameter decomposition[2] hierarchical knowledge consolidation을 적용해보자. 

 

[1] Additive Parameter Decomposition 

Overall framework

  • 전체 파라미터 $\theta$를 task-shared parameter matrix $\sigma$task-adaptive parameter matrix $\tau$로 decompose하는 작업이다. 이를 수식으로 나타내면 다음과 같다. 이러한 decompose 과정은 semantic drift와 new task learning 간의 trade-off를 쉽게 컨트롤 할 수 있게 해준다. 
    • 여기서 $M_t$ masking variable로 task-shared parameter에서 특정 관련있는 task들에 attention을 주는 효과를 지닌다. Sigmoid function이며, learnable parameter $v_t$를 포함한다. 

  • 우리는 새로운 task $t$가 들어올 때, shared parameter $\sigma$는 previous shared parameter $\sigma^{(t-1)}$과 너무 멀지 않게 업데이트(=$l2$)하고, specific parameter $\tau$의 경우 capacity를 최대한 작게 업데이트(=$l1$) 하고 싶다. 따라서 이러한 목적을 반영하도록 다음과 같은 목적 함수 수립이 가능하다. 

식 (1)

  • 여기서 task-specific parameter는 shared parameter가 설명하지 못하는 부분을 설명하며, sparse하기 때문에 효율적이다. 그리고 직관적으로 semantic drift는 shared parameter에서 발생하므로, task-specific knowledge는 previous step에 영향을 받지 않는다. 

 

[2] Retroactive Parameter Updates for order robustness 

  • 위 설명에 따라 shared-parameter에서 발생하는 semantic drift와 order-sensitive 현상을 막기 위해 식(1)에 additional regularization을 추가한다. (order에 robust한 모델을 만들기 위함) 
  • 우리는 과거 task의 task-adaptive parameter 들을 shared parameters update를 반영하기 위해 retroactively하게 업데이트할 필요가 있다. 따라서 task $t$가 arrive했을 때, 우리는 과거의 파라미터들을 $t-1$ task의 파라미터로 decompose한 $\theta_i^*$로 recover하고 $\tau_{1:t-1}$를 업데이트 한다. 이때 combined parameter가 $\theta_i^*$와 가까워지도록 규제를 건다. (여기서 $\theta_i^*$는 과거의 모든 combined parameters) 

식 (2)

  • 위 식(1)과 비교했을 때, 과거 task들의 task-adaptive parameter들은 parameter-level drift를 최소화하며 retroactively(소급)하게 업데이트된다. 이는 또한 task-shared parameter 업데이트도 order-robustness를 고려하며 규제하는 효과를 지닌다. 

 

[3] Hierarchical Knowledge Consolidation 

  • 식(2)가 task들 사이의 local sharing을 직접적으로 고려하지 못함(=너무 task specific 정보만 고려하게 됨)을 보완하기 위함이다. 
  • task-adaptive parameter 들을 task-shared parameters들로 K-means를 이용해 group 짓는 과정이다. 
    • 일단 task별 specific parameter ${\tau_i}(i=1, .. t)$들을 K disjoint set으로 K-means를 이용해 group을 만든다. 
    • 그리고 같은 그룹 내의 task-adaptive parameter 들을 locally-shared parameters $\widetilde{\theta_g}$task-adaptive parameters ${\tau_i}(i =group)$들로 decompose한다. 

  • 따라서 최종 objective function은 다음과 같다. 

  • 참고로 특정 task 를 forgetting 하는 과정 또한 단순히 해당 task의 task adaptive parameter를 drop 함으로써 해결 가능하다. (다른 CL based 방법은 불가함) 
반응형