SlideShare a Scribd company logo
1 of 80
Download to read offline
2020 Jan 17 Sun
Neural Graph Collaborative Filtering
추천 시스템 & GNN
펀더멘탈팀: 송헌, 김창연, 김동희, 김준호, 이재윤, 고형권
발표자 이민경
https://blossominkyung.com/
Xiang Wang et al, SIGIR 2019
1
논문 제목을 통해
세가지 포인트를 알 수 있습니다.
Neural Graph Collaborative Filtering
2
Neural Graph Collaborative Filtering
3
Neural Graph Collaborative Filtering
4
Neural Graph Collaborative Filtering
5
살펴볼 내용의 순서입니다
Neural Graph Collaborative Filtering
Neural Collaborative Filtering
Collaborative Filtering
1.
2.
3.
6
하나씩 살펴봅시다
7
Neural Graph Collaborative Filtering
(협업 필터링)
8
Collaborative Filtering(협업필터링)
도대체 무슨 말일까요?
9
ME!
10
ME!
Like Me!
11
ME!
Like Me!
추천!
12
유저 히스토리에 의존해서
유저-아이템 간의 상관관계 통해
유저에게 알맞은 새로운 아이템을
추천하는 방법을 의미합니다.
Collaborative Filtering 이란,
13
Collaborative Filtering은
크게 두 가지로 구분됩니다.
Neighborhood Method
vs
Latent Factor Model
https://datajobs.com/data-science-repo/Recommender-Systems-[Net
fl
ix].pdf
14
“Matrix Factorization”
에 대해 조금 더 자세히 알아보겠습니다.
그중 앞으로 살펴볼 논문에서 언급하는


Latent Factor Model에 속하는
https://datajobs.com/data-science-repo/Recommender-Systems-[Net
fl
ix].pdf
15
Netflix Prize 덕분에 유명해졌습니다.
https://datajobs.com/data-science-repo/Recommender-Systems-[Net
fl
ix].pdf
16
https://datajobs.com/data-science-repo/Recommender-Systems-[Net
fl
ix].pdf
Matrix Factorization은
유저-아이템 상호작용에는
유저의 행동, 아이템 평점에 영향을 주는
잠재된 요인(latent factor)이 있을텐데
그 잠재된 요인을 고려하여
유저에게 적합한 아이템을
추천하는 방법입니다.
17
유저-아이템 행렬
Latent Factor
Latent
Factor
=
유저-잠재요인 아이템-잠재요인
m × n m × k k × n
Matrix Factorization은
잠재요인을 고려한 방식입니다.
https://developers.google.com/machine-learning/recommendation/collaborative/matrix
18
여기서 잠시 갖는 질문타임
질문이 있으시면 질문해주시면 됩니다.
19
그런데!!!
이렇게 좋은


Matrix Factorization에도
한계가 있습니다!
(물론 이 한계는 다음 소개할 논문의 내용입니다.
이 외에도 MF의 한계점은 다양합니다.)
https://www.diva-portal.org/smash/get/diva2:633561/FULLTEXT01.pdf
20
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
간단한 예로 설명해봅시다
유저-아이템 행렬
기존 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
유저 잠재 공간
여기에 새로운 유저 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
유저 잠재 공간
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
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
간단하게 정리해 봅시다.
즉, 새로운 유저가 나타나면 저차원 공간에
이를 표현하기가 어렵다는 한계가 있습니다.
25
여기서 잠시 갖는 질문타임
질문이 있으시면 질문해주시면 됩니다.
26
그래서 나왔습니다
27
Neural Graph Collaborative Filtering
(협업 필터링)
(뉴럴)
28
제목에서부터 알 수 있듯이
Deep Neural Network를 사용하여
유저-아이템 상호작용을 학습하는
프레임워크를 제안하고 있습니다.
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
29
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
(딥러닝 만만세!)
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
논문에서 제안한
Neural Collaborative Filtering
구조 입니다.
31
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
여기서 간단하게


