2023. 12. 4. 13:25ㆍNAVER AI Tech/Recommen System
Graph : Node(Vertices)와 Edge로 이루어진 자료 구조.
- G = (V,E)로 표현함.
- 관계, 상호작용과 같은 추상적인 개념을 다루기에 적합함. 특히 유저-아이템 소비 관계 모델링이 가능.
- Non-Euclidean space 표현 및 학습 가능. (2차원 거리 개념이 아님)
Graph 표현방식
- 인접행렬 or 인접리스트 : 노드의 수가 많아지면 인접행렬은 n**2이므로 기하급수적으로 많아지고 sparse 또한 커진다.
- 따라서 Convolution 연산을 graph에도 적용하곤 함.
Neighbor nodes를 인접 pixel이라고 생각하면 local connectivity, shared weights를 이용할 수 있고, multi-layer 또한 구현할 수 있다.
Collaborative Filtering 과제
- 결국 유저 임베딩과 아이템 임베딩을 잘 해내야함.
- 유저-아이템 간 상호작용 또한 모델링을 잘 수행해야함.
- 기존 모델은 각각 임베딩 후 concat하거나 임베딩을 그대로 사용하기도 했었음.
**Neural Graph Collaborative Filtering : 유저-아이템 상호작용을 GNN으로 임베딩 과정에서 인코딩하는 접근법을 제시
- 유저-아이템 상호작용이 임베딩 단에서부터 학습될 수 있도록 함.
- 유저-아이템 상호작용을 High-order Connectivity를 이용하여 임베딩(path길이에 따라 관계성을 표현)
NGCF 전체 구조
1. 임베딩 레이어 : 유저와 아이템을 각각 one-hot encoding. 후 K차원으로 임베딩하는 레이어
2. 임베딩 전파 레이어 : 유저-아이템 collaborative signal을 담을 'message'를 구성하고 결합하는 레이어
- Message construction : 유저 u와 아이템 i 간의 관계성을 계산(=표현)
- Message Aggregation : 유저 u의 이웃 노드로부터 message의 합을 계산. (hop = path의 길이까지 참고)
결과
- 레이어가 너무 많아지면 overfitting 발생 가능. 따라서 3~4개 정도가 적당함.
- MF보다 더 빠르게 수렴하고, Recall 또한 높음.
- MF와 비교하였을 때 유저-아이템이 임베딩 공간에서 더 명확하게 구분됨.
LightGCN
1. Light Convolution : message를 가중합하는 것이 convolution의 전부.
- (element-wise연산이 사라짐, activation function x) 따라서 학습 파라미터와 연산량이 대폭 감소
- 첫 layer에서 아이템 혹은 유저를 임베딩시킬 때에 학습 파라미터만 존재.
2. Layer Combination : 레이어가 깊어질수록 전달되는 강도가 약해지는 아이디어를 적용시켜서 모델을 단순화함.
- 가중합 weight sum을 사용하였는데, 학습 파라미터로 설정할 때와 하이퍼파라미터로 설정할 때 큰 차이가 존재하지 않아 (K+1)**(-1)로 사용함.
결과
- GCN보다 training loss가 낮고 추천 성능이 좋음 = 일반화 성능이 뛰어남.
'NAVER AI Tech > Recommen System' 카테고리의 다른 글
16. Context-aware Recommendation (0) | 2023.12.04 |
---|---|
15. Recurrent Neural Network with Recommend System. (2) | 2023.12.04 |
13. Auto Encoder with Recommend System. (0) | 2023.11.30 |
12. Deep Learning Model with Recommend System (2) | 2023.11.30 |
11. Approximate Nearest Neighbor(ANN) (0) | 2023.11.30 |