본문 바로가기
AI & CS 지식/메타러닝

[메타러닝] 11. Advanced Meta-Learning

by rahites 2025. 2. 28.

벌써 메타러닝 관련 내용을 정리하는 마지막 시간이 되었다. 3월 개강 전까지는 마무리 하고 싶었는데, 다행이라고 생각하며 다음 수업 내용은 미리미리 복습하며 꼭 정리한다는 것을 다짐!한다(바쁘면 어쩔 수 없나..?).

 

Advanced Meta-Learning 파트에서는 이전 Meta-Learning과 관련된 지식을 복기하며 최신 연구들을 파악한다.


Meta-Learning에는 Memorization이라는 흥미로운 이슈가 있다. 이는 모델이 Meta-Learning 학습을 수행할 때 학습 알고리즘을 습득한다기보다, 단순히 학습용 Task의 해법을 파라미터에 직접 암기해버리는 현상을 말한다. 마치 문제집을 풀 때 문제를 푸는 방법을 학습하는 것이 아닌 문제집의 답지를 통째로 외워버리는 것 처럼.

 

물론 Meta-Learning은 여러 Task에 대해 학습이 이루어져 Memorization이 일어나기 어려워 보일 수 있지만, 모델이 충분히 크거나 표현력이 강력할 경우 Task 별 Solution을 매개변수로 저장해버릴 수 있다. 이럴 경우 학습된 Task에 대해서는 좋은 성능을 보일테지만 학습되지 않은 Task가 주어질 경우, 잘 작동하지 않을 가능성이 크다.

 

한 예시로, 만약 Meta-Training 때 $\mathcal{D}_i^{tr}$과 Task ID를 주었다면 학습이 잘 되는 ID를 기억해서 모델이 해당 ID를 더 잘 학습하게 된다. 다시말하면,  $\mathcal{D}_i^{tr}$ 정보를 자세히 보지 않아도 "이 ID를 가진 Task는 이러한 데이터 분포를 띌거야"라고 추론한다는 것이다.

 

이 경우 당연히도 Meta-Test 시 Task ID를 주지 않으면 좋지 않은 성능을 보이게 된다.

 

해결책

모델이 $\mathcal{D}_i^{tr}$를 자세히 들여다보고 학습이 이루어지길 바라는 우리는, 이러한 문제를 해결하기 위해 Task 구성을 수정할 필요가 있다. 그 방식에도 여러가지 방식이 존재하는데, 

  • Task ID를 직접 주지 않는 방식
  • Task마다 클래스 번호를 다르게 하는 방식(ex. 매번 랜덤하게 변경) (Mutually-Exclusive)
  • Task ID를 Masking 하는 방식

하지만, 이런 Mutually-Exclusive하도록 구성한 Task는 모델을 현실에 적용했을 때 얼마만큼의 성능을 낼 수 있는 지를 판단하는데에 한계가 존재한다.

 

그 이유는 실제 세계에서는 Task 별로 약간씩 겹치는 경우가 많기 때문으로, "Meta-Learning without Memorization (2020)" 논문에서는 Non-Mutually-Exclusive한 Task에서도 성능이 좋은 Meta-Learning 모델을 만드는 것이 필요하다고 말한다.

 

즉, Single Function으로 모든 Task에 대한 문제를 풀고 싶어하는 것이다.

 

이 논문에서는 Meta-Regularization을 도입해 이를 가능케 만들었으며, 이는 Meta 파라미터에서 Task-specific 파라미터로 정보가 흐르는 것을 방지한다.

 

참고자료

https://arxiv.org/pdf/1912.03820

 

 

자, 그럼 만약 우리가 라벨이 없는 데이터만을 가지고 있다면 어떨까?

 

앞선 정리에서도 말했던 것 처럼 우리는 Pre-train + Fine-Tuning으로 접근할 수도 있고, Explicit Meta-Learning으로도 문제에 접근할 수 있을 것이다. 많은 Self-supervised Learning 기법에서 흔히 하는 것처럼 원본 데이터에 인위적인 Task를 부여하고 이를 Meta-Learning의 Task로 삼을 수 있다.

대표적인 방법으로 N-way K-shot이 있으며 이는 다른 Semantics에서 N개를 랜덤하게 뽑고 각각을 Class화 한 뒤 각 클래스마다 K개의 예시를 주는 설정을 의미한다. 다시 말하면, 각 Episode에서 N개의 다른 Class를 선택하고 선택된 클래스 별로 K개의 샘플을 받아 해당 샘플로 해당 Task에 대해 학습하는 Few-shot 설정인 것이다.

 

Unlabeled Text만을 가지고도 Meta-Learning 효과를 얻을 수 있다.

 

대표적인 예시인 GPT-3는 방대한 Text를 수집하고 다음 단어를 예측하는 데 있어 Self-supervised Learning을 수행하는데, 이 때 미리 학습된 모델은 Prompt안에 몇 가지 예시를 주면 In-context Learning을 수행한다. 이는 Few-shot Meta-Learning과 비슷한 면이 있다.

단점: MAML과 같은 전통적인 메타러닝 알고리즘과 합쳐지기 어려움

 

Unsupervised Meta-Learning via In-Context Learning

매우 많은 데이터 셋을 학습할 경우 모델 자체가 광범위한 패턴, 문맥 구조를 내재화하게 된다. 이 때 Prompt에 적절한 예시를 넣을 경우 Fine-Tuning 없이도 좋은 In-Context Learning 능력을 보일 수가 있다. 대표적인 모델은 CAMeLU(Context-Aware Meta-Learning in Unsupervised scenarios)가 있다.

 

Domain Adaptation vs Domain Generalization

Domain Adaptation이 Source Domain 1개에 대해 다룬다면, Generalization은 여러 Source Domain을 다룬다.

Domain Adaptation의 Target Domain이 Unlabeled 되어있다면, Generalization은 Target Domain의 데이터가 없다.

Domain Generalization 측이 조금 더 Meta-Learning과 가깝다고 볼 수 있다.

 

최근 연구 동향

- Adaptive Risk Minimization

- Diffusion 기반의 연구 수행. ex. MAML의 단점인 Second-order problem을 Diffusion으로 극복

댓글