Embedding과 Neural CF만
살펴보겠습니다
32
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
Embedding Layer를 살펴봅시다
33
유저와 아이템의 ID만 입력 피처로 사용하고,
획득한 유저(아이템) 임베딩은
잠재 요인 모델에서 유저(아이템)에 대한
잠재 벡터로 볼 수 있습니다
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
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 모델로 표현할 수 있게 됩니다
Xiangnan He, et al ``Neural Collaborative Filtering,`` Proceedings of the 26th International Conference on World Wide Web(WWW), April 2017
그런데!!!
이거로 충분하지 않은 것 같습니다.
유저, 아이템 각각 임베딩하는 기존방식은
결과적으로 행렬 구조이기에 유저-아이템 간의
상호작용을 더 잘 나타내기에 부족한 것 같습니다.
36
여기서 잠시 갖는 질문타임
질문이 있으시면 질문해주시면 됩니다.
37
그래서 또 나왔습니다
38
Neural Graph Collaborative Filtering
(협업 필터링)
(뉴럴) (그래프)
39
40
왼쪽 노드는 유저를, 오른쪽 노드는
아이템을 의미합니다.
유저와 상호작용하는 아이템들이
서로 연결되어 있습니다.
일반적인 유저-아이템 상호작용 그래프 입니다
어떤 유저가 어떤 아이템과
상호작용하는지 알 수 있습니다.
고차원 그래프 형태로 나타내봅시다
41
High order connectivity는
경로 길이가 1보다 큰 노드에서
u1에 도달하는 경로를 의미합니다.
High-order connectivity에는
협업 시그널을 전달하는 풍부한
시멘틱이 포함되어 있습니다.
이 그래프를 통해
세가지를 알 수 있습니다
42
유저 u1과 u2가 i2와 상호작용
하는 것을 알 수 있고,
유저 u1과 u2 간 행동 유사성이
존재함을 알 수 있습니다.
u1 i2 u2
43
유저 u1과 유사한 유저 u2가
과거 아이템 i4를 소비했습니다.
이를 통해 유저 u1이 아이템 i4
를 채택할 가능성이 존재합니다
u1 i2 u2 i4
이 그래프를 통해
세가지를 알 수 있습니다
44
마지막 레이어 l3을 보면,
u1은 i5 보다 i4에 더 관심 있을
가능성 높습니다.
(아이템 i4 노드 2개, i5 노드 1개)
이 그래프를 통해
세가지를 알 수 있습니다
45
그래프 뉴럴넷을 통해
유저-아이템 간의 상호작용과
비슷한 유저와의 유사성으로
유저에게 새로운 아이템을 추천하고
동시에 유저가 어떤 아이템을
선호할지 예측할 수 있습니다
여기서 잠시 갖는 질문타임
질문이 있으시면 질문해주시면 됩니다.
46
Neural Graph Collaborative Filtering
전체 아키텍처 입니다
하나씩 살펴봅시다
47
Embedding Layers 입니다
48
일반적인 협업 필터링 모델처럼
각각의 유저와 아이템에 대해
임베딩하는 레이어 입니다
전체 모델에서 유저와 아이템의
임베딩 값은 end-to-end
방식으로 학습됩니다.
49
기존 논문들과 가장
차별되는 부분이 바로
Embedding Propagation Layers
입니다
50
그래프 구조를 따라 협업 시그널을
캡처하고 유저 및 아이템 임베딩을
개선하기 위해 GNN의 메시지 전달
아키텍처를 구축합니다.
Embedding Propagation Layer
대해 알아봅시다
(협업 시그널? 유저(아이템)간 행동의
유사성을 나타내기 위해 유저-아이템
상호작용에 잠재된 요인)
51
자세히 살펴 봅시다
First-order Propagation을 통해
유저가 아이템을 소비할 때, 아이템
정보가 유저에게 전달됩니다.
특정 유저가 아이템을 소비한 정보가
아이템 피처로 사용될 수 있습니다.
이를 토대로 아이템 또는 유저의
유사성을 측정할 수 있게 됩니다.
Embedding Propagation Layer는
연결된 유저-아이템 간의 임베딩 전파를
수행하며, Message Construction과
Message Aggregation
두 가지 주요 작업으로 구성됩니다
52
조금 자세히 설명해 봅시다
Message Construction과
Message Aggregation
두 가지 주요 작업을 알아봅시다
53
Message Construction
을 살펴봅시다
아이템 자체 값
아이템-유저 연관성 전달되는 값
아이템(유저) 정보가 유저(아이템) 에게
전달되는 메시지를 구성합니다
54
아이템에서 유저로 정보 전달
Message Aggregation을 살펴봅시다
55
First-hop 임베딩 전파 계층
이후 얻은 유저의 표현
유저 자체 연결 고려하여
피처 정보 유지
1-hop 이웃노드 정보 합산
이러한 메시지들을 Aggregation합니다
요약하자면,
Embedding Propagation Layer는
56
유저와 아이템의 표현(representation)을
관련 짓기 위해 주변 유저와 아이템의
1차 연결 정보를 명시적으로
활용한다는 것입니다.
임베딩 전파 레이어 여러개를 쌓아
상위 연결 정보를 탐색할 수 있습니다
57
High-order Propagation을
알아봅시다
High-order Propagation을
좀 더 자세히 알아봅시다
58
High-order은 유저-아이템 간의 관련도를
추정하기 위해 협업 시그널을 인코딩하는
일에 중요합니다
High-order Propagation을 통해서
59
협업 시그널을 임베딩 전파 과정에서 알 수 있고,
i4가 u1에 명시적으로 인코딩 되는 것을 알 수 있습니다
다시 말해,
여러 임베딩 전파 레이어를 쌓아두면
60
협업 시그널이 표현 학습 과정에
원활하게 주입됩니다
여기서 잠시 갖는 질문타임
질문이 있으시면 질문해주시면 됩니다.
61
라플라스 메트릭스로 Propagation Rule를
여기에!
모든 유저와 아이템에 대한 표현을
효율적으로 동시에 업데이트 할 수 있고
& 노드 샘플링 절차 생략 할 수 있습니다
이렇게 구현하면
62
https://arxiv.org/pdf/1609.02907.pdf https://arxiv.org/pdf/1710.10903.pdf
Model Prediction Layer 입니다
서로 다른 레이어에서 나온 표현은
각기 다른 메시지를 강조하기 때문에
유저 선호도 반영에 서로 다른 기여를 합니다.
63
따라서 이들을 Concatenate하여
유저(or 아이템)을 위한
최종 임베딩을 구성합니다.
마지막
Output Layer 입니다
타겟 아이템에 대한
유저의 선호도를 추정할 수 있습니다
64
이 과정을 통해서 유저는 선호도가 높은
아이템을 추천 받게 됩니다.
Neural Graph Collaborative Filtering이
얼마나 좋은 모델인지 실험을 진행하였습니다
우선 이와 같은 데이터를 사용했습니다
(무작위 선택 8:2 = 훈련 : 테스트)
65
평가 메트릭으로
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
(더 자세한 설명은 아래 링크를 참고해주세요)
67
베이스라인 모델로는
앞서 살펴 본 MF와 NeuralMF, 그리고
다양한 SOTA 모델들을 사용했습니다.
68
첫번째 실험을 통해
논문에서 제안한 NGCF 모델이
얼마나 성능이 최고인지 알아봅시다
69
여러 임베딩 전파 레이어를 쌓은
NGCF는 high-order 연결성을
탐색할 수 있습니다.
반면, CMN, GC-MC는 first-order
이웃만 활용하였습니다
논문에서 제안한 NGCF 모델 성능이 가장 좋습니다
이를통해 임베딩에서 협업 시그널 캡처의 중요성을 알 수 있습니다
70
유저 선호도 추론을 위해 NGCF는
Multi-grained 표현을 고려하는
반면 PinSage는 마지막 레이어의
아웃풋만 사용합니다.
이를통해 서로 다른 전파 레이어가 표현에서
서로 다른 정보를 인코딩한다는 것을 알 수 있습니다.
논문에서 제안한 NGCF 모델 성능이 가장 좋습니다
71
두번째 실험을 통해
NGCF에서 중요한 역할을 하는
Embedding Propagation Layer가
성능에 미치는 영향을 알아봅시다
72
Embedding Propagation Layer의
갯수에 따른 성능결과 입니다.
NGCF에서 임베딩 전파 레이어 깊이를
늘리면 recall과 ndcg가 크게 향상 됩니다.
즉, 추천이 잘 된다는 것을 알 수 있습니다.
high-order connectivity 모델링이 우수함을 알 수 있습니다.
73
세번째 실험을 통해
오버피팅 방지 역할을 하는 두 가지


