LightGCN
NGCF에서 학습하는 파라미터는 두 가지로, Shallow user/item embeddings, GNN parameter입니다. 하지만 굳이 GNN이 끼지 않아도 shallow learnable embedding은 노드 단위로 이루어지기 때문에 충분히 expressive하다고 볼 수 있습니다.
LightGCN은 NGCF를 세 가지 방법으로 simplify합니다. Adjacency matrix 개선, GCN 개선, 그리고 non-linearity 제거로 오히려 recommendation performance가 더 향상되는 결과를 보였습니다.
먼저 user와 item에 대해서 위와 같은 새로운 형태의 adjacency matrix를 제시할 수 있습니다. User와 item이 개별 축에 존재하던 형태와는 조금 다른 adjacency matrix입니다.
기존의 GCN은 위와 같이 aggregation과 learnable linear transformation으로 이루어져 있었습니다. 이 또한 단순화가 가능합니다.
먼저 ReLU를 제거하여 전체 표현형을 매우 간단하게 만들 수 있습니다. $\widetilde{A}^{K}$와 ${W}^{(0)} \cdots {W}^{(K-1)}$으로 이루어진 표현형이 가능합니다.
정리하면 위의 형태로 단순화됩니다.
Multi-scale diffusion은 smoothingd을 방지하기 위해 각 layer의 $E^{(k)}$에 가중치 $\alpha$ 를 곱해 더하는 것입니다. 모델의 단순화를 위해 LightGCN에서는 uniform한 $\alpha$를 사용했습니다.
위의 형태대로 $E^{(k+1)}$이 얻어집니다.
마지막 final embedding은 각 embedding을 $1/(K+1)$해서 더한 것입니다.
이때 얻어진 final embedding에서 user와 item의 embedding을 얻어 내적 하면 score를 계산할 수 있습니다.
이렇게 단순한 plot이 작동하는 이유는 diffusion이 similar user/item이 similar 하도록 유도하기 때문으로 보고 있습니다.
LightGCN과 GCN/Correct and Smooth에는 두 가지 차이점이 존재합니다. 먼저 LightGCN에는 Self-loop가 포함되지 않습니다. Multi-scale diffusion단계에서 self-loop가 포함될 뿐입니다. 그다음, final embedding은 모든 layer embedding의 평균이라는 점에서 차이가 있습니다.
그다음으로 LightGCN이 MF와 다른 점은 LightGCN이 여러 층의 user/item embedding이 diffused되는 것입니다. Shallow encoder만 학습된다는 점은 같습니다.
LightGCN의 요약입니다. GNN의 paramter를 제거함으로 NGCF에서 단순화를 진행했습니다.
PinSAGE
PinSAGE의 key idea는 nearby node에서 information을 borrow하는 것입니다. (mini-batch내에서 shared negative samples를 생성) 또한, hard negative sample을 도입했으며, curriculum learning을 활용했습니다. 정리하면 negative sampling technique을 shared negative samples을 통해서 발전시켰습니다.
BPR loss의 경우 user마다 하나의 positive item과 negative item set을 샘플링해야 합니다. 이때 많은 negative를 샘플링할수록 성능은 좋아지나 expensive해지는 단점이 있습니다. 이런 문제는 mini-batch를 통해서 해결했습니다.
위 슬라이드 내용처럼 mini-batch 내에서 모두 같은 negative sample을 share하도록 합니다. 이때 성능은 비슷하게 유지됩니다.
Curriculum learning에서는 학습이 진행될수록 더 어려운 학습 데이터 셋을 제공합니다. 학습이 진행될수록 # hard negative sample을 더 추가하여 어려운 학습 데이터 셋을 생성합니다.
보통 item의 개수가 추천하는 item 개수에 비해 많기 때문에 negative를 샘플링해도 easy negative가 대부분인 문제가 있습니다. 모델이 fine-grained 되기 위해서는 hard negative가 필요한 상황입니다.
User에게 hard negative란 user와 그래프 상에서 가까우면서도 연결되어 있지는 않은 노드입니다. User의 hard negative를 구할 때는 personalized page rank를 계산하고, PPR score가 높은 샘플 중에서 랜덤으로 고르게 됩니다. (너무 높지는 않은 node를 고릅니다.)
정리하자면, PinSAGE는 rich node attribute과 graph structure를 활용해 high-quality embedding을 생성했을 뿐 아니라 negative sampling strategies를 통해 학습을 효율적으로 진행했습니다.
'Machine Learning > CS224W' 카테고리의 다른 글
CS224w - 14. Community Detection in Networks Part 2 (0) | 2022.11.21 |
---|---|
CS224w - 14. Community Detection in Networks Part 1 (0) | 2022.11.21 |
CS224w - 13. GNNs for Recommender Systems Part 1 (0) | 2022.11.21 |
CS224w - 12. Identifying and Counting Motifs in Networks Part 2 (0) | 2022.11.18 |
CS224w - 12. Identifying and Counting Motifs in Networks Part 1 (0) | 2022.11.18 |