Hard parameter sharing
Soft parameter sharing
MTL은 효과적으로 sample size를 증가시킨다.
Task A에 대해 학습시킬때 목적은 데이터 noise 를 줄이고 일반화하는것
다른 task들은 다른 noise를 가짐
둘 이상의 task를 train하는 모델은 general 한 representation을 가질수 있음
task 가 매우 noisy하거나 data가 제한적이면 관련이있는 feature과 무관한 feature 사이를 구분하기가 힘듬
MTL은 다른 task들이 제공하는 관련성에 대한 추가적 증거를 제공하는 feature들에 focusing하도록 한다.
task A로부터 얻기 어렵지만 B로부터 얻기는 쉬운 feature G가 있을때 이것은 A가 feature과 복잡한 방식으로 interact하거나 다른 feature들이 G를 학습하기 위한 모델의 능력을 방해하기 때문일 것이다.
MTL을 통해 모델이 eavesdropping( task B를 통해서 G를학습 ) 하도록 할수있다.
MTL은 다른 task들이 선호하는 representation들을 선호하게끔한다. 이것은 모델이 새로운 task들을 미래에 generalize하는것을 돕는다.
결국 MTL이 inductive bias 를 introduce함으로써 regularizer로써 동작한다.
overfitting과 Rademacher complexity도 줄인다.
MTL을 이해하기 위한 kernel method와 베이지안 알고리즘
두가지 메인 idea:
1. norm 정규화를 통해 enforce sparsity across tasks
2. task사이의 관계를 모델링
각각의 T tasks 에 대한 모델 mt
파라미터 at
dimensionality d
최근에 딥러닝에서 multi-task learning은 앞서 소개한 두가지 접근방식을 도입한다.
hard and soft parameter sharing
computer vision에서 MTL은 task-specific fully-connected layer 을 학습하면서 convolutional layer을 공유한다.
이것을 Deep Relationship Network를 통해 발전시켰다.
shared 된, task specific layer에 더하여 fully connected layer 전에 matrix priors를 배치한다. (노란색 마름모) => 베이지안 모델처럼 모델이 task간의 관계를 학습하도록 해줌
bottom-up approach: thin network에서 시작하여 학습시 비슷한 task의 grouping을 촉진하는 기준을가지고 넓혀감
하지만 이 greedy method는 globally optimal한 모델을 찾아내지못함
soft parameter sharing과 같은 두개의 분리된 모델 architecture
pooling과 fully-connected layer이후에 cross-stitch units를 배치
몇개의 NLP모델로 구성된 hierarchical architecture
joint model for multi-task learning
sharing구조를 학습하는 대신에 각 task의 불확실성을 고려하여 orthogonal한,독립적인 approach를 가진다.
task 독립적인 불확실성을 가지고 Gaussian likelihood를 최대화하는 multi task loss function을 통해 각 task의 weight를 조정한다.
최근에는 존재하는 approach를 MTL에서 Deep Learning으로 일반화함
Sluice Network
Deep learning 베이스의 MTL approach를 일반화하는 모델
-어떤 레이어에 네트워크가 입력 sequence의 best representation을 가지는지
-어떤 레이어, subspace가 share되어야하는지
MTL에서 대부분의 approach는 어디에서 task가 drown되어야하는지에 초점을 맞췄다.
이 시나리오가 sharing에는 유용하지만 항상 그렇진 않다.
MTL을 위한 robust 모델을 발전시키기 위해서는 관련없거나 loosely 하게 관련있는 task를 다뤄야한다.
하나 이상의 loss function을 optimizing하고있으면 MTL을 하는것과같다.
모델이 task에 대한 지식을 같은 parameter로 compress하도록 제한하기보다는 MTL처럼 task들이 서로 interac하도록 하는것이 효율적이다.
우리는 한가지 task 에 대한 성능에만 집중을 한다.
어떻게 최적의 auxiliary task를 찾을수 있을지에 대해 살펴본다.
auxiliary task에 대한 예시
related task에 대한 labeled data는 자주 이용할수 없게됨
하지만 얻고자 하는것의 반대의 task에 접근할수있다. - training error을 maximize
이경우 adversarial task는 입력의 domain을 예측하는것이다.
auxiliary task를 이용하는것은 힌트를 사용하는 것과 같다.
auxiliary task는 network가 무시하고있는 이미지의 부분에 대해 집중하게 할수있다.
많은 task들은 training의 목표가 quantized되어있다. ( 질병의 위험성을 예측 )
이러한경우엔 less quantized auxiliary task들을 사용하는게 더 유용할것이다
input으로는 비실용적인 feature들도 있다. 이러한경우엔 input보단 ouput으로 사용되는게 낫다.
예측 이후에 이용가능한 feature들도 만들어질수있다.
이경우 모델 training중에 additional knowledge로서 auxiliary task로 이용될수 있다.
auxiliary task를 찾는것은 사실상 assumption이다. main task의 예측에 도움이 되어야하며 관련이 있어야한다.
similar/related 구별하기위한 좋은 개념이 아직 없음
similar- 같은 feature을 사용함
related- common optimal hypothesis를 share함
어떤 task가 선호되어야하는지 알기위해 task similarity에 대한 notion이 필요함
MTL의 history와 최근 연구들을 살펴보았다.
what to share에 대한 학습의 발전은 유망하다.
task에 대한 이해 : 유사성, 관계, 계층 은 제한적이어서 MTL의 generalization 능력에 대한 이해를 가지기 위해 노력을해야한다.