Dropout의 효과를 살펴봅시다
74
Node Dropout & Message Dropout을
사용했습니다
특정 유저(아이템)에서 보내는 모든
메시지, 즉 노드 자체를 삭제하면 특정
에지와 노드 모두 영향을 주게 됩니다.
Node Dropout의 성능이 더 좋습니다.
이를 통해 Node Dropout이 GNN 오버피팅을 해결하는
효과적인 전략임을 알 수 있습니다.
75
네번째 실험을 통해
Epoch의 recall에 대한
테스트 성능을 알아봅시다
76
연결된 유저-아이템은 미니배치에서
상호작용 쌍을 최적화하기 때문입니다
NGCF가 MF보다 빠르게
수렴하는 것을 알 수 있습니다.
NGCF의 모델 용량이 좋고 임베딩 공간에서
임베딩 전파를 수행하는 효과를 보여줍니다
77
마지막 실험을 통해
Embedding Propagation Layer의 깊이가
임베딩 공간에서 표현 학습에
어떤 영향을 주는지 알아봅시다
78
유저-아이템 연결성은 임베딩 공간에서 서로
가까운 부분에 임베드 됩니다.
유저 아이템
이를 통해 동일한 유저가 소비한 아이템
(같은 색상)을 가진 포인트가 클러스터링을
형성하는 경향을 알 수 있습니다.
NGCF 레이어가 깊을 수록 과거 아이템의
임베딩이 더 가까운 경향을 보입니다.
Embedding Propagation Layer가
협업 시그널을 표현에 주입할 수 있음을 보여줍니다.
결론입니다
79
논문은 Embedding Propagation Layer에서
Message Construction과 Aggregation 과정을 통해
High-order connectivity 그래프를 만든 후,
아웃풋을 하나의 벡터로 표현하여 유저-아이템
선호도를 추정할 수 있는 방안을 제안하였습니다.
이를 통해
Thank You
80

