Fanqi Meng and Zhiyuan Zhang
WSDM (2025)


input embedding으로 preference transfer의 parameter를 생성, target domain에 대한 user embedding을 출력
소스도메인 사용자 임베딩을 바탕으로 이 사람이 타겟 도메인에서는 어떤 임베딩을 가질 것인가? (task) 를 담당
상호작용했던 아이템으로부터 사용자의 전송할만한 특징을 뽑아냄
예를 들어, 영화 도메인에서 사용자가 특정 배우가 나오는 영화를 많이 봤다면 사용자가 특정 배우를 선호한다는 특징은 전송할만함
Interaction sequence 를 활용하여 transferable feature를 찾음
interaction sequence내의 아이템들중 distinct impact를 가지는 component를 찾기 위해 attention mechanism을 사용
: 사용자 j의 preference embedding
: attention score
수식(1)만보면 단순 아이템 임베딩에 어텐션 스코어를 곱하여 합산한 것이다. 이게 왜 선호도 임베딩을 의미하는지 의아했지만,
사용자가 상호작용한 아이템 임베딩에서 어텐션 스코어를 곱하여 합산한 것은 의미적으로 사용자가 대표적으로 어떤 아이템들과 상호작용했는가를 뜻하기 때문에 사용자의 선호도를 나타낸다라고 말할 수 있을 거 같다.
Attention layer
source domain에서의 user preference를 target domain으로 mapping하는 function을 만들기 위해 parameter generator를 설계
Preference mapping function, target domain으로 선호도 매핑
Transferred user embedding
overlapped user embedding을 target domain으로 mapping하여 얻은 transferred user embedding
meta-learning section을 읽으며 내가 이해한 과정은 다음과 같다.
- 먼저 전체적인 목적은 source domain에 있는 specific user i의 preference를 활용해서 target domain에서의 source domain-specific user i의 preference 예측.
- 1번을 행하기 위해서는 먼저 source domain에서 user i와 interaction한 item embedding을 가져옴. 이게 interaction sequence
- 그 후 attention mechanism을 적용시켜 user i의 source domain에서의 전체적인 선호도를 가져옴. 이게 수식 1번
- 그 후, meta-layer에서 source domain에서의 user i의 preference 정보를 담고 있는 parameter를 추출. 이게 수식 4번
하지만 이때, 학습이 되는건 . 이를 통해 어떤 user preference가 들어와도 해당 preference를 잘 담고 있는 parameter를 생성할 수 있음
- 그 다음 user i의 preference parameter를 preference mapping function에 넣어 user i가 target domain에서 어떤 preference를 가지고 있는지 예측해.
수식 6번에 는 overlapped user라고 논문에서 언급하는데, source domain의 preference를 이용해서 target domain에서의 preference를 예측하는 task를 위해 meta-learning을 사용했다고 생각한다. 그러나 overlapped user embedding에 source domain preference parameter를 적용시켜 target domain preference로 조정하는 것이라면, specific user의 경우에는 mapping function에 들어갈 수 있는지가 궁금함.
만약 specific user embedding이 들어갈 수 없다면 학습과정에서는 overlapped user만이 모델 학습에 사용되는 것인지 궁금함

$$
\hat e_{u_j}^a = E(e_{u_j}^m;\theta_E) \ \ \ \ \ \ (7)
$$$$
y_d = D(e_{u_j}^a; \theta_D) \ \ \ \ \ \ (8)
$$
- $y_d$: Domain label (s or d)
전체 overlapped user의 20%를 cold-start user로 사용,
20%의 overlapped user의 rating set은 전부 test dataset으로 사용
overlapped user는 8:2로 분리가 되지만, interaction item은 겹칠 수 있음
→ test set에서만 등장하는 item은 cold-start item이기 때문에 제거
Cold-start scenario 정리
overlapped user는 8:2 (Train : Test)로 완벽하게 분리
item
Overlapped item, Non-overlapped item → Train
Only overlapped item → Test


AMLCDR
w/o ML (meta-learning) 사용자별 target domain preference를 만들지 않음
w/o PG (Parameter generator) 사용자별 선호도를 반영하고 있는 parameter를 만들지 않음
w/o DA (Domain Adaptation)
w/o ML&DA

Task 1에서는 w/o ML보다 w/o DA가 성능이 더 크게 떨어짐
Task 2에서는 w/o DA보다 w/o ML이 성능이 더 크게 떨어짐
Domain Adaptation 제거했을 때 task별 성능 하락이 9.65%, 5.47%
→ Movie-Music, Book-Music에서의 user feature distribution이 다름
⇒ alignment의 필요성을 강조
w/o ML - AMLCDR간의 성능차이가 4.15%, 12.51%
→ domain invariant preference가 전달되었기 때문임
w/o ML - w/o PG를 비교했을 때 parameter generator가 더 성능이 떨어짐
→ AMLCDR의 성능이 attention mechanism으로 사용자 대표 선호도를 만드는 것보다 meta-learning으로 task를 만드는 것으로부터 나옴


After meeting
모델 의아점
- 메타러닝에 대한 loss가 따로 있는지, end-end로 학습이 되는지, 메타러닝의 방향성에 어긋날 거 같아 한 번 더 체크
- My opinion
Meta-learning part에 대한 lose가 따로 있는지, DAN loss를 이용하여 end-end로 optimization이 이뤄지는가
해당 부분에 대한 결론부터 말씀드리자면, end-end가 아닌 meta-learning part에 대한 별도의 loss가 따로 존재한다는 게 나의 의견임
그 이유는 다음과 같음
- AMLCDR이 DAN loss만으로 optimize 된다면, 해당 loss function의 지칭을 DAN(Domain Adaptation Network) loss라고 하지 않았을 것임. 해당 loss를 통해서 모델의 전반적인 parameter들을 조정하게 된다면 해당 loss function의 지칭을 AML loss와 같은 전체 모델에 대한 loss로 정의해야 했을 것.
- DAN loss로 meta parameter를 optimization할 경우 meta-learning에 대한 의미가 축소됨. 현재 AMLCDR에서 meta learning을 차용하게 된 이유는 source domain의 user가 target domain에서는 어떤 preference를 보일까? 라는 task를 위함임. 하지만, DAN loss로 meta-learning을 조정하게 된다면 meta-learning을 하는 의의가 source domain과 target domain간의 구분을 어렵게 하는 임베딩 생성으로 축소되게 됨. 이는 초기 목적과 일치하지 않는 부분이라고 생각.
- Domain shift 부분이 어디서 반영이 되는지
- My opinion 해당 논문에서 소개된 Domain shift는 real-world에서 어쩔수없이 발생하게 되는 두 도메인간의 본질적인 차이를 의미. 따라서 domain shift를 극복하기 위한 Domain adaptation을 차용하여 모델에 녹여 해당 문제를 극복한 것으로 보임