Recommender System/논문 및 블로그 리뷰

Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts 리뷰

Yamarae 2020. 2. 10. 13:50

 

 

포스팅은 YouTube recommendation system 트릴로지 리뷰(링크) , 스핀오프 영화 같은 개념이라고 생각하면 좋다(..). 본래 multi-task learning 딥러닝 분야에서 많이 사용되던 방식인데, 저자가 아마도 유튜브의 추천시스템에 대해 연구하다가 multi-task model 필요성을 느꼈던 같다.

 

사실 논문에 나와있는 그림만 봐도 어떤 것을 하려는지 대강 짐작할 있는 내용이기 때문에, 논문을 아주 자세히 읽어볼 필요는 없다고 생각한다. 다만 유튜브 추천시스템 논문들을 제대로 읽고 싶은 사람이라면  논문 역시 주의깊게 봐야한다. 포스팅에서는 아주 간략한 내용만 소개하고자 한다.

 

 


 

 

1.

 

모델의 대략적인 구성은 아래 그림과 같다.

 

 

MMoE 그림 왼쪽에 있는 Shared-Bottom multi-task DNN structure 기반으로 한다. 각각의 Experts 간단한 feed-forward 네트워크로 구성되어 있고, 이는 task 갯수만큼 할당된 gate 기반으로 분기된다. 분기된다는 것은, input 데이터를 softmax layer(gate) 거쳐, Experts 마다 가중치를 부여하여 활용할 있도록 한다는 것이다. 따라서 gating network experts 조합을 학습하고, task간의 관계를 감지할 있다는 것이 된다. 예를 들어, 1 task a 전문가를 80% 믿고 b 전문가를 15% 믿고 c 전문가를 5% 믿은 결정을 내리는 것이다. 이해를 돕기 위해 아래의 MoE(Mixture-of-experts) 수식을 보자.

 

 

 

위 식에서 g(x)i softmax 확률(i번째 전문가를 % 믿을지) 나타내고, fi(x) i번째 전문가의 output(tower input) 나타낸다. 따라서 g 전문가들의 결과를 앙상블하는 gating network 역할이라는 것을 있다. 이건 기존 MoE layer 대한 이야기이고, 논문에서는 모두 더하는 weighted sum 아니라 selective 하게 experts 선택한 , 이전 레이어의 input 그대로 받는다고 한다. 역할을 수행하는 것이 gating network이고 결과적으로 train, inference 모두 속도 측면에서도 이득을 얻는다. 

 

아래의 수식은 MoE multi gate 확장한 것이다. 새로 추가된 k task 의미한다.

 

 

 

 

2.

 

MMoE task간의 연관도에 따라 experts gating network 어떻게 다르게 학습하는지 이해하기 위해, 논문에서는 task간의 연관도를 Pearson correlation으 컨트롤할 있는 실험환경을 만들었다고 한다. 번째는 분포에 기반하여 인공적으로 만들어진 데이터를 사용했고, 두번째는 UCI Census-income 데이터셋을 사용했다. 실험 결과, 태스크간에 연관도가 낮을수록 baseline 모델보다 성능이 좋은 것으로 나타났고, 이는 기존 모델의 약점( 태스크간의 연관도가 낮을수록 shared-bottom multi task network 성능이 떨어진다. 고양이와 개를 분류하는 멀티태스크보다 고양이와 자동차를 분류하는 멀티태스크의 성능이 낮은 것을 예로 들수 있다) 성능적으로 보완했다고 있다. 그리고 실험결과를 유튜브에 적용했을 역시 의미있는 성능 향상을 가져왔다고 한다.

 

 

 

 

3. 

 

논문의 나머지 부분은 이론에 대한 레퍼런스들과 실험 결과에 대한 내용이다. 당연히 "robust하고 accuracy 높다!" 라는 내용이기 때문에, 실험의 검증 과정에 관심 있는 사람만 읽으면 되겠다.