A Survey of Recommender Systems
Based on Deep Learning (2018)
1. Abstract
- 딥러닝은 non-linear, non-trivial 유저-아이템 관계를 포착할 수 있다.
I. Introduction
- 추천 시스템은 유저의 선호를 바탕으로 비슷한 선호의 아이템만 추천하는 데 그치지 않는다.
- 유저의 선호와 상관없이 유저가 흥미를 가질만한 unknown items들도 추천할 수 있어야 한다.
- 유저의 미래 requirements를 효과적으로 찾아낼 수 있어야 한다.
- 세 가지 카테고리가 있다 1) content-based 2) collaborative 3) hybrid
- 점점 개인 정보 이슈가 커지면서 content-based 추천 방법을 위해 유저 정보를 수집하는 것이 어려워지고 있음
- 협업 필터링 방법은 rating 행렬이 sparse할 때 추천 정확도가 명확히 떨어지는 한계가 있다.
- 더욱 중요한 점은 유저의 평가 점수를 받지 못한 새로운 아이템에 대한 추천을 생성할 수 없다는 것
II. Terminologies and Background Concepts
A. Recommender System
1) Content-based
- 아이템의 콘텐츠를 활용하여 아이템 간의 유사도를 찾아낸다
- TF-IDF와 같이 아이템을 표현하는 키워드 벡터들을 활용, 책을 고차원 벡터로 표현한다.
- 군집화 알고리즘 등을 활용하여 독자의 관심을 나타내는 벡터들의 중심을 찾아낼 수 있다.
2) Collborative Filtering
- CF는 유저들의 아이템 평가 점수만을 이용한다
- 이 방식은 비슷한 선호를 가진 유저들이 같은 아이템에 비슷한 점수를 주었을 것이라는 가정을 바탕에 두고 있음
- CF는 두 가지 방식이 있다 1) Memory Based 2) Model Based
3) Hybrid
- 1) Monolithic 2) Parallel 3) Pipeline
- Parallel은 각각의 모델이 독립적으로 추천 리스트를 생성한 후, 출력 데이터에서 마지막 추천 셋으로 합친다
- Pipeline은 여러 개의 추천 시스템을 파이프라인 구조로 연결하여 이전 시스템의 출력이 다음 시스템의 입력이 된다
- 시스템의 후단에서 출력 데이터를 생성할 때에도 원본 데이터의 일부를 활용한다 (residual connection 같이)
- 하이브리드 모델은 다양한 모델들의 단점을 보완하고 장점을 레버리지하여 전체적으로 robust한 성능을 발휘
B. Deep Learning Technology
1) Auto Encoder
- Autoencoder(AE)는 비지도 학습의 한 방법으로 출력단에서 입력을 복원하는 방식이다
- 가운데 은닉층의 뉴런 개수는 입력층과 출력층의 개수보다 적다
- 목적은 출력 데이터를 입력 데이터와 최대한 비슷하게 복원하는 것이고, 유사도는 reconstruction error로 표현된다
- 추천 시스템에서 1) 은닉층 병목에서 저차원 피처 표현을 학습시킴 2) 출력층의 interaction matrix에서 빈공간을 채우는 방식으로 AE를 활용할 수 있다
2) Restricted Boltzmnn Machin (RBM)
- RBM은 두 층으로 이루어진 신경망으로 가시층, 은닉층으로 이루어짐
- 가장 초기의 인공신경망의 형태 중 하나
- Restricted의 뜻은 가시층과 은닉층의 층간 커뮤니케이션이 없다는 뜻
- 두 층은 fully connected, 그리고 같은 층의 노드들은 연결되어 있지 않다
- maximum likelihood estimation을 이용하여 최적화 목표를 수행한다
- 단층 RBM 모델들을 직렬로 연결하여 깊은 구조를 생성할 수 있다.
3) RNN(LSTM, GRU, NTM, DNC)
4) CNN
5) DBN (Deep Belief Network)
- 제프리 힌튼이 제시한 생성 모델
- DBN은 RBM 요소들로 이루어져 있다.
- 음악 추천, 이미지 인식, 음성 인식 등의 feature representation을 추출할 때 주로 사용된다
III. Deep Learning-based Recommender System
- 두 개의 큰 카테고리 1) integration model 2) neural network model
- 전자는 딥러닝을 이용하여 전통적인 추천 시스템 결과를 취합, 후자는 딥러닝만을 활용
D. Combination of DL and SNS based 추천 시스템
- 전통적인 추천 시스템은 유저간의 사회적 관계를 고려하지 못한다
- 소셜 네트워크에서는 모든 아이템은 location attributes가 있고, 유저 행동은 시공간 상에서 연속적 패턴을 가진다
- 최근 이 분야에 대한 관심이 증가하고 있지만, 아직 많은 내재적 한계와 단점이 있다
B. Context-aware 추천 시스템 based on Deep Learning (CARS)
- contextual information을 추천 시스템에 병합한 CARS는 추천 시스템에서 가장 핫한 주제가 되었다
- 유저 행동을 모델링할 때 다양한 sequential 정보가 유용하다
- Markov assumption이 광범위하게 쓰이고 있지만, 독립적으로 다양한 최근 방식이 결합되고 있다
- CA-RNN은 적응형 context-specific 입력 행렬과 context-specific 변환 행렬을 사용한다
IV. Possible Research Directions
A. Cross-domain Recommender System based on Deep Learning
- 다양한 형태의 데이터 입력을 단일화된 임베딩 표현으로 생성
- 다양한 플랫폼에서 다른 형태의 이종 데이터를 deep-level prediction하기 위해 활용
- 딥러닝의 특성상 추천 결과에 대한 직접적인 합리적 설명을 제공하기 어려움
- 한 가지 방법은 추천 방식을 이해하고 유저들에게 적절한 추천 이유를 알려주는 것
- 어텐션을 활용하면 추천 시스템에서 아이템의 가장 정보 집약적인 특징을 찾아낼 수 있다
- 추천 시스템은 가장 대표적인 아이템을 추천하고, 추천 결과에 대한 해석 가능성을 향상시킨다
- 참고 자료 105-111, 2016~2017년 논문들
E. Deep Composite Models based Recommender System
'AI - NLP > Articles' 카테고리의 다른 글
BERT4Rec: Sequential Recommendation with BERT (2019) (0) | 2021.02.26 |
---|---|
Deep Learning Based Recommendation: A Survey (2017) (0) | 2021.02.22 |
Overview of the TREC 2020 Deep Leaning Track (2021) (0) | 2021.02.17 |
Switch Transformers: Scaling to trillion parameter models with simple and efficient sparcity (2021) (0) | 2021.02.16 |
Scaling Laws for Neural Language Models (2020) (0) | 2021.02.05 |