728x90
반응형
01. Recommendation System with DL
- Nonlinear Transformation : 데이터 내 비선형 패턴을 효과적으로 나타낼 수 있음 → 복잡한 유저-아이템 상호작용 패턴을 효과적으로 모델링 가능
- Representation Learning : DNN은 raw data로부터 알아서 feature representation을 학습
- Sequence Modeling: 시계열 데이터 처리에서 효과적으로 적용 예: next-item prediction, seesion-based recommendation
- Flexibility: 다양한 프레임워크가 존재해서 모델링 flexibility가 높고 효율적인 서빙이 가능함
02. 다층 퍼셉트론(Multi-layer Perceptron, MLP)란?
- 퍼셉트론으로 이루어진 layer 여러 개를 순차적으로 이어 놓은 feed-forward neural network
03. NCF (Neural Collaborative Filtering)
아이디어 배경
- MF(Matrix Factorization)는 $rating = user_{vec}^T × item_{vec}$ 로 선형조합임
- 따라서 user와 item 간에 복잡한 비선형적인 관계를 표현하기 어려움
모델 구조
MLP Part
- Input Layer: 유저 정보와 아이템 정보가 one-hot encodding 형태로 들어옴
- Embedding Vector: 유저 정보와 아이템 정보를 latent vector로 embedding (one-hot encodding : sparse data → latent embedding vector : dense data)
- Neural CF Layer
Total Part
- MF를 일반화한 모델인 GMF와 MLP Part를 앙상블 (ensemble)
- GMF와 MLP가 서로 다른 임베딩 레이어를 사용
- 각각의 장점을 살리고 단점 보완 가능
- Output Layer: 각 두 파트의 output을 conat하여 sigmoid를 통해 user와 item 사이의 관련도 0과 1사이의 값으로 예측
성능 및 실험 결과
- NCF 추천 성능이 기존 MF(BPR)나 MLP모델보다 높음
04. DNN for Youtube Recommendation
아이디어 배경
- Scale: 엄청 많은 유저와 아이템에 따라 효율적인 서빙 및 특화 알고리즘 필요
- Freshness: 잘 학습된 컨텐츠와 새로 올라온 컨텐츠를 적절히 조합하여 추천해야 함
- Noise: 높은 Sparsity, 다양한 외부 요인으로 유저 행동 예측이 어려움 → Implicit Feedback, 낮은 품질의 메타데이터를 잘 활용해야 함
모델 구조
Candidate Generation — extreme multiclass classification
주어진 사용자에 대해서 수백 개의 TopN 추천 아이템 생성
- 다양한 피처 벡터들을 한 번에 Concat
- user — Embedded & Averaged Watch Vector
- user — Embedded & Averaged Search Vector
- user — Embedded Demographic & Geographic Vector
- item— Example Age: 과거 데이터 덜 학습 + 최근 데이터 더 학습
- n개의 Dense Layer을 거쳐서 User Vector $u$ 생성
- Output : 비디오 분류 Softmat Function 수행 및 비디오 벡터 $v_j$ 생성
- Serving
- User Vector u를 사용하여 상위 N개 비디오 추출
- 유저 벡터와 및 모든 비디오 벡터와 내적 계산
- ANN 라이브러리를 사용하여 빠르게 서빙
Ranking — Logistic Regression
앞선 CG 단계에서 생성한 수백 개의 TopN 아이템 후보에 대해 score (실제로 시청될 확률)를 계산하고 추천 리스트 제공
- 입력 데이터로 user action feature 사용
- 유저가 특정 채널에서 얼마나 많은 영상을 봤는지
- 유저가 특정 토픽의 동영상을 본 지 얼마나 지났는지
- 영상의 과거 시청 여부 등을 입력
- DL 구조보다는 도메인 전문가의 피처 선정 및 반영 여부 역량이 중요함
- Logistic Regression으로 실제로 시청될 확률을 계산
- CTR 예측: $P(watch) \in [0,1]$
- 이를 토대로 최종 추천 아이템 10~20개 제공
- Weighted Cross-entropy loss
- 클릭 이후 시청 시간을 가중치로 한 값을 반영
- abusing(낚시성 및 광고성 콘텐츠 ) 감소
성능 및 실험 결과
- 딥러닝 기반 2단계 추천을 처음으로 서빙까지 제안하였음
- CG Part : 기존 CF 아이디어를 기반으로 다양한 피처를 사용해 추천 성능 향상
- Ranking Part : CG보다 더 많은 feature 사용하여 ranking함으로써 기존 선형/트리 기반 모델보다 더 뛰어난 성능을 보여줌
728x90
반응형