Pareto Front Approximation
- 
Pareto Front란?
 - 
multi-objective optimization 문제에서 서로 상충하는 여러 목적 함수 간의 최적의 타협 해(solution trade-off)를 나타내는 집합
 - 
예를 들어 어떤 모델을 개선할 때 정확도를 최대화 하면서 모델 파라미터 수를 줄이고 싶을 수 있음
- 이때 어떤 해가 다른 해보다 모든 면에서 우수하다면 dominant하다고 말함
 - 반대로 더 이상 개선할 수 없는 해들의 집합, 즉 정확도를 더 좋게 하면 반드시 파라미터 수는 나빠지는 지점들이 있는데 여기를 바로 pareto optimal solutions, 이 경계선(trade-off point들)을 pareto front라고 함.
 - 이 지점들의 어디를 택해도 다른 지점보다 dominant하지 않은데, 예를 들어 A옵션은 정확도는 좋지만 파라미터 수가 너무 많고 B옵션은 정확도는 떨어지지만 모델은 가벼워 라는 식
 
 
➡️ 이러한 Pareto Front들을 수학적으로 모두 찾아내기란 매우 어렵거나 불가능하므로, 이것의 근사치를 구해서 우리가 관심 있는 범위 내에서 좋은 트레이드오프 지점들을 탐색하는 것을 파레토 프론트 근사라고 함.
- 이 논문에서는 일반적인 딥모델 기반 추천 시스템에 파레토 프론트 근사 기법을 적용해서 단일한 모델로 여러 테스트 그룹을 나누고 오프라인 지표에 대한 최적해와 온라인 지표 결과와의 관계를 측정함
 
모델 학습
- 2개 이상의 loss function ()으로 학습되는 deep recommender system 이 있을 때, 학습 과정에서 선호도 벡터   를 차원 디리클레 분포에서 샘플링하여 모델의 입력과 합침.
- 이 는 차원의 벡터고, 각 요소 는  개 중 번째 손실 함수  를 모델이 얼마나 중요하게 생각할 것이냐를 알려주는 가중치 역할을 함
- 디리클레 분포 → 모든 는 양수고 다 합하면 1임. 는 디리클레 분포 모양을 결정하는 파라미터
 
 
 - 이 는 차원의 벡터고, 각 요소 는  개 중 번째 손실 함수  를 모델이 얼마나 중요하게 생각할 것이냐를 알려주는 가중치 역할을 함
 - 학습 목표는 에 대해 다음과 같이 가중합이 되는 기대 손실을 최소화하게 됨
 - 은 에 조건화된 모델이라는 뜻이고 는 파레토 프론트의 넓은 영역을 탐색할 수 있도록 정규화하는 항
 - 즉 모델은 일반적인 추천 모델의 인풋(사용자,아이템 피쳐 등)과 함께 이 를 추가적인 입력으로 받는 것인데 이 벡터는 매번 새로 샘플링되므로, 모델이 다양한 손실 가중치 값에 대해 일반화된 방식으로 여러 목표 간 트레이드오프(pareto front)를 학습하게 되는 것
 
오프라인 + 온라인 평가
- 방법
- 학습된 모델로 개의 다른 선호도 벡터 에 해당하는 오프라인 지표 를 테스트셋에 대해 계산함
 - 학습된 모델로 온라인 실험을 진행하는데, 라이브 트래픽을 개 그룹으로 랜덤으로 나누는데 각 그룹은 할당된 선호도 벡터 를 사용하여 추천을 받게되고 이로부터 각 그룹의 온라인 KPI 를 계산할 수 있게 됨
 - 이제 오프라인 지표 과 온라인 지표  간의 회귀분석을 실행하여 어떤 지표 간의 관계가 통계적으로 유의미한지를 확인
- = 즉 Pareto front 상에서 서로 다른 목적 조합(=다른 가중치, 다른 학습 균형)을 가진 여러 모델들에서도 offline metric과 online KPI 사이의 관계가 일관되게 유지되는가를 검증하기 위한 단계
 
 
 
결과
- OTTO e-커머스 플랫폼의 세션 기반 추천 시스템에 대해 대규모 실험을 통해 검증
 - MultiTRON 아키텍처 기반 모델이 2가지 손실 함수 최적화 : 클릭 예측() 과 주문 예측 ()
 - 오프라인 지표
- OD@K (order density) 라는 새로운 지표 제안 : (실제 주문한 아이템의 수) / (추천 목록 K개 안에 있었고 클릭된 아이템의 수)
- 클릭 → 전환으로 가는 precision이라고 보면 됨
 
 - Recall@K는 클릭 기준
 
 - OD@K (order density) 라는 새로운 지표 제안 : (실제 주문한 아이템의 수) / (추천 목록 K개 안에 있었고 클릭된 아이템의 수)
 - 온라인 실험은 로 진행
 

- H1: Recall@20과 CTR의 유의미한 양의 상관관계
 - H2: OD@20과 CVR(구매) 간의 유의미한 양의 상관관계
 - H3: Recall@20 OD@20은 Units Sold(판매량)과의 유의미한 양의 상관관계
 - H4: Recall@20과 CVR은 음의 상관관계
- 클릭을 높일수록 아이템의 전환 품질은 감소할 수 있음
 
 - Recall@20과 OD@20 (그리고 CTR과 CVR)은 트레이드오프가 존재하는데, efficient frontier를 따라서 OD@20을 희생하여 Recall@20을 증가시키는 것이 OTTO 플랫폼에서 판매량을 늘리는 데 더 효율적인 전략이었음 (Recall@20 1% 증가는 CTR 0.9% 증가, CVR 0.2% 감소로 이어지지만, 결국 Units Sold는 증가)