Text Mining 08 Text Classification : MTL(Multi-task learning)

2KT·5일 전

Multi-task learning

if one task doesn't have enough labels, can we borrow signals from related tasks?

Multi-task Learning이 필요한 이유

현실문제

  • 실제 산업 데이터는 라벨이 극도로 부족
  • 개별 모델을 각각 학습하면 학습 신호가 너무 희박함

-> 여러 예측 task가 서로 관련되어 있음

  • ex) 클릭할 확률이 높은 아이템 -> 만족할 확률도 높을 가능성 큼
  • 즉, 하나의 task를 학습하면 다른 task의 힌트가 됨
    결론 : 관련된 여러 task를 하나의 모델에서 함께 학습하면 라벨 부족 문제를 완화할 수 있다.

1. Multi-Task Learning(MTL)의 기본 개념

정의

  • 여러 관련된 task를 하나의 모델에서 동시에 학습 하는 방식
  • 모델의 일부 파라미터를 공유(shared)하여 학습하고 각 task별로 개별 head를 만들어두어 최종 예측

구성 요소

  • shared parameters
    여러 task가 공동으로 사용하는 feature extractor
  • Task-specific parameters(Heads)
    각 task 문제에 특화된 classifier
  • Loss balancing λᵢ
    여러 task loss를 어떻게 조절해 균형 있게 학습할지 결정

장점

  • Task간 지식 공유 -> 라벨 부족 문제 완화
  • Generalization 향상 (편향된 task에 overfit 방지)

2. MTL의 문제점 : Negative Transfer

Negative Transfer란?

  • 여러 task를 함께 학습했더니 오히려 성능이 나빠지는 현상
  • 이유:
    여러 task가 완전히 동일한 정보를 필요로 하지는 않음
    task 간 discrepancy(차이)가 커질수록 공유된 파라미터가 혼란을 야기함 ex) 클릭은 즉각적행동이고 만족도는 사후적 감정평가로 이 두 task는 관련성은 있지만 필요한 feature가 다르다.

결론 :
"모든 task가 같은 비율로 공유해야한다"는 고정된 방식은 비효율적이다.

해결책 : MMoE (Multi-gate Mixture-of-Experts)
MMoE는 task discrepancy 를 해결하고 동적으로 sharing 정도를 조절하는 방법.

핵심 아이디어

  1. Shared bottom을 단일 네트워크로 두는 대신 여러개의 전문가(Expert) 네트워크를 둔다. 각각의 expert는 input값의 다양한 측면을 학습
  2. 각 task는 자기 전용 게이트(gate)를 통해
  • 어떤 expert를 얼마나 사용할지 스스로 선택
  • softmax로 weight를 결정
  • gate로 부터 나온 output인 w들의 합은 1
    3 task간 유사도가 높으면 gate의 weight 분포가 비슷해짐
    4 유사도가 낮으면 각 task는 다른 expert에 높은 weight 부여

즉 MMoE는 "공유는 하되, 공유의 강도는 task가 스스로 결정하도록 한다"

MMoE 모델 구조 정리

1) Experts(E₁, E₂, …, Eₖ)

  • 여러개의 작은 신경망(subnetwork)
  • 입력의 다양한 측면을 학습
  • "전문가" 역할

2) Task-specific Gates

  • 각 task마다 gate network 존재
  • 입력을 받아 softmax(weight over experts) 생성
  • 어떤 expert를 얼마나 사용할지 결정

3) Weighted combination

  • 각 task의 representation = sum(gate weight x expert output)

4) Task-specific heads

  • 최종 classification
  • CE(Cross-Entropy) loss 등 standard loss 사용

MMoE의 장점
1) Dynamic sharing

  • Gates가 자동으로 유사한 task는 공유 많이, 다른 task는 공유 적게
  • Task discrepancy 문제 해결

2) 자동 전문가 분화(Specialization)

  • 학습 중 gate는 자신에게 이득을 주는 expert에 더 높은 weight
  • Expert들은 특정 task에 점점 특화됨
  • self-organizing behavior 발생
profile
2KT

0개의 댓글