An overview of Multi-Task Learning in Deep Neural Networks

·2023년 1월 31일
0


Hard parameter sharing

Soft parameter sharing

4.1 Implicit data augmentation

MTL은 효과적으로 sample size를 증가시킨다.
Task A에 대해 학습시킬때 목적은 데이터 noise 를 줄이고 일반화하는것

다른 task들은 다른 noise를 가짐
둘 이상의 task를 train하는 모델은 general 한 representation을 가질수 있음

4.2 Attention focusing

task 가 매우 noisy하거나 data가 제한적이면 관련이있는 feature과 무관한 feature 사이를 구분하기가 힘듬
MTL은 다른 task들이 제공하는 관련성에 대한 추가적 증거를 제공하는 feature들에 focusing하도록 한다.

4.3 Eavesdropping

task A로부터 얻기 어렵지만 B로부터 얻기는 쉬운 feature G가 있을때 이것은 A가 feature과 복잡한 방식으로 interact하거나 다른 feature들이 G를 학습하기 위한 모델의 능력을 방해하기 때문일 것이다.
MTL을 통해 모델이 eavesdropping( task B를 통해서 G를학습 ) 하도록 할수있다.

4.4 Representation bias

MTL은 다른 task들이 선호하는 representation들을 선호하게끔한다. 이것은 모델이 새로운 task들을 미래에 generalize하는것을 돕는다.

4.5 Regularization

결국 MTL이 inductive bias 를 introduce함으로써 regularizer로써 동작한다.
overfitting과 Rademacher complexity도 줄인다.

5 MTL in non-neural models

MTL을 이해하기 위한 kernel method와 베이지안 알고리즘

두가지 메인 idea:
1. norm 정규화를 통해 enforce sparsity across tasks
2. task사이의 관계를 모델링

5.1 Block-sparse regularization

각각의 T tasks 에 대한 모델 mt
파라미터 at
dimensionality d

6 Recent work on MTL for Deep Learning

최근에 딥러닝에서 multi-task learning은 앞서 소개한 두가지 접근방식을 도입한다.
hard and soft parameter sharing

6.1 Deep Relationship Networks

computer vision에서 MTL은 task-specific fully-connected layer 을 학습하면서 convolutional layer을 공유한다.
이것을 Deep Relationship Network를 통해 발전시켰다.

shared 된, task specific layer에 더하여 fully connected layer 전에 matrix priors를 배치한다. (노란색 마름모) => 베이지안 모델처럼 모델이 task간의 관계를 학습하도록 해줌

6.2 Fully-Adaptive Feature Sharing

bottom-up approach: thin network에서 시작하여 학습시 비슷한 task의 grouping을 촉진하는 기준을가지고 넓혀감

하지만 이 greedy method는 globally optimal한 모델을 찾아내지못함

6.3 Cross-stitch Networks

soft parameter sharing과 같은 두개의 분리된 모델 architecture

pooling과 fully-connected layer이후에 cross-stitch units를 배치

6.4 Low supervision

6.5 A Joinnt Many-Task Model

몇개의 NLP모델로 구성된 hierarchical architecture
joint model for multi-task learning

6.6 Weighting losses with uncertainty

sharing구조를 학습하는 대신에 각 task의 불확실성을 고려하여 orthogonal한,독립적인 approach를 가진다.
task 독립적인 불확실성을 가지고 Gaussian likelihood를 최대화하는 multi task loss function을 통해 각 task의 weight를 조정한다.

6.7 Tensor factorisation for MTL

최근에는 존재하는 approach를 MTL에서 Deep Learning으로 일반화함

6.8 Sluice Networks

Sluice Network

Deep learning 베이스의 MTL approach를 일반화하는 모델
-어떤 레이어에 네트워크가 입력 sequence의 best representation을 가지는지
-어떤 레이어, subspace가 share되어야하는지

6.9 What should I share in my model?

MTL에서 대부분의 approach는 어디에서 task가 drown되어야하는지에 초점을 맞췄다.
이 시나리오가 sharing에는 유용하지만 항상 그렇진 않다.
MTL을 위한 robust 모델을 발전시키기 위해서는 관련없거나 loosely 하게 관련있는 task를 다뤄야한다.

하나 이상의 loss function을 optimizing하고있으면 MTL을 하는것과같다.
모델이 task에 대한 지식을 같은 parameter로 compress하도록 제한하기보다는 MTL처럼 task들이 서로 interac하도록 하는것이 효율적이다.

7 Auxiliary task

우리는 한가지 task 에 대한 성능에만 집중을 한다.
어떻게 최적의 auxiliary task를 찾을수 있을지에 대해 살펴본다.

auxiliary task에 대한 예시

7.2 Adversarial

related task에 대한 labeled data는 자주 이용할수 없게됨
하지만 얻고자 하는것의 반대의 task에 접근할수있다. - training error을 maximize
이경우 adversarial task는 입력의 domain을 예측하는것이다.

7.3 Hints

auxiliary task를 이용하는것은 힌트를 사용하는 것과 같다.

7.4 Focusing attention

auxiliary task는 network가 무시하고있는 이미지의 부분에 대해 집중하게 할수있다.

7.5 Quantization smoothing

많은 task들은 training의 목표가 quantized되어있다. ( 질병의 위험성을 예측 )
이러한경우엔 less quantized auxiliary task들을 사용하는게 더 유용할것이다

7.6 Predicting inputs

input으로는 비실용적인 feature들도 있다. 이러한경우엔 input보단 ouput으로 사용되는게 낫다.

7.7 Using the future to predict the present

예측 이후에 이용가능한 feature들도 만들어질수있다.
이경우 모델 training중에 additional knowledge로서 auxiliary task로 이용될수 있다.

7.9 What auxiliary tasks are helpful?

auxiliary task를 찾는것은 사실상 assumption이다. main task의 예측에 도움이 되어야하며 관련이 있어야한다.

similar/related 구별하기위한 좋은 개념이 아직 없음
similar- 같은 feature을 사용함
related- common optimal hypothesis를 share함

어떤 task가 선호되어야하는지 알기위해 task similarity에 대한 notion이 필요함

8 Conclusion

MTL의 history와 최근 연구들을 살펴보았다.
what to share에 대한 학습의 발전은 유망하다.
task에 대한 이해 : 유사성, 관계, 계층 은 제한적이어서 MTL의 generalization 능력에 대한 이해를 가지기 위해 노력을해야한다.

0개의 댓글