📘 Lec9: Advanced Meta-Learning – Task Construction
한양대학교 인공지능학과 AAI0032 메타러닝
📌 1. 강의 개요
- 주제: 메타러닝에서의 task construction (태스크 구성) 심화
- 핵심 질문:
- 메타러닝에서 태스크를 어떻게 설계할까?
- supervised / unsupervised setting에서 어떤 차이가 있는가?
- memorization 문제를 어떻게 방지할 수 있을까?
🗂️ 2. 주요 내용
✅ Meta-learning Terminology 복습
- Black-box meta-learning: 모델이 내재적으로 빠르게 적응하도록 설계
- Optimization-based meta-learning: MAML, Reptile 같은 최적화 기반 접근
- Non-parametric meta-learning: nearest neighbor, matching networks와 같이 파라미터가 없는 방식
✅ Supervised Task Construction
- 각 task는 train/test split을 포함
- label space는 task마다 다를 수 있음
🧠 Thought Exercises
1️⃣ 문제 1
- 질문 1 : meta-training 중 D_i^{tr} 과 task identifier를 같이 주면 무슨 일이 일어날까?
- 데이터로 학습하는 게 어려우면, 모델은 z_i(one-hot 식별자)에 의존해 학습하려 함.
즉, 데이터 대신 태스크 레이블만 보고 문제를 풀려고 함 (일종의 shortcut learning, 편법 학습).
- 데이터로 학습하는 게 어려우면, 모델은 z_i(one-hot 식별자)에 의존해 학습하려 함.
- 질문 2 : meta-test 때 D_j^{tr} 과 새로운 task identifier를 넣으면 무슨 일이 일어날까?
- 새로운 task에 generalization(일반화)하지 못함.
meta-training에서 one-hot 식별자에만 의존했다면, unseen task에서 fail할 확률 높음.
- 새로운 task에 generalization(일반화)하지 못함.
2️⃣ 문제 2
- 질문 1 : meta-training 중 D_i^{tr} 과 task description을 같이 주면 무슨 일이 일어날까?
- 모델이 description을 쓸지 data를 쓸지에 따라 다름.
예를 들어, description이 더 간단하고 informative하면 그쪽으로 학습이 치우칠 수 있음
- 모델이 description을 쓸지 data를 쓸지에 따라 다름.
- 질문 2: meta-test 때 D_j^{tr} 과 새로운 task description을 넣으면 무슨 일이 일어날까?
- meta-training에서 무엇에 의존했는지에 따라 다름.
description을 잘 이용하도록 학습했다면 generalization 가능성↑,
그렇지 않으면 실패할 수 있음.
- meta-training에서 무엇에 의존했는지에 따라 다름.
3️⃣ 문제 3
- tasks는 non-mutually exclusive (비상호배타적) → 하나의 함수로 모두 해결 가능.
- 따라서, 네트워크는 D_{tr}를 보지 않고도 test input만 보고 레이블을 맞출 수 있음.
- 즉, “training data가 필요 없는” shortcut 학습이 가능.
🌟 요약
- 문제: description이나 consistent label에 의존하면, D_{tr}에서 얻어야 할 정보 없이도 문제를 풀어버림.
- 위험: meta-learning이 본래 의도한 “데이터로부터 빠르게 적응”하는 능력이 아니라, memorization이나 shortcut에 의존할 수 있음.
📎 사례 연구
- Meta-World (Yu et al., CoRL 2019): 로봇 조작에서 task 다양성 확보
- Meta-Learning without Memorization (Yin et al., ICLR 2019): memorization 방지 메커니즘 제안
- TAML (Jamal & Qi, CVPR 2019): Task-Agnostic Meta-Learning, task 간 중립성을 강조
✅ mutually exclusive (상호배타적) tasks
- 단일 함수로 모든 task를 해결할 수 없음.
- 이유: label shuffling, 정보 숨김 등이 있어 task 간 간섭 발생.
예: task마다 label 매핑이 다르면, 하나의 함수가 모든 task를 해결하기 불가능.
✅ non-mutually exclusive (비상호배타적) tasks
- 단일 함수로 모든 task 해결 가능.
- 예: task마다 label 매핑이 동일하거나 데이터 패턴이 일관적임.
✅ multiple solutions 가능
- $y^{ts} = f_\theta(D_i^{tr}, x^{ts})$
- 두 가지 대표 해법:
- One solution: $\theta$ 에 canonical pose 정보 암기 → $D_i^{tr}$ 무시 (shortcut risk)
- Another solution: $\theta$ 에 canonical pose 정보 없이, $D_i^{tr}$ 에서 정보 획득
✅ spectrum of solutions
- 정보가 $\theta$ 와 $D_i^{tr}$ 사이에서 얼마나 어떻게 흐르느냐에 따라 다양한 솔루션 스펙트럼 존재.
- 따라서 중요한 연구 아이디어:
- → control information flow
✅ meta-regularization 목적
- shortcut 학습 방지
- $\theta$ 에 정보 저장을 최소화하고, $D_i^{tr}$ 로부터 정보 획득하도록 유도
✅ 정보 흐름 제어 방법
- mutual information $I(\hat{y}^{ts}, D_{tr} | x_{ts})$ 최대화:
- → test 예측값 $\hat{y}^{ts}$ 이 $D_{tr}$ 에 얼마나 의존하는지를 키움
✅ 최적화 목표식
$\mathcal{L}(\theta, D_{\text{meta-train}}) + \beta D_{KL}(q(\theta; \theta_u, \theta_o) \| p(\theta))$
- $\mathcal{L}$: 메타 학습 손실
- $D_{KL}$ : posterior $q$ 와 $prior p$ 사이 KL divergence → $\theta$ 에 정보 담기는 정도 penalize
- $\beta$: KL term의 가중치
✅ 핵심 아이디어
- $\theta$에 memorize하지 말고, $D_{tr}$ 를 적극 활용하도록 유도
- 기존 meta-learning 알고리즘에 쉽게 추가 가능
🌟 한 줄 요약
메타러닝에서 모델이 memorization (암기)에 의존하지 않고, task-specific 데이터 $D_{tr}$에서 정보를 얻도록 meta-regularization을 사용한다.
⚠️ Memorization Problem 요약
- label consistency → memorization 발생
- task variety 필요
- task shuffle, label permutation, or task-agnostic training 사용
🛠️ Where Do Tasks Come From?
- Task source: dataset에서 task pool을 구성하거나 domain knowledge를 반영
- Supervised: labeled data에서 task 생성
- Unsupervised: unlabeled data에서 task 구성
📍 Unsupervised Meta-Learning
- General Recipe:
- unlabeled 데이터에서 task 구성
- self-supervised loss 설계
- meta-training loop 적용
🗃️ Summary
- Supervised Task Construction: label shuffle, task 다양성 확보
- Unsupervised Meta-Training: self-supervision, domain knowledge 활용
- Memorization Problem: label/ task randomization으로 완화
'AI > 대학원' 카테고리의 다른 글
Meta-Learning Lec11 요약 (0) | 2025.05.09 |
---|---|
Meta-Learning Lec10 요약 (0) | 2025.05.09 |
SAM 논문 소개 (0) | 2025.04.28 |
CPU(NumPy) and GPU(CuPy and PyTorch) 성능 비교 (2) | 2024.12.23 |
RNN 의 Parameter Sharing (3) | 2024.11.21 |