일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- git commit
- boostcamp #aI tech #주간리뷰
- 15596
- GitHub 설치
- regExr
- 백준
- local repository 생성
- 1330
- Restore
- python
- 두수비교하기
- git push
- 파이썬
- github
- 1
- Baekjoon
- commit
- 정규식
- 수정사항업데이트
- git config global
- Push
- ADD
- STAGE
- amend
- 함수
- Reset
- git
- remote repository 생성
- Today
- Total
Très bien
(Paper Review) Neural Collaborative Filtering 본문
1. Overview
본 논문은 2017년 International World Wide Web Conference Committee (IW3C2)에 개제된 논문으로서 Collaborative FIltering(협업필터링)에 Neural Network을 적용한 Neual Collaborative Filtering(NCF) 에 대한 연구입니다. 기존의 Matrix Factorization(MF)는 저차원의 선형 공간에서 사용자-아이템 간 상호작용(interaction)을 표현하기 때문에 새로운 아이템이 등장했을 때 추가적인 관계를 모델링하고 표현하기에 한계가 있다는 단점이 있습니다. 이와 같은 linearity 특성을 하기 위해 MLP 구조를 적용하여 user-item interaction의 비선형적 관계 특성을 모델링할 수 있는 프레임을 제안했습니다.
2. NCF Framework
2.1. MLP Part
▶ Input Layer (sparse)
user(u), Item(i)에 대한 one-hot encoding vectors, v_u, v_i 가 입력됩니다.
▶ Embedding Layer
user 또는 item의 One-hot encoding vector(sparse)를 dense vector 로 맵핑합니다. 맵핑을 위해 별도의 fully connected neural network layer를 사용하여 학습된 가중치 행렬 P 와 행렬 Q를 사용합니다. 학습된 P 행렬 (Q 행렬)은 m 차원 (n 차원)의 user sparse vector(item sparse vector)를 k 차원의 densce vector 로 맵핑해줍니다. P 또는 Q 맵핑된 Embedding Layer의 출력 벡터는 각각 User latent vector, Item latent vector로 사용됩니다.
▶ Neural CF Layer
User embedding vector와 Item embedding vector를 concatenation하여 MLP 레이어의 입력값으로 사용합니다. 입력된 vector는 Multilayer perceptron(MLP)를 통과하며 학습합니다.
▶ Output Layer
MLP 모듈의 출력값(예측치)이 실제 출력값(label)과 얼마나 유사한지를 확인하며 업데이트 합니다. Output Layer의 activation 함수는 Logistic 또는 Probit 함수를 사용하여 [0~1] 사이의 값을 출력합니다.
2.2. Neural Matrix Factorization Model (MLP + GMP 통합)
GMP는 MF의 일반화된 모델입니다. 본 논문에서는 GMF와 MLP 각각의 장점을 수용하고 단점을 보완할 수 있도록 두 모델을 앙상블하여 최종 Neraul Matrix Factorization 모델을 구성합니다. 통합 모델에서 GMP와 MLP는 서로 다른 embedding layer를 사용하는 것이 NCF의 특징입니다. 서로 다른 임베딩을 사용한다는 거은 두 embedding vectors 의 차원이 다를 수도 있음을 의미합니다. GMP는 각각의 embedding vector를 element-wise product하여 입력 vector로 적용하고, MLP는 각각의 embedding vector를 concatenation하여 적용합니다. 각 레이어의 최종 결과 역시 concatenation 하여 Neural MF Layer에 입력하여 MF의 linearity와 MLP의 non-linearity가 결합된 최종 결과값을 출력하게 됩니다.
3. Think and Conclusion
RecSys with Deep Neural Network
머신러닝으로 구현했던 추천 기법들에 Deep Learning이 적용되기 시작했습니다. 예를 들어, 협업필터링(Collaborative filtering)의 User-Item interaction을 학습하기 위해 NN 프레임을 적용할 수 있습니다. 비슷한 성향의 사용자 혹은 아이템으로부터 학습된 네트웍의 임베딩 벡터는 벡터 공간 상에서 가까운 거리에 위치합니다. 이와 유사하게, DL 기반의 협업 필터링 기법은 신경망 프레임을 기반으로 사용자와 아이템 간 상호작용에 기반하여 사용자와 아이템 임베딩(잠재 특성 벡터, latent feature vectors)를 학습할 수 있습니다.
DL for CF 예시 : NN를 적용하여 사용자임베딩과 아이템 임베딩을 학습하고 User context와 Item embedding을 기반으로 similarity가 가장 높은 item을 ranking하여 제시합니다. (출처: NVIDIA Developer Technical Blog, How to Build a Winning Recommendataion System, by Carol McDonald  )
이처럼 추천 시스템에 딥러닝 프레임을 적용하면 다음과 같은 장점이 있습니다.
- Nonlinearity : 복잡한 User-item interaction을 non-linear model로 표현하고 학습할 수 있습니다.
- Feature learning : NN 프레임을 적용하면 feature를 직접 디자인하지 않아도 학습 모델을 설계하고 적용할 수 있기 때문에, 텍스트, 이미지, 오디오 등 다양한 종류의 item 특성을 추천 시스템의 feature로 활용하여 모델링할 수 있습니다.
- DL 개발 프레임웍 활용 : Tensorflow, PyTorch 등 다양한 DL 프레임웍을 추천시스템 개발에 활용할 수 있습니다.
4. References
- [1] Neural Collaborative Filtering | Proceedings of the 26th International Conference on World Wide Web (acm.org)
- [2]boostcamp AI Tech, RecSys Lecture Notes by 이준원
- [3] NVIDIA Developer Technical Blog, How to Build a Winning Recommendataion System, by Carol McDonald Gabriel Moreira https://developer.nvidia.com/blog/how-to-build-a-winning-recommendation-system-part-1/[논문 리뷰] Neural Collaborative Filtering - paper review (leehyejin91.github.io)
- [논문 리뷰] Neural Collaborative Filtering - paper review (leehyejin91.github.io)
'Study > RecSys' 카테고리의 다른 글
(Paper Review) Deep Neural Networks for YouTube Recommendations (0) | 2022.03.19 |
---|---|
Recommender System (추천시스템) (0) | 2022.03.19 |
Collaborative Filtering (협업 필터링) (0) | 2022.03.19 |
Content based filtering (0) | 2022.03.18 |
Movie Recommendation - Netflix Prize (0) | 2022.02.08 |