RS7 - RecSys with DL(2)
GNN 추천모델
graph neural network
- Graph Node 와 이를 잇는 Edge 들을 모아 구성한 자료 구조
사용이유 1) 관계, 상호작용과 같은 추상적인 개념을 다루기에 적합 2) Non-Euclidean space 의 표현 및 학습이 가능
-
- GNN (그래프 신경망)
- 이웃 노드들 간의 정보를 이용하여 특정 노드를 잘 표현할 수 있는 벡터를 찾아 내는 신경망
-> 그래프 및 피쳐 데이터를 인접 행렬로 변환하여 MLP에 사용하는 방법
-> naive approach 의 한계 : 노드가 많아질수록 연산량이 기하급수적으로 많아지며, 노드의 순서가 바뀌면 의미가 달라질 수 있음
- GCN (graph convolution network)
local ocnnectivity, shered weights, multi-layer를 이용하여
연산량을 줄이면서 깊은 네트워크로 간접적인 관계 특징까지 추출 가능
Neural graph collaborative filtering
- 해결 과제
1) 유저와 아이템의 임베딩
2) 상호작용 모델링
3) 유저 아이템 상호작용을 임베딩에서 접근하지 못함
- Collaborative signal
-> 임베딩 때부터 유저-아이템 상호작용이 학습될 수 있도록
-> GNN을 통해 high-order connectivity를 임베딩
- 전체 구조
1) Embedding layer
2) Embedding Propagation layer
3) Prediction layer
1) Embedding layer
임베딩이 바로 사용되지 않고 GNN 의 2)에서 전파시켜 refine함
2) Embedding Propagation layer
- 임베딩 전파 레이어
-
유저-아이템의 collaborative signal 을 담을 message를 구성하고 결합하는 단계
- Message Construction
유저 아이템간 affinity 고려 가능하도록 메시지 구성
- Message Aggregation
-> 1-hop 전파를 통한 임베딩
- High order propagation
l 단계에서 임베딩은 l-1 단계의 임베딩을 통해 재귀적으로 형성됨
3) Prediction layer
결과
-
레이어가 많아질 수록 모델의 추천 성능 향상 (단 overfitting 생기므로 3~4개 추천)
- MF보다 빠르게 수렴, recall 도 높음
- 임베딩 공간에서 유저-아이템이 더 잘 구별됨(레이어 많을수록 명확해짐)
- 수식 총정리
LightGCN
- 1) Light Graph Convolution
- 이웃 노드의 임베딩을 가중합 하는 것이 convolution의 전부 -> 파라미터, 연산량 감소
2) Layer combination
- 모델 구조
비교
-
NGCF : 바로전 임베딩에 학습 파라미터 곱하고 activation 까즤 +self connection 도 있음
-
LightGCN : 바로 전 임베딩에 가중치 더하여 합함 아이템만 고려
가중치는 하이퍼, 학습 파라미터 둘다 가능 (별차이 없어서 하이퍼로 사용)
- 결과 손실함수, 추천성능 모두 NGCF 보다 뛰어남
-> 모델의 Generalization power가 크다는 것
RNN 추천모델
GRU4Rec
- GRU
-
- Session based RecSys
- ‘지금’ 고객이 선호 할 만한 것은?
-
Session : 유저가 서비스를 이용하는 동안 행동을 기록한 데이터
- 모델 구조
1) 입력 : one-hot encoding
2) GRU 레이어
3) 출력
- 학습 : Session Parallel Mini batches
세션의 길이가 짧은 것들은 뒤에 붙여 병렬적으로 구성하여 미니배치 학습
- 학습 : Sampling on the output
인기에 기반한 Negative Sampling 제시
댓글남기기