More Related Content

What's hot

Convolutional neural network from VGG to DenseNet
Convolutional neural network from VGG to DenseNetConvolutional neural network from VGG to DenseNet
Convolutional neural network from VGG to DenseNetSungminYou
 
Engagement, metrics and "recommenders"
Engagement, metrics and "recommenders"Engagement, metrics and "recommenders"
Engagement, metrics and "recommenders"Mounia Lalmas-Roelleke
 
InfoGAN: Interpretable Representation Learning by Information Maximizing Gen...
InfoGAN: Interpretable Representation Learning by Information Maximizing Gen...InfoGAN: Interpretable Representation Learning by Information Maximizing Gen...
InfoGAN: Interpretable Representation Learning by Information Maximizing Gen...Shuhei Yoshida
 
Large scale-lm-part1
Large scale-lm-part1Large scale-lm-part1
Large scale-lm-part1gohyunwoong
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기JungHyun Hong
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전Modulabs
 
Batch normalization presentation
Batch normalization presentationBatch normalization presentation
Batch normalization presentationOwin Will
 
機械学習キャンバス0.1
機械学習キャンバス0.1機械学習キャンバス0.1
機械学習キャンバス0.1nishio
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계Wonjun Hwang
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016Taehoon Kim
 
Convolutional Neural Network (CNN) - image recognition
Convolutional Neural Network (CNN)  - image recognitionConvolutional Neural Network (CNN)  - image recognition
Convolutional Neural Network (CNN) - image recognitionYUNG-KUEI CHEN
 
Generative adversarial networks
Generative adversarial networksGenerative adversarial networks
Generative adversarial networksYunjey Choi
 
추천시스템 이제는 돈이 되어야 한다.
추천시스템 이제는 돈이 되어야 한다.추천시스템 이제는 돈이 되어야 한다.
추천시스템 이제는 돈이 되어야 한다.choi kyumin
 
Tutorial: Context-awareness In Information Retrieval and Recommender Systems
Tutorial: Context-awareness In Information Retrieval and Recommender SystemsTutorial: Context-awareness In Information Retrieval and Recommender Systems
Tutorial: Context-awareness In Information Retrieval and Recommender SystemsYONG ZHENG
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것NAVER Engineering
 
[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)Donghyeon Kim
 
Deep Reinforcement Learning
Deep Reinforcement LearningDeep Reinforcement Learning
Deep Reinforcement LearningUsman Qayyum
 
[PaperReview] LightGCN: Simplifying and Powering Graph Convolution Network fo...
[PaperReview] LightGCN: Simplifying and Powering Graph Convolution Network fo...[PaperReview] LightGCN: Simplifying and Powering Graph Convolution Network fo...
[PaperReview] LightGCN: Simplifying and Powering Graph Convolution Network fo...Zimin Park
 
Recent Trends in Personalization at Netflix
Recent Trends in Personalization at NetflixRecent Trends in Personalization at Netflix
Recent Trends in Personalization at NetflixJustin Basilico
 

What's hot (20)

Convolutional neural network from VGG to DenseNet
Convolutional neural network from VGG to DenseNetConvolutional neural network from VGG to DenseNet
Convolutional neural network from VGG to DenseNet
 
