RS6 - RecSys with DL(1)
왜 Deeplearning?
1) Nonlinear Transformation 2) Representation Learning 3) Sequence Modeling 4) Flexibility
RecSys with MLP
MLP
퍼셉트론으로 이루어진 layer 여러개를 순차적으로 이어놓은 feed-forward NN
Neural Collaborative Filtering
- MF의 한계
-
user와 item 사이의 복잡한 관계를 표현하는 것에 한계를 가짐(선형조합을 구하기 때문에)
- 모델
MLP 모델
input : onehot encoding vector
embedding : user latent vector
output : user와 아이템의 관련도 (activation : logistic or probit func)
GMF와 MLP를 앙상블하여 사용
서로 다른 embedding layer를 사용
결과 : movielens, pinterest 데이터셋에 대해 ncf의 추천 성능이 기존 mf나 mlp 모델보다 높음
Youtube Recommendation
- Scale
- Freshness : 새로 업로드된 컨텐츠도 exploration 하여 추천
- Noise : implicit feedback, 낮은 품질의 메타데이터 잘 활용
모델
Candidate Generation
- extreme multiclass classification
- Features
1) watch vector & search vector 를 통한 예측 수행
2) Example Age
3) Demographic, Geographic feature : 인구통계학 정보, 지리적 정보 포함
-
모델 다양한 피쳐 벡터 concatenate -> n개의 layer 거쳐 user vector 생성 -> 최종 output layer는 비디오를 분류하는 softmax function
-
Serving 유저 input으로 하여 상위 N개 비디오 추출
Annoy, Faiss 같은 ANN 라이브러리 사용하여 빠르게 서빙
Ranking
- 모델 : user actions feature 사용
-> DL 구조 보다 도메인 전문가 역량이 더 중요
네트워크 통과한 뒤 비디오가 실제로 시청될 확률로 매핑
- Loss function : weighted cross-entropy loss 사용 비디오 시청 시간으로 가중치 / 낚시, 광고성 컨텐츠 업로드 하는 어뷰징은 감소
요약
- 딥러닝 기반 2단계 추천 처음 제안
- 다양한 피쳐를 사용해 기존 cf를 사용, 기능 향상
- 과거의 선형/트리 기반 모델보다 딥러닝 모델이 더 뛰어남을 보여줌
Recommender System with AE
Autoencoder (AE)
- 입력 데이터를 출력으로 복원(reconstruct)하는 비지도(unsupervised) 학습 모델
적용분야 : Anomaly detection, image denoising task
Denoising Autoencoder (DAE)
AutoRec
(Autoencoders meet Collaborative filtering)
Rating vector를 입력, 출력으로 하여 encoder, decoder reconstruction
MF 보다 복잡한 interaction 표현 가능
- 모델
아이템과 유저 중, 한번에 하나에 대한 임베딩 만을 진행
- 학습 기존의 rating 과 생성된 rating의 RMSE를 최소화 하는 방향으로 학습
- 결과 RBM, MF 모델보다 좋은 성능 (ML, netflix 데이터셋 사용)
CDAE
collaborative denoising auto encoders for top-N Recsys
유저-아이템 상호정보를 rating이 아닌 binary로 preference만 확인하도록 간소화
- 모델 DAE 사용하여 noise 추가
개별 유저에 대해서 $V_u$ 학습 (인코더)
인코더로 latent representation $z_u$ 를 생성하고 디코더로 regenerate
- 결과 대체적으로 N에 관계없이 다른 top-N 추천 모델에 비해 더 높은 MAP, recall을 보임
댓글남기기