AI: 멀티태스크 학습
ㅁ 멀티태스크 학습
ㅇ 정의:
하나의 모델이 동시에 여러 개의 관련된 작업(Task)을 학습하도록 하는 기법으로, 각 작업의 학습을 통해 공유된 표현(Feature Representation)을 향상시키는 방법.
ㅇ 특징:
– 파라미터를 공유하여 데이터 효율성과 일반화 성능을 높임.
– 한 작업의 학습이 다른 작업의 성능 향상에 기여할 수 있음(Positive Transfer).
– 반대로, 작업 간 충돌로 인한 성능 저하(Negative Transfer) 가능성 존재.
ㅇ 적합한 경우:
– 작업 간 데이터나 특성이 유사하거나 상관관계가 높은 경우.
– 데이터가 제한적이어서 개별 학습이 어려운 경우.
ㅇ 시험 함정:
– 단순히 여러 작업을 동시에 학습한다고 항상 성능이 향상되는 것은 아님.
– Negative Transfer 발생 가능성을 간과하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “멀티태스크 학습은 관련성이 높은 여러 작업을 동시에 학습하여 모델의 일반화 성능을 향상시킬 수 있다.”
X: “멀티태스크 학습은 모든 경우에 단일 작업 학습보다 성능이 우수하다.”
================================
1. Multi-Task Training
ㅇ 정의:
여러 작업을 동시에 학습시키기 위해 모델의 일부 또는 전부의 파라미터를 공유하는 학습 방식.
ㅇ 특징:
– 공유 계층(Shared Layers)과 작업별 전용 계층(Task-specific Layers)로 구성.
– 데이터 효율성을 높이고, 작업 간 상호 보완 효과를 기대.
ㅇ 적합한 경우:
– 자연어 처리에서 문장 분류, 감정 분석, 주제 분류를 동시에 수행.
– 컴퓨터 비전에서 객체 탐지와 분할을 동시에 학습.
ㅇ 시험 함정:
– 작업 간 데이터 불균형이 심하면 특정 작업 성능만 향상되고 다른 작업은 저하될 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Multi-Task Training은 파라미터 공유를 통해 데이터 효율성을 높인다.”
X: “Multi-Task Training은 파라미터를 전혀 공유하지 않는다.”
================================
2. Gradient Surgery
ㅇ 정의:
멀티태스크 학습에서 서로 다른 작업의 그래디언트가 충돌(Conflicting Gradients)할 때, 이를 수정하여 충돌을 완화하는 기법.
ㅇ 특징:
– 대표적인 방법으로 PCGrad(Projected Conflicting Gradient)가 있음.
– 그래디언트의 내적이 음수일 경우, 한 작업의 그래디언트를 다른 작업의 그래디언트에 직교하도록 조정.
ㅇ 적합한 경우:
– Negative Transfer가 빈번히 발생하는 멀티태스크 환경.
– 작업 간 목표가 상충하는 경우.
ㅇ 시험 함정:
– 모든 그래디언트 충돌을 제거하면 학습이 불안정해질 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Gradient Surgery는 작업 간 그래디언트 충돌을 완화하기 위해 그래디언트를 수정한다.”
X: “Gradient Surgery는 그래디언트를 무작위로 변경하여 성능을 향상시킨다.”
================================
3. Task Balancing
ㅇ 정의:
멀티태스크 학습에서 각 작업의 손실(Loss) 기여도를 조정하여 균형 잡힌 학습을 유도하는 기법.
ㅇ 특징:
– 작업별 가중치(Loss Weight)를 동적으로 또는 정적으로 조정.
– 동적 조정 기법으로 GradNorm, Dynamic Weight Average(DWA) 등이 있음.
ㅇ 적합한 경우:
– 작업 간 데이터 크기나 난이도가 크게 다른 경우.
– 특정 작업이 학습을 지배하여 다른 작업이 충분히 학습되지 않는 경우.
ㅇ 시험 함정:
– 모든 작업에 동일한 가중치를 주면 불균형 데이터 환경에서 성능이 저하될 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Task Balancing은 각 작업의 손실 기여도를 조정하여 균형 잡힌 학습을 유도한다.”
X: “Task Balancing은 모든 작업의 손실 가중치를 항상 동일하게 설정한다.”
ㅁ 추가 학습 내용
멀티태스크 학습에서 추가로 알아야 할 개념 정리
Hard Parameter Sharing vs Soft Parameter Sharing
Hard Parameter Sharing은 대부분의 모델 파라미터를 여러 작업이 공유하며, 소수의 작업별 파라미터만 따로 유지하는 방식이다. Soft Parameter Sharing은 각 작업이 별도의 파라미터를 가지되, 일부 파라미터나 정보만 공유하여 유연성을 높인다.
Negative Transfer 완화 기법
Negative Transfer는 한 작업의 학습이 다른 작업의 성능을 저해하는 현상이다. 이를 완화하기 위해 Gradient Surgery 외에도 Adapter Layers, Task-specific BatchNorm 등의 방법이 사용된다.
Multi-Task Optimization
여러 작업의 성능을 동시에 최적화하기 위해 Pareto Optimality 개념을 적용한다. 이는 한 작업의 성능을 높이면서 다른 작업의 성능을 해치지 않는 해를 찾는 것을 의미한다.
Evaluation Metrics
멀티태스크 모델의 성능 평가는 각 작업별 성능 지표뿐 아니라 전체적인 멀티태스크 성능을 종합적으로 나타내는 Multi-Task Score 설계가 필요하다.
Curriculum Learning in Multi-Task
작업 난이도에 따라 학습 순서를 조정하는 전략이다. 난이도가 낮은 작업부터 학습하여 점차 어려운 작업으로 확장함으로써 학습 효율을 높인다.
관련 개념 비교
시험에서는 Multi-Task Learning, Transfer Learning, Multi-Label Classification의 차이를 묻는 문제가 자주 출제된다. Multi-Task Learning은 여러 작업을 동시에 학습하는 것이고, Transfer Learning은 한 작업에서 학습한 지식을 다른 작업으로 이전하는 것이다. Multi-Label Classification은 하나의 입력에 대해 여러 개의 라벨을 동시에 예측하는 문제를 의미한다.