Engagement, metrics and "recommenders"
Engagement, metrics and "recommenders"Engagement, metrics and "recommenders"
Engagement, metrics and "recommenders"
 
InfoGAN: Interpretable Representation Learning by Information Maximizing Gen...
InfoGAN: Interpretable Representation Learning by Information Maximizing Gen...InfoGAN: Interpretable Representation Learning by Information Maximizing Gen...
InfoGAN: Interpretable Representation Learning by Information Maximizing Gen...
 
Large scale-lm-part1
Large scale-lm-part1Large scale-lm-part1
Large scale-lm-part1
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전
 
Batch normalization presentation
Batch normalization presentationBatch normalization presentation
Batch normalization presentation
 
機械学習キャンバス0.1
機械学習キャンバス0.1機械学習キャンバス0.1
機械学習キャンバス0.1
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계
 
Dssg talk CNN intro
Dssg talk CNN introDssg talk CNN intro
Dssg talk CNN intro
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
 
Convolutional Neural Network (CNN) - image recognition
Convolutional Neural Network (CNN)  - image recognitionConvolutional Neural Network (CNN)  - image recognition
Convolutional Neural Network (CNN) - image recognition
 
Generative adversarial networks
Generative adversarial networksGenerative adversarial networks
Generative adversarial networks
 
추천시스템 이제는 돈이 되어야 한다.
추천시스템 이제는 돈이 되어야 한다.추천시스템 이제는 돈이 되어야 한다.
추천시스템 이제는 돈이 되어야 한다.
 
Tutorial: Context-awareness In Information Retrieval and Recommender Systems
Tutorial: Context-awareness In Information Retrieval and Recommender SystemsTutorial: Context-awareness In Information Retrieval and Recommender Systems
Tutorial: Context-awareness In Information Retrieval and Recommender Systems
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것
 
[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)
 
Deep Reinforcement Learning
Deep Reinforcement LearningDeep Reinforcement Learning
Deep Reinforcement Learning
 
[PaperReview] LightGCN: Simplifying and Powering Graph Convolution Network fo...
[PaperReview] LightGCN: Simplifying and Powering Graph Convolution Network fo...[PaperReview] LightGCN: Simplifying and Powering Graph Convolution Network fo...
[PaperReview] LightGCN: Simplifying and Powering Graph Convolution Network fo...
 
Recent Trends in Personalization at Netflix
Recent Trends in Personalization at NetflixRecent Trends in Personalization at Netflix
Recent Trends in Personalization at Netflix
 

More from taeseon ryu

OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...taeseon ryu
 
3D Gaussian Splatting
3D Gaussian Splatting3D Gaussian Splatting
3D Gaussian Splattingtaeseon ryu
 
Hyperbolic Image Embedding.pptx
Hyperbolic  Image Embedding.pptxHyperbolic  Image Embedding.pptx
Hyperbolic Image Embedding.pptxtaeseon ryu
 
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정taeseon ryu
 
LLaMA Open and Efficient Foundation Language Models - 230528.pdf
LLaMA Open and Efficient Foundation Language Models - 230528.pdfLLaMA Open and Efficient Foundation Language Models - 230528.pdf
LLaMA Open and Efficient Foundation Language Models - 230528.pdftaeseon ryu
 
Dataset Distillation by Matching Training Trajectories
Dataset Distillation by Matching Training Trajectories Dataset Distillation by Matching Training Trajectories
Dataset Distillation by Matching Training Trajectories taeseon ryu
 
Packed Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation ExtractionPacked Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation Extractiontaeseon ryu
 
MOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement LearningMOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement Learningtaeseon ryu
 
Scaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language ModelsScaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language Modelstaeseon ryu
 
Visual prompt tuning
Visual prompt tuningVisual prompt tuning
Visual prompt tuningtaeseon ryu
 
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdfvariBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdftaeseon ryu
 
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdfReinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdftaeseon ryu
 
The Forward-Forward Algorithm
The Forward-Forward AlgorithmThe Forward-Forward Algorithm
The Forward-Forward Algorithmtaeseon ryu
 
Towards Robust and Reproducible Active Learning using Neural Networks
Towards Robust and Reproducible Active Learning using Neural NetworksTowards Robust and Reproducible Active Learning using Neural Networks
Towards Robust and Reproducible Active Learning using Neural Networkstaeseon ryu
 
