티스토리 뷰

AI

Online Continual Learning 개념 정리

미남잉 2023. 5. 16. 14:37
728x90

"Online Class-Incremental Continual Learning with Adversarial Shapley Value" 논문 읽으며 굵직한 개념 정리

 

1. Online Continual Learning 의미

온라인 지속적 학습(Online Continual Learning)은 컴퓨터 시스템이 새로운 데이터를 계속해서 받아들이고, 이전에 학습한 데이터와 함께 사용하여 지속적으로 학습하고 성능을 개선하는 능력을 말한다.

기존의 머신 러닝 모델은 대부분 한 번 학습하면 끝이여서 새로운 데이터를 받아들이면 처음부터 다시 학습해야 한다. 하지만 온라인 지속적 학습은 이전에 학습한 내용을 유지하면서 새로운 데이터를 계속해서 학습하여 모델의 성능을 개선할 수 있다.

온라인 지속적 학습은 대규모 데이터 처리와 학습 가능한 매개 변수 수의 제한 등 많은 제한 사항이 있어, 이 문제에 대한 다양한 해결책들이 연구되고 있다.


- "Continual Learning: A Survey" (Aljundi et al., 2019) 논문 참조

 

2. Class-Incremental 의미

Class-Incremental은 기존에 학습되어 있는 모델에 새로운 클래스를 추가하는 학습 방법을 의미한다. 이 방법은 Continual Learning의 일종으로, 모델이 새로운 데이터를 지속적으로 학습하고 업데이트하여 이전에 학습한 데이터에 대한 정보를 유지하면서 새로운 데이터에 대해서도 정확한 예측을 수행한다.


Class-Incremental 학습에서는 기존에 학습된 모델에 새로운 클래스에 해당하는 데이터를 추가로 제공하면서, 모델이 이전에 학습한 클래스와 함께 새로운 클래스를 동시에 학습한다. 이러한 방식으로 모델은 점진적으로 새로운 클래스를 학습하고, 기존 클래스에 대한 정보를 보존한다.


Class-Incremental 학습은 일반적으로 대규모 데이터셋을 다루는 경우 유용하다. 당연한 거겠지만 데이터 규모가 클수록 다시 학습 시키는 것에 대한 부담이 크기 때문이다. 이 방법을 사용하면 새로운 데이터가 도착할 때마다 모델을 처음부터 학습시키는 것이 아니라, 기존 모델에 추가적인 데이터를 제공하여 효율적으로 모델을 업데이트할 수 있다. 이를 통해 모델의 학습 시간과 리소스를 절약할 수 있으며, 모델의 성능도 향상시킬 수 있다.

 

3. Sharpley Value 의미

Shapley Value는 게임 이론에서 개발된 개념으로, 협력 게임에서 각 플레이어가 게임 결과에 기여한 정도를 정확하게 측정하는 방법으로 알려져 있다. 이 개념이 머신러닝 분야에서 모델의 예측 결과를 해석하는 데 적용되었다.

모델에서 Shapley Value를 계산하는 경우, 모델의 입력값이 모델의 출력값에 미치는 영향력을 계산한다. 이를 통해 각 입력값이 모델의 예측 결과에 어떤 정도로 기여하는지를 측정할 수 있다.

Shapley Value는 각 입력값이 모델의 예측 결과에 기여한 정도를 계산하는 데 사용되며, 이를 위해 Shapley Value는 다음과 같은 과정으로 계산된다.

 

  1. 모델에 입력값이 주어졌을 때, 모델의 예측 결과를 계산
  2. 각 입력값이 포함되었을 때와 포함되지 않았을 때의 모델의 예측 결과를 계산
  3. 이전 단계에서 계산한 결과를 사용하여 각 입력값이 모델의 예측 결과에 기여한 정도를 측정

 

이러한 방법으로 Shapley Value는 모델의 입력값이 모델의 예측 결과에 미치는 영향력을 측정함. Shapley Value를 사용하면 모델의 입력값이 모델의 예측 결과에 미치는 영향력을 정확하게 계산할 수 있다. 이를 통해 모델의 예측 결과를 해석하고 모델을 개선 할 수 있다.

 

- "A Method for Evaluating the Worth of an Actor in a Cooperative System" 논문 참고

 

4. Adversarial Sharpley Value(ASV)

Adversarial Shapley Value(ASV)는 Shapley Value(SV)를 개선한 방법으로, SV가 이전 클래스와 새로운 클래스의 특징들이 모델의 출력값에 미치는 영향력을 계산하는 데 사용된다면, ASV는 이전 클래스와 새로운 클래스 간의 경쟁 상황에서 보다 정확한 값을 계산하기 위해 사용된다.

ASV는 경쟁 상황에서 이전 클래스와 새로운 클래스 간의 차이를 고려하여 계산되고, 아래와 같은 과정을 통해 계산된다. 

 

  1. 먼저, 모델은 이전 클래스와 새로운 클래스에 대한 출력값을 계산합니다.
  2. 그 다음, ASV는 이전 클래스와 새로운 클래스에 속한 샘플들 간의 Shapley Value 차이를 계산합니다. 이러한 차이는 두 클래스 간의 경쟁 상황에서 더 중요한 특징을 나타내는데 사용됩니다.
  3. ASV는 이전 클래스와 새로운 클래스의 Shapley Value를 합산한 값에 이전 클래스와 새로운 클래스 간의 Shapley Value 차이를 고려하여 보정합니다.
  4. 이 보정된 값을 이용하여 모델은 이전 클래스와 새로운 클래스의 특징들의 영향력을 측정하고, 학습을 진행합니다.

 

즉, ASV는 경쟁 상황에서 이전 클래스와 새로운 클래스 간의 Shapley Value 차이를 고려하여 보정된 값을 사용하여 모델이 이전 클래스와 새로운 클래스의 특징들을 더욱 정확하게 학습할 수 있도록 돕는다.

 

- "Online Class-Incremental Continual Learning with Adversarial Shapley Value" 논문 참고

 

5. KNN Sharpley Value

KNN Shapley Value는 Shapley Value의 일종으로, KNN 모델에서 Shapley Value를 계산하는 방법이다. KNN Shapley Value는 모델의 입력값이 모델의 출력값에 미치는 영향력을 계산하는 데 사용된다. KNN Shapley Value의 계산 과정은 아래와 같다.

 

  1. 먼저, 모델은 입력값 x를 사용하여 출력값을 계산합니다.
  2. 그 다음, KNN Shapley Value는 x와 다른 샘플들 간의 거리를 기반으로 가장 가까운 이웃 샘플들을 선택합니다. 이를 위해 KNN Shapley Value는 k개의 이웃 샘플을 선택하며, k는 미리 정해진 하이퍼파라미터입니다.
  3. 선택된 k개의 이웃 샘플들과 x를 합쳐서 k+1개의 샘플 집합을 만듭니다.
  4. k+1개의 샘플 집합에서 모든 가능한 부분집합을 만들어 각각의 부분집합에서의 모델의 출력값을 계산합니다.
  5. 이러한 출력값을 사용하여 Shapley Value를 계산합니다. Shapley Value는 각 샘플의 기여도를 나타내는 값으로, 각 샘플이 얼마나 중요한지를 알려줍니다.

 

 - "A Unified Approach to Interpreting Model Predictions" 논문 참고

 

조만간 읽은 논문 리뷰를 가볍게라도 남겨야겠다. 잘못된 내용 있으면 댓글 부탁드립니다. 감사합니다 :)

728x90
댓글