14. Graph Neural Network with Recommend System

2023. 12. 4. 13:25NAVER 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가 낮고 추천 성능이 좋음 = 일반화 성능이 뛰어남.