13. 유저 히스토리에 의존해서
유저-아이템 간의 상관관계 통해
유저에게 알맞은 새로운 아이템을
추천하는 방법을 의미합니다.
Collaborative Filtering 이란,
13
14. Collaborative Filtering은
크게 두 가지로 구분됩니다.
Neighborhood Method
vs
Latent Factor Model
https://datajobs.com/data-science-repo/Recommender-Systems-[Net
fl
ix].pdf
14
15. “Matrix Factorization”
에 대해 조금 더 자세히 알아보겠습니다.
그중 앞으로 살펴볼 논문에서 언급하는
Latent Factor Model에 속하는
https://datajobs.com/data-science-repo/Recommender-Systems-[Net
fl
ix].pdf
15
16. Netflix Prize 덕분에 유명해졌습니다.
https://datajobs.com/data-science-repo/Recommender-Systems-[Net
fl
ix].pdf
16
18. 유저-아이템 행렬
Latent Factor
Latent
Factor
=
유저-잠재요인 아이템-잠재요인
m × n m × k k × n
Matrix Factorization은
잠재요인을 고려한 방식입니다.
https://developers.google.com/machine-learning/recommendation/collaborative/matrix
18
20. 그런데!!!
이렇게 좋은
Matrix Factorization에도
한계가 있습니다!
(물론 이 한계는 다음 소개할 논문의 내용입니다.
이 외에도 MF의 한계점은 다양합니다.)
https://www.diva-portal.org/smash/get/diva2:633561/FULLTEXT01.pdf
20
21. Matrix Factorization을 식으로 표현하면 이렇습니다
유저와 아이템을 위한 잠재 벡터
유저와 아이템 잠재 벡터의 내적
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
Latent factors간의 곱셈을
선형으로 결합하는 내적(inner product)은
유저-아이템 상호작용 데이터의 복잡한 구조를
알아내기 어렵습니다.
즉, MF의 경우 내적을 사용하기 때문에
성능이 저하되는 경우가 발생합니다.
21
22. 간단한 예로 설명해봅시다
유저-아이템 행렬
기존 u1-u3 과 i1 - i5의 유사도(similarity)를 봅니다.
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
s23(0.66) > s12(0.5) > s13(0.4)
즉, u2와 u3의 유사도가 가장 높습니다.
그 다음은 u1과 u2이고,
마지막 u1과 u3의 유사도가 가장 낮습니다.
유저 잠재 공간(latent space)에 표현하면
p2와 p3이 가장 가깝고, 다음으로 p1과 p2,
그리고 p1과 p3순이 됩니다.
유저 잠재 공간
22
23. 유저 잠재 공간
여기에 새로운 유저 u4가 등장했습니다.
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
s41(0.6) > s43(0.4) > s42(0.2)
유저 u4와의 유사도를 살펴보면,
u4와 u1이 가장 유사하고,
u4와 u3, u4와 u2 순이 됩니다.
그런데 기존 유저 잠재 공간에 표현하려니
문제가 생깁니다?!
유저-아이템 행렬
간단한 예로 설명해봅시다
23
24. 유저 잠재 공간
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
유사도 : s41(0.6) > s43(0.4) > s42(0.2)
기존 유저 잠재 공간에 유사도를 표현해보니
p4의 위치가 애매합니다.
p4에 두면, p1과의 거리가 가까워서 맞지만,
p3보다 p2와 가깝습니다.
(p’4도 마찬가지 입니다.)
큰 Ranking Loss가 발생하게 됩니다.
유저-아이템 행렬
간단한 예로 설명해봅시다
24
25. Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
간단하게 정리해 봅시다.
즉, 새로운 유저가 나타나면 저차원 공간에
이를 표현하기가 어렵다는 한계가 있습니다.
25
29. 제목에서부터 알 수 있듯이
Deep Neural Network를 사용하여
유저-아이템 상호작용을 학습하는
프레임워크를 제안하고 있습니다.
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
29
30. Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
유저-아이템 상호작용
Matrix
Factorization
Linear
Deep Learning
Non-Linear
+
30
(딥러닝 만만세!)
31. Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
논문에서 제안한
Neural Collaborative Filtering
구조 입니다.
31
32. Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
여기서 간단하게
Embedding과 Neural CF만
살펴보겠습니다
32
33. Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
Embedding Layer를 살펴봅시다
33
유저와 아이템의 ID만 입력 피처로 사용하고,
획득한 유저(아이템) 임베딩은
잠재 요인 모델에서 유저(아이템)에 대한
잠재 벡터로 볼 수 있습니다
34. Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
Neural CF Layer를 살펴봅시다
유저 및 아이템 임베딩은 잠재 벡터를
예측 값에 매핑하기 위해 Multi-layer
nerual로 구성된 Neural CF에 입력됩니다
이때 Multi Layer Perceptron을
사용하였습니다
34
35. Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
35
Neural Matrix Factorization은
입니다.
Linear한 Generalized MF(GMF)가
표현할 수 없는 유저-아이템 간의 복잡한 관계까지
Non-Linear하고 Flexible한 Neural CF를
통합한 Neural MF 모델로 표현할 수 있게 됩니다
36. Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
그런데!!!
이거로 충분하지 않은 것 같습니다.
유저, 아이템 각각 임베딩하는 기존방식은
결과적으로 행렬 구조이기에 유저-아이템 간의
상호작용을 더 잘 나타내기에 부족한 것 같습니다.
36
50. 50
그래프 구조를 따라 협업 시그널을
캡처하고 유저 및 아이템 임베딩을
개선하기 위해 GNN의 메시지 전달
아키텍처를 구축합니다.
Embedding Propagation Layer
대해 알아봅시다
(협업 시그널? 유저(아이템)간 행동의
유사성을 나타내기 위해 유저-아이템
상호작용에 잠재된 요인)
51. 51
자세히 살펴 봅시다
First-order Propagation을 통해
유저가 아이템을 소비할 때, 아이템
정보가 유저에게 전달됩니다.
특정 유저가 아이템을 소비한 정보가
아이템 피처로 사용될 수 있습니다.
이를 토대로 아이템 또는 유저의
유사성을 측정할 수 있게 됩니다.
52. Embedding Propagation Layer는
연결된 유저-아이템 간의 임베딩 전파를
수행하며, Message Construction과
Message Aggregation
두 가지 주요 작업으로 구성됩니다
52
조금 자세히 설명해 봅시다
62. 라플라스 메트릭스로 Propagation Rule를
여기에!
모든 유저와 아이템에 대한 표현을
효율적으로 동시에 업데이트 할 수 있고
& 노드 샘플링 절차 생략 할 수 있습니다
이렇게 구현하면
62
https://arxiv.org/pdf/1609.02907.pdf https://arxiv.org/pdf/1710.10903.pdf
63. Model Prediction Layer 입니다
서로 다른 레이어에서 나온 표현은
각기 다른 메시지를 강조하기 때문에
유저 선호도 반영에 서로 다른 기여를 합니다.
63
따라서 이들을 Concatenate하여
유저(or 아이템)을 위한
최종 임베딩을 구성합니다.
64. 마지막
Output Layer 입니다
타겟 아이템에 대한
유저의 선호도를 추정할 수 있습니다
64
이 과정을 통해서 유저는 선호도가 높은
아이템을 추천 받게 됩니다.
65. Neural Graph Collaborative Filtering이
얼마나 좋은 모델인지 실험을 진행하였습니다
우선 이와 같은 데이터를 사용했습니다
(무작위 선택 8:2 = 훈련 : 테스트)
65
66. 평가 메트릭으로
Top-K 추천 및 선호도 순위 평가에 사용되는
recall@K 및 ndcg@K을 사용했습니다.
66
recall@K은 실제로 유저가 관심있는 아이템
중 추천된 아이템의 비율을 평가하는 지표입니다.
ndcg@K은 추천 순서에 가중치를 주어서
성능을 평가하는 지표입니다.
https://medium.com/swlh/rank-aware-recsys-evaluation-metrics-5191bba16832
https://blossominkyung.com/20e6de2b-42f0-4dc8-8a88-c81c982d3a0e
(더 자세한 설명은 아래 링크를 참고해주세요)
69. 69
여러 임베딩 전파 레이어를 쌓은
NGCF는 high-order 연결성을
탐색할 수 있습니다.
반면, CMN, GC-MC는 first-order
이웃만 활용하였습니다
논문에서 제안한 NGCF 모델 성능이 가장 좋습니다
이를통해 임베딩에서 협업 시그널 캡처의 중요성을 알 수 있습니다
70. 70
유저 선호도 추론을 위해 NGCF는
Multi-grained 표현을 고려하는
반면 PinSage는 마지막 레이어의
아웃풋만 사용합니다.
이를통해 서로 다른 전파 레이어가 표현에서
서로 다른 정보를 인코딩한다는 것을 알 수 있습니다.
논문에서 제안한 NGCF 모델 성능이 가장 좋습니다
72. 72
Embedding Propagation Layer의
갯수에 따른 성능결과 입니다.
NGCF에서 임베딩 전파 레이어 깊이를
늘리면 recall과 ndcg가 크게 향상 됩니다.
즉, 추천이 잘 된다는 것을 알 수 있습니다.
high-order connectivity 모델링이 우수함을 알 수 있습니다.
74. 74
Node Dropout & Message Dropout을
사용했습니다
특정 유저(아이템)에서 보내는 모든
메시지, 즉 노드 자체를 삭제하면 특정
에지와 노드 모두 영향을 주게 됩니다.
Node Dropout의 성능이 더 좋습니다.
이를 통해 Node Dropout이 GNN 오버피팅을 해결하는
효과적인 전략임을 알 수 있습니다.
78. 78
유저-아이템 연결성은 임베딩 공간에서 서로
가까운 부분에 임베드 됩니다.
유저 아이템
이를 통해 동일한 유저가 소비한 아이템
(같은 색상)을 가진 포인트가 클러스터링을
형성하는 경향을 알 수 있습니다.
NGCF 레이어가 깊을 수록 과거 아이템의
임베딩이 더 가까운 경향을 보입니다.
Embedding Propagation Layer가
협업 시그널을 표현에 주입할 수 있음을 보여줍니다.
79. 결론입니다
79
논문은 Embedding Propagation Layer에서
Message Construction과 Aggregation 과정을 통해
High-order connectivity 그래프를 만든 후,
아웃풋을 하나의 벡터로 표현하여 유저-아이템
선호도를 추정할 수 있는 방안을 제안하였습니다.
이를 통해