본문 바로가기

Deep Learning

Multi-task learning

딥러닝에서 개별적으로 정교하게 학습된 모델을 여러개 가지고 있고, 맨 앞에 gating model을 가지고 있어서 입력이 들어오면 그 입력에 따라 적절한 모델로 전달하면 어떨까? 잘 된다면 다양한 문제에 대해 모두 잘 풀 수 있지 않을까?

 

이 개념은 딥러닝의 continual learning이나 multi-task learning 분야에서 활용하는 구조이다. 위의 방식은 보통 gating-based mixture of experts (MoE) 또는 task routing networks라 불리는 방법이다.

 

Gating-based Modular Learning System

딥러닝 모델이 다양한 문제(Task)를 동시에 잘 풀기 위해 사용하는 대표적인 방법 중 하나는 모듈형(Modular) 구조를 갖춘 학습 시스템이다. 특히, 각 task별로 개별적인 expert 모델을 학습시켜두고, 주어진 입력에 따라 어떤 expert를 활용할지 결정하는 Gating Model을 앞단에 배치하는 방식이 있다. 이 방식은 전통적인 continual learning의 catastrophic forgetting 문제를 완화시키고, 다양한 문제에 대응 가능한 유연한 시스템을 구축할 수 있다는 장점이 있다.

 

기본 구조와 동작방식

시스템은 크게 두 부분으로 나뉜다.

1. Gating Model: 주어진 입력 데이터의 특성을 보고, 해당 데이터가 어떤 task에 속하는지를 판단한다. 이때 Gating Model은 입력을 받아 각 task의 확률 분포를 예측하고, 가장 적합한 task나 expert 모델을 선택하거나, 경우에 따라 여러 expert의 결과를 weighted ensemble로 합산할 수도 있다.

2. Expert Models: 각각의 task에 대해 독립적으로 학습된 개별 모델들이다. task-specific 데이터로 학습되므로, 특정 task에 최적화된 성능을 낸다. Gating Model이 task를 판별한 후, 해당 task의 expert model로 입력 데이터를 전달해 최종 예측값을 산출한다.

이 구조의 핵심은, task가 명확히 구분되어 있지 않거나 task label이 사전에 없는 경우에도 Gating Model이 동적으로 expert를 선택하여 적절한 예측을 수행할 수 있다는 점이다.

주요 기법과 관련 연구

이러한 시스템을 구현하는 데에는 다양한 기법들이 활용된다.

- Mixture of Experts (MoE): 여러 expert 네트워크와 하나의 gating 네트워크로 구성된 구조. gating 네트워크가 각 expert의 출력을 조합할 weight를 예측하여, 여러 expert의 예측 결과를 가중합하여 최종 예측을 생성한다. Google의 Switch Transformer와 같은 대형 모델이 대표적인 사례.

- Dynamic Routing Networks: task별로 경로를 유동적으로 선택할 수 있는 네트워크. Routing-by-agreement 등의 방법을 통해 특정 입력이 어떤 expert를 통과할지 결정한다.

- Continual Learning with Task Inference: task label이 사전에 주어지지 않는 환경에서도 Gating Model을 활용해 task를 추론하고, 해당 task-specific 모델을 선택해 사용하는 방법. 이 방식은 task incremental continual learning에서 자주 활용되며, task ID를 모를 때도 성능 저하 없이 동작할 수 있다.

- Progressive Neural Networks, PathNet: 새로운 task가 등장할 때 기존 네트워크를 고정시키고 새로운 expert를 추가하거나, 경로를 최적화하는 방식으로 catastrophic forgetting을 방지하는 방법.

장점과 한계

장점
- task 간 간섭(interference) 최소화  
- 기존 학습된 모델의 가중치 보존 가능 → catastrophic forgetting 방지  
- task에 따라 expert를 선택해 다양한 문제를 효율적으로 해결 가능  
- 병렬화 및 분산처리 용이 (expert마다 분리 가능)

한계
- Gating Model의 성능에 따라 전체 시스템 성능이 좌우됨  
- Expert가 많아질수록 메모리 및 계산 자원 증가  
- task가 명확히 구분되지 않거나, 서로 유사한 task는 gating이 어려워질 수 있음  
- Gating Model의 학습 데이터가 불균형하거나 부족하면 task inference 성능 저하  

 

최신 트렌드

최근에는 이런 구조를 좀 더 확장해, task뿐 아니라 입력 특성, 환경, 컨텍스트에 따라 expert를 선택하는 context-aware routing system도 연구되고 있다. 또한, task의 수가 많아질수록 Gating Model의 복잡도가 증가하는 문제를 해결하기 위해, hierarchical gating, soft routing, sample-wise expert selection 같은 기법도 제안되고 있다. 

특히 Google의 Switch Transformer와 같은 대규모 모델에서는, 일부 expert만 선택해 활성화하는 sparse MoE 방식을 적용해 효율성과 성능을 동시에 잡는 방향으로 발전하고 있다.

 

결론

Gating Model과 개별적으로 학습된 expert 모델을 조합하는 방식은, 다양한 문제를 효율적으로 처리할 수 있는 유연한 딥러닝 시스템을 구축하는 데 매우 효과적이다. 특히 continual learning 상황에서 기존 task의 성능을 유지하면서 새로운 task를 추가할 수 있고, task ID 없이도 task inference가 가능하다는 점에서 학습 환경의 확장성과 실용성을 높일 수 있다. 향후 이러한 모듈형 구조와 dynamic expert routing 방식은 멀티태스크, lifelong learning, federated learning 분야에서 더욱 활발히 활용될 수 있을 것으로 보인다. 

'Deep Learning' 카테고리의 다른 글

Simple Imitation Learning  (0) 2025.05.15
Simple Object Detection with DETR  (1) 2025.05.13
Simple CNN 예제  (0) 2025.05.07
Continual Learning(연속학습)  (0) 2025.04.30
강화학습(Reinforcement Learning) 최신 동향  (0) 2025.04.15