딥 러닝을 사용한 추천 시스템 모델
Recommender System with DL
Why DL?
- Nonlinear Transform으로 비선형성을 효과적으로 나타냄
- Representation Learning으로 feature design이 필요 없음 (Text, Image, Audio 등을 사용할 수 있음)
- Sequence Modeling에 유용
- Flexibility가 높고 효율적
Recommender System with MLP
현업에서 사용 되는 모델이라기보다는, 의미가 있는 모델을 소개
MLP
- 퍼셉트론으로 이루어진 Layer를 이어 놓은 feed-forward neural network
Neural Collaboratie Filtering
- MF의 한계를 지적하며 신경망 구조를 사용해 일반화된 모델 제시
아이디어

- user와 item의 선형 조합은 복잡한 관계를 표현할 수 없음
- 차원을 늘리면 해결되지만, overfitting problem
모델


- MLP 임베딩, MF 임베딩 레이어를 모두 한 후, 각각 레이어를 통과시켜 concat한 레이어를 예측에 사용
- MLP를 추천 시스템에 처음 적용한 것에서 의의가 있음
Deep Neural Networks for YouTube Recommendations
유튜브 추천 문제
- Scale (유저와 아이템이 많은 것에 비해, 제한된 컴퓨팅 파워)
- Freshness (잘 학습된 컨텐츠와 새로 업로드 된 컨텐츠를 실시간으로 적절히 조합해야 함)
- Noise (높은 Sparsity, 다양한 외부 요인으로 행동을 예측해야 함)
구조

- 후보자를 제안하는 Candidate Generation
- 후보자 중에서 Ranking을 생성해 최종 추천 리스트 제공
Candidate Generation

- multiclass classification
- 과거 시청 이력과 검색 이력을 각각 Input으로 사용
- 임베딩 후 평균
- 성별, 지리적 정보를 피쳐로 포함
- 모델이 과거 데이터 위주로 편향될 수 있기에, 시청 로그가 학습 시점으로부터 경과한 정도를 피쳐로 포함
- 하나로 Concat후 dense layer를 거쳐 user vector 생성
- ANN 라이브러리를 사용하여 Top N 개의 아이템 벡터를 서빙
Ranking

- Logistic 회귀를 사용하는 기본적인 방법
- 다양한 Feature를 풍부하게사용
- User action feature와 Item feature를 사용
- 도메인 전문가의 역량이 좌우하는 파트
- weighted cross-entropy로 비디오 시청 시간으로 가중치를 줌
요약
Recommender System with AE
Autoencoder, AE
- 입력 데이터를 출력으로 복원하는 비지도 학습 모델
Denoising Autoencoder, DAE
- Input에 gaussian noise 등을 넣어 더 Robust한 모델을 생성
AutoRec
- 기존의 Autoencoder를 CF에 적용하여 Representation을 개선하고 Complexity를 경감함
아이디어

Rating Vector를 입력, 출력으로 하여 Encoder, Decoder Reconstruction 과정을 수행
모델

- 관측된 데이터에서만 역전파 및 파라미터 업데이트 수행
요약
- Hidden unit이 높아질수록 RMSE가 감소함을 보임
- 본 논문 이후, 고급 AE 기법을 CF에 활용한 후속 연구가 나옴
Collaborative Denoising Auto-Encoders for Top-N Recommender System
- 평점 예측이 아닌 Top-N 추천을 제공
- 문제 단순화를 위해, 상호작용을 이진 정보로 바꿔 학습 데이터로 사용
- rating이 아닌 preference
모델

- AutoRec과 다르게 DAE를 사용하여 Noise 추가
- 유저 별 Vu를 학습
결과
- Top-N 추천 모델에 비해 더 높은 MAP과 Recall