BRIO: Bringing Order to Abstractive Summarization
BRIO: Bringing Order to Abstractive SummarizationBRIO: Bringing Order to Abstractive Summarization
BRIO: Bringing Order to Abstractive Summarizationtaeseon ryu
 

More from taeseon ryu (20)

VoxelNet
VoxelNetVoxelNet
VoxelNet
 
OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...
 
3D Gaussian Splatting
3D Gaussian Splatting3D Gaussian Splatting
3D Gaussian Splatting
 
JetsonTX2 Python
 JetsonTX2 Python  JetsonTX2 Python
JetsonTX2 Python
 
Hyperbolic Image Embedding.pptx
Hyperbolic  Image Embedding.pptxHyperbolic  Image Embedding.pptx
Hyperbolic Image Embedding.pptx
 
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
 
LLaMA Open and Efficient Foundation Language Models - 230528.pdf
LLaMA Open and Efficient Foundation Language Models - 230528.pdfLLaMA Open and Efficient Foundation Language Models - 230528.pdf
LLaMA Open and Efficient Foundation Language Models - 230528.pdf
 
YOLO V6
YOLO V6YOLO V6
YOLO V6
 
Dataset Distillation by Matching Training Trajectories
Dataset Distillation by Matching Training Trajectories Dataset Distillation by Matching Training Trajectories
Dataset Distillation by Matching Training Trajectories
 
RL_UpsideDown
RL_UpsideDownRL_UpsideDown
RL_UpsideDown
 
Packed Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation ExtractionPacked Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation Extraction
 
MOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement LearningMOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement Learning
 
Scaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language ModelsScaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language Models
 
Visual prompt tuning
Visual prompt tuningVisual prompt tuning
Visual prompt tuning
 
mPLUG
mPLUGmPLUG
mPLUG
 
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdfvariBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
 
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdfReinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
 
The Forward-Forward Algorithm
The Forward-Forward AlgorithmThe Forward-Forward Algorithm
The Forward-Forward Algorithm
 
Towards Robust and Reproducible Active Learning using Neural Networks
Towards Robust and Reproducible Active Learning using Neural NetworksTowards Robust and Reproducible Active Learning using Neural Networks
Towards Robust and Reproducible Active Learning using Neural Networks
 
BRIO: Bringing Order to Abstractive Summarization
BRIO: Bringing Order to Abstractive SummarizationBRIO: Bringing Order to Abstractive Summarization
BRIO: Bringing Order to Abstractive Summarization
 

