# 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
- 전체 파라미터 $\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$) 하고 싶다. 따라서 이러한 목적을 반영하도록 다음과 같은 목적 함수 수립이 가능하다.
- 여기서 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)
- 위 식(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 방법은 불가함)
반응형
'Computer Vision💖 > Continual Learning' 카테고리의 다른 글
[Incremental Learning] Rehearsal-based 방법론을 훑어보자(ER-MIR, OCS) (0) | 2023.03.08 |
---|---|
[Incremental Learning] Architecture-based 방법론을 짚어보자 (0) | 2023.03.06 |
[Incremental Learning] Continual learning 갈래 짚어보기 (0) | 2023.03.06 |
[Incremental Learning] Lifelong Learning with Dynamically Expandable Networks(DEN) 논문 리뷰 (0) | 2023.03.06 |
[Incremental Learning] Regularization-based 방법을 훑어보자 (EWC, SI, UCL) (0) | 2023.03.05 |