Graph Embedding
- interaction graph의 형태로 collaborative signal을 인코딩한 후
- GNN을 통해 High-order Connectivity를 임베딩
임베딩 레이어(Embedding Layer)
- 기존 MF나 NCF의 경우는 이러한 Embedding이 바로 interaction layer에 들어감
- NGCF에서는 user-item interaction이 GNN상에서 propagate하면서 Embedding값이 전달(Collaborative Signal을 명시적으로 임베딩 레이어에서 주입)
임베딩 전파 레이어 – First-order Propagation
Message Construction
- 유저-아이템의 collaborative signal을 담을 'message'를 구성하고 결합하는 단계
- 유저 임베딩과 아이템 임베딩이 서로 관련성이 있을수록 메세지가 전달하는 바도 증가
- 이웃 노드의 개수로 스케일링
Message Aggregation
- 의 이웃 노드로부터 전파된 message들을 결합하면 1-hop 전파를 통한 임베딩완료
임베딩 전파 레이어 – Higher-order Propagation
- 개의 임베딩 전파 레이어를 쌓으면, 유저 노드는 -차 이웃으로부터 전파된 메시지 이용 가능
- u1에 대해서 i4의 message는 위의 그림과 같고 i4 -> u2 -> i2 -> u1에 대한 user-item interaction을 다음과 같이 전달되는 것을 볼 수 있다.
- 층별 propogation 규칙은 다음과 같은 matrix다.
- 단계 embedding propagation이후 얻어진 user와 item의 embedding을 concat한 결과
- 은 라플라시안 행렬로 user-item graph를 아래의 식으로 나타낸 것
Model Prediction
- L layer를 거친 이후에 user와 item에 대한 multiple representation이 얻어진다.
- 다만, 각 층마다 연결이 달라 강조되는 message가 달라 final embedding을 위해서는 각 layer를 concat한다.
- 이후에는 내적을 통해서 output을 계산