Neural Graph Collaborative Filtering paper review

  • 1. 2020 Jan 17 Sun Neural Graph Collaborative Filtering 추천 시스템 & GNN 펀더멘탈팀: 송헌, 김창연, 김동희, 김준호, 이재윤, 고형권 발표자 이민경 https://blossominkyung.com/ Xiang Wang et al, SIGIR 2019 1
  • 2. 논문 제목을 통해 세가지 포인트를 알 수 있습니다. Neural Graph Collaborative Filtering 2
  • 6. 살펴볼 내용의 순서입니다 Neural Graph Collaborative Filtering Neural Collaborative Filtering Collaborative Filtering 1. 2. 3. 6
  • 8. Neural Graph Collaborative Filtering (협업 필터링) 8
  • 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
  • 17. https://datajobs.com/data-science-repo/Recommender-Systems-[Net fl ix].pdf Matrix Factorization은 유저-아이템 상호작용에는 유저의 행동, 아이템 평점에 영향을 주는 잠재된 요인(latent factor)이 있을텐데 그 잠재된 요인을 고려하여 유저에게 적합한 아이템을 추천하는 방법입니다. 17
  • 18. 유저-아이템 행렬 Latent Factor Latent Factor = 유저-잠재요인 아이템-잠재요인 m × n m × k k × n Matrix Factorization은 잠재요인을 고려한 방식입니다. https://developers.google.com/machine-learning/recommendation/collaborative/matrix 18
  • 19. 여기서 잠시 갖는 질문타임 질문이 있으시면 질문해주시면 됩니다. 19
  • 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
  • 26. 여기서 잠시 갖는 질문타임 질문이 있으시면 질문해주시면 됩니다. 26
  • 28. Neural Graph Collaborative Filtering (협업 필터링) (뉴럴) 28
  • 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
  • 37. 여기서 잠시 갖는 질문타임 질문이 있으시면 질문해주시면 됩니다. 37
  • 39. Neural Graph Collaborative Filtering (협업 필터링) (뉴럴) (그래프) 39
  • 40. 40 왼쪽 노드는 유저를, 오른쪽 노드는 아이템을 의미합니다. 유저와 상호작용하는 아이템들이 서로 연결되어 있습니다. 일반적인 유저-아이템 상호작용 그래프 입니다 어떤 유저가 어떤 아이템과 상호작용하는지 알 수 있습니다.
  • 41. 고차원 그래프 형태로 나타내봅시다 41 High order connectivity는 경로 길이가 1보다 큰 노드에서 u1에 도달하는 경로를 의미합니다. High-order connectivity에는 협업 시그널을 전달하는 풍부한 시멘틱이 포함되어 있습니다.
  • 42. 이 그래프를 통해 세가지를 알 수 있습니다 42 유저 u1과 u2가 i2와 상호작용 하는 것을 알 수 있고, 유저 u1과 u2 간 행동 유사성이 존재함을 알 수 있습니다. u1 i2 u2
  • 43. 43 유저 u1과 유사한 유저 u2가 과거 아이템 i4를 소비했습니다. 이를 통해 유저 u1이 아이템 i4 를 채택할 가능성이 존재합니다 u1 i2 u2 i4 이 그래프를 통해 세가지를 알 수 있습니다
  • 44. 44 마지막 레이어 l3을 보면, u1은 i5 보다 i4에 더 관심 있을 가능성 높습니다. (아이템 i4 노드 2개, i5 노드 1개) 이 그래프를 통해 세가지를 알 수 있습니다
  • 45. 45 그래프 뉴럴넷을 통해 유저-아이템 간의 상호작용과 비슷한 유저와의 유사성으로 유저에게 새로운 아이템을 추천하고 동시에 유저가 어떤 아이템을 선호할지 예측할 수 있습니다
  • 46. 여기서 잠시 갖는 질문타임 질문이 있으시면 질문해주시면 됩니다. 46
  • 47. Neural Graph Collaborative Filtering 전체 아키텍처 입니다 하나씩 살펴봅시다 47
  • 48. Embedding Layers 입니다 48 일반적인 협업 필터링 모델처럼 각각의 유저와 아이템에 대해 임베딩하는 레이어 입니다 전체 모델에서 유저와 아이템의 임베딩 값은 end-to-end 방식으로 학습됩니다.
  • 49. 49 기존 논문들과 가장 차별되는 부분이 바로 Embedding Propagation Layers 입니다
  • 50. 50 그래프 구조를 따라 협업 시그널을 캡처하고 유저 및 아이템 임베딩을 개선하기 위해 GNN의 메시지 전달 아키텍처를 구축합니다. Embedding Propagation Layer 대해 알아봅시다 (협업 시그널? 유저(아이템)간 행동의 유사성을 나타내기 위해 유저-아이템 상호작용에 잠재된 요인)
  • 51. 51 자세히 살펴 봅시다 First-order Propagation을 통해 유저가 아이템을 소비할 때, 아이템 정보가 유저에게 전달됩니다. 특정 유저가 아이템을 소비한 정보가 아이템 피처로 사용될 수 있습니다. 이를 토대로 아이템 또는 유저의 유사성을 측정할 수 있게 됩니다.
  • 52. Embedding Propagation Layer는 연결된 유저-아이템 간의 임베딩 전파를 수행하며, Message Construction과 Message Aggregation 두 가지 주요 작업으로 구성됩니다 52 조금 자세히 설명해 봅시다
  • 53. Message Construction과 Message Aggregation 두 가지 주요 작업을 알아봅시다 53
  • 54. Message Construction 을 살펴봅시다 아이템 자체 값 아이템-유저 연관성 전달되는 값 아이템(유저) 정보가 유저(아이템) 에게 전달되는 메시지를 구성합니다 54 아이템에서 유저로 정보 전달
  • 55. Message Aggregation을 살펴봅시다 55 First-hop 임베딩 전파 계층 이후 얻은 유저의 표현 유저 자체 연결 고려하여 피처 정보 유지 1-hop 이웃노드 정보 합산 이러한 메시지들을 Aggregation합니다
  • 56. 요약하자면, Embedding Propagation Layer는 56 유저와 아이템의 표현(representation)을 관련 짓기 위해 주변 유저와 아이템의 1차 연결 정보를 명시적으로 활용한다는 것입니다.
  • 57. 임베딩 전파 레이어 여러개를 쌓아 상위 연결 정보를 탐색할 수 있습니다 57 High-order Propagation을 알아봅시다
  • 58. High-order Propagation을 좀 더 자세히 알아봅시다 58 High-order은 유저-아이템 간의 관련도를 추정하기 위해 협업 시그널을 인코딩하는 일에 중요합니다
  • 59. High-order Propagation을 통해서 59 협업 시그널을 임베딩 전파 과정에서 알 수 있고, i4가 u1에 명시적으로 인코딩 되는 것을 알 수 있습니다
  • 60. 다시 말해, 여러 임베딩 전파 레이어를 쌓아두면 60 협업 시그널이 표현 학습 과정에 원활하게 주입됩니다
  • 61. 여기서 잠시 갖는 질문타임 질문이 있으시면 질문해주시면 됩니다. 61
  • 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 (더 자세한 설명은 아래 링크를 참고해주세요)
  • 67. 67 베이스라인 모델로는 앞서 살펴 본 MF와 NeuralMF, 그리고 다양한 SOTA 모델들을 사용했습니다.
  • 68. 68 첫번째 실험을 통해 논문에서 제안한 NGCF 모델이 얼마나 성능이 최고인지 알아봅시다
  • 69. 69 여러 임베딩 전파 레이어를 쌓은 NGCF는 high-order 연결성을 탐색할 수 있습니다. 반면, CMN, GC-MC는 first-order 이웃만 활용하였습니다 논문에서 제안한 NGCF 모델 성능이 가장 좋습니다 이를통해 임베딩에서 협업 시그널 캡처의 중요성을 알 수 있습니다
  • 70. 70 유저 선호도 추론을 위해 NGCF는 Multi-grained 표현을 고려하는 반면 PinSage는 마지막 레이어의 아웃풋만 사용합니다. 이를통해 서로 다른 전파 레이어가 표현에서 서로 다른 정보를 인코딩한다는 것을 알 수 있습니다. 논문에서 제안한 NGCF 모델 성능이 가장 좋습니다
  • 71. 71 두번째 실험을 통해 NGCF에서 중요한 역할을 하는 Embedding Propagation Layer가 성능에 미치는 영향을 알아봅시다
  • 72. 72 Embedding Propagation Layer의 갯수에 따른 성능결과 입니다. NGCF에서 임베딩 전파 레이어 깊이를 늘리면 recall과 ndcg가 크게 향상 됩니다. 즉, 추천이 잘 된다는 것을 알 수 있습니다. high-order connectivity 모델링이 우수함을 알 수 있습니다.
  • 73. 73 세번째 실험을 통해 오버피팅 방지 역할을 하는 두 가지 
 Dropout의 효과를 살펴봅시다
  • 74. 74 Node Dropout & Message Dropout을 사용했습니다 특정 유저(아이템)에서 보내는 모든 메시지, 즉 노드 자체를 삭제하면 특정 에지와 노드 모두 영향을 주게 됩니다. Node Dropout의 성능이 더 좋습니다. 이를 통해 Node Dropout이 GNN 오버피팅을 해결하는 효과적인 전략임을 알 수 있습니다.
  • 75. 75 네번째 실험을 통해 Epoch의 recall에 대한 테스트 성능을 알아봅시다
  • 76. 76 연결된 유저-아이템은 미니배치에서 상호작용 쌍을 최적화하기 때문입니다 NGCF가 MF보다 빠르게 수렴하는 것을 알 수 있습니다. NGCF의 모델 용량이 좋고 임베딩 공간에서 임베딩 전파를 수행하는 효과를 보여줍니다
  • 77. 77 마지막 실험을 통해 Embedding Propagation Layer의 깊이가 임베딩 공간에서 표현 학습에 어떤 영향을 주는지 알아봅시다
  • 78. 78 유저-아이템 연결성은 임베딩 공간에서 서로 가까운 부분에 임베드 됩니다. 유저 아이템 이를 통해 동일한 유저가 소비한 아이템 (같은 색상)을 가진 포인트가 클러스터링을 형성하는 경향을 알 수 있습니다. NGCF 레이어가 깊을 수록 과거 아이템의 임베딩이 더 가까운 경향을 보입니다. Embedding Propagation Layer가 협업 시그널을 표현에 주입할 수 있음을 보여줍니다.
  • 79. 결론입니다 79 논문은 Embedding Propagation Layer에서 Message Construction과 Aggregation 과정을 통해 High-order connectivity 그래프를 만든 후, 아웃풋을 하나의 벡터로 표현하여 유저-아이템 선호도를 추정할 수 있는 방안을 제안하였습니다. 이를 통해