ML&DL/Recommender System
[Recommender System / Paper review] #33 Progressive Layered Extraction (PLE): A Novel Multi-TaskLearning (MTL) Model for Personalized Recommendations
거북이주인장
2023. 8. 30. 15:44
- 논문 링크(220회 인용, Awarded as 2020 Recsys Best paper)
Summary
- multi-task learning(MTL)은 추천시스템 분야에서 성공적으로 적용됐지만 여러 task간에 복잡한 correlation을 가지는 경우에 negative transfer 현상이 발생하는 단점이 있다.
- negative transfer 현상이란, task a의 성능을 높이기 위해 task b의 성능을 희생해야하는 경우이다. 본 논문에서는 이러한 trade-off 현상을 seesaw 현상이라 칭하고 이를 해결하기 위한 방법으로 progressive layered extraction (PLE)을 제시한다.
- PLE란, shared components와 task-specific components을 완벽히 구분하며 task간에 숨겨진 연관성을 점진적으로 추출한다.
- 본 논문에서는 tencent 데이터와 synthetic 데이터에 PLE을 적용하여 MTL SOTA보다 더 나은 결과를 보임을 실험적으로 증명한다.
Motivation
- 추천시스템 분야에서 유저의 참여도와 만족도를 극대화하기 위해 다양한 유저 피드백을 모델에 반영한다. 유저의 참여도와 만족도는 다양한 요소와 관련이 있는데 clicking, finishing, sharing, favoriting, commenting 등이 그 예시이다.
- 모델링하고자 하는 유저의 참여도와 만족도가 공통의 다양한 요소와 연관되어 있으니 multi-task learning이 추천시스템 분야에 쓰이기 시작했다.
- 그러나 본 논문에서는 어떤 task의 성능을 높이고자 하면, 다른 task의 성능이 낮아지는 seesaw 현상이 발생함을 발견했다.
- 이를 negative transfer 현상이라 하는데, 기존 추천시스템의 MTL은 이런 현상을 제대로 인지하고 있지 않았다.
- 이러한 배경에서 본 논문에서는 Progressive Layered Extraction (PLE)을 제안한다.
- PLE는 shared experts와 task-specific experts을 명확하게 나눈다. 또한 multi-level experts, gating networks 등을 통해서 progressive separation routing을 적용하고 이를 통해 더 깊은 연관성을 추출한다.
Approach
Seesaw phenomenon in MTL for recommendation
MTL 문제에서 seesaw 현상은 task간의 correlation이 loose할 때 뿐만 아니라 complex할 때도 나타난다. 이에 대해서 자세히 살펴보자.
An MTL ranking system for video recommendation
tencent에서 MTL이 어떻게 쓰이는지 살펴보자.
input 데이터가 들어오면 MTL 모델을 통해 여러개의 예측값들이 계산된다. VTR, VCR, CTR, ... , CMR 등이 그 예시이다. 예측값들이 계산되면 아래의 식을 통해서 하나의 score로 만들고 top rank 비디오를 유저에게 추천한다.
- $p_{VTR}, p_{VCR}$ 등이 계산되고 $w_{VTR}, w_{VCR}$ 등은 hyperparameter이다.
- tencent에서는 VTR과 VCR이 중요하다. VTR은 비디오를 볼지, 안 볼지에 대한 예측이고 VCR은 비디오를 얼마나 볼지, watching time에 대한 regression 예측값이다.
- VTR과 VCR은 서로 복잡한 상관관계(correlation)을 가지고 있기 때문에 seesaw 현상이 발견된다.
- 위 그림은 MTL 방법별로 VTR, VCR에 대한 지표를 표현한 그림이다.
- 두 지표 모두 높은 값을 보이는 방법은 PLE 뿐이고 많은 방법들이 한족으로 치우쳐있는 모습을 볼 수 있다.
- 즉, 하나의 task 결과가 잘 나오면 다른 task의 결과는 안 좋게 나오는 것이다.
Progressive Layered Extraction: Customized Gate Control
- bottom에는 expert modeuls이, top에는 task-specific tower networks가 있다.
- exprt modules는 expert라고 불리는 sub-networks로 구성되어 있으며 expert의 수는 hyperparameter이다.
- 유사하게 tower network도 sub-networks로 구성되어 있는데 width, depth는 hyperparameter이다.
- shared experts은 task-specific experts로부터 패턴을 추출하여 공유되는 패턴이 있는지 학습한다.
- MMOE와 비교해보면, CGC는 tower network와 task-specific experts의 연결 부분을 없앴다. 이는 task-specific experts가 방해 없이 주어진 task에 온전히 집중할 수 있도록 도와준다.
Progressive Layered Extraction
- CGC는 task-specific experts와 shared components experts을 명시적으로 나누는데, 관계를 더 명확히 파악하기 위해서는 이를 깊게 쌓는 것이 좋다.
- 이를 위해 PLE 구조를 더한 CGC을 제안한다. task-specific experts에 더해서, extraction layers라는 것을 추가하여 모든 experts에서 나온 지식을 종합한다.
- 따라서 PLE의 서로 다른 tasks는 CGC의 초기 layer에서 분리되는게 아니라 점진적으로 분리된다.
- higher level experts는 lower level experts로부터 좀 더 가공된 결과를 받는 다는 점에서 장점이다.
- 이 과정은 단순 CGC에 비해서 일반화를 더 잘한다는 장점이 있기도 하다.
Experiments
Data
- tencent 데이터
- public data
Baseline models
- CGC
- SOTA MTL
Experiment setup
- VCR 예측 문제는 MSE LOSS로, 다른 지표는 모두 binary classification이므로 auc로 평가된다.
- MTL Gain이라는 지표를 통해서 single task에 비해 MTL로 학습했을 때 얼마나 향상되는지 따로 살펴본다.
Evaluation on tasks with complex correlation
- CGC, PLE가 다른 방법에 비해서 AUC VTR, MSE VCR에서 높은 성능을 보임을 알 수 있다.
- 또한 이 두 방법만 MTL Gain이 모두 양수이다. 다른 방법에서는 전형적인 seesaw 현상이 발생했다.
- 즉, MTL을 사용했을 때, 어느 한 지표가 향상된다면 다른 지표는 하락하는 현상이 발생했다.
Evaluation on tasks with normal correlation
- 다음으로는 complex correlation이 아닌 normal correlation을 가지는 tasks을 MTL로 학습했을 때의 결과이다.
- 예상했듯이, normal correlation이라면 seesaw 현상이 발생하지 않았다.
- CGC, PLE는 여전히 다른 SOTA MTL에 비해 높은 성능을 보였다.
Online A/B Testing
- single task에도 CGC, PLE을 사용하여 a/b testing 진행한 결과가 가장 좋았다.
Evaluation with multiple tasks
- VTR, VCR, SHR, CMR까지 같이 모델링하는, 좀 더 어려운 MTL에 CGC와 PLE을 적용해보았다.
- 모든 지표에 대해서 표를 보면 single task에 비해 multi task을 사용했을 때 더 나은 결과를 얻음을 확인할 수 있다.
- 또한, CGC보다는 PLE에서 지속적으로 더 좋은 결과를 냈다.
Conclusion
- 2020 Recsys에서 best paper로 선정된 페이퍼를 읽어보았다.
- multi task learning이라는 분야 자체가 생소했지만, 대강 여러 task을 동시에 처리하는 업무라고 생각하며 재미있게 읽을 수 있었다.
- 또한, MTL이라는 분야에서는 task간 correlation이 복잡할 때에 대한 고민이 있음을 알 수 있었고 이를 해결하는 과정을 이해하며 현업에서 어떻게 사용할 수 있을지 잠시 짧게 고민하는 시간도 가졌다.