AI - NLP/Articles

A Survey of Recommender Systems Based on Deep Learning (2018)

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하기 위해 활용


B. Scalability of Deep Learning based Recommender System

C. Scalability of Deep Learning based Recommender System


- 딥러닝의 특성상 추천 결과에 대한 직접적인 합리적 설명을 제공하기 어려움

- 한 가지 방법은 추천 방식을 이해하고 유저들에게 적절한 추천 이유를 알려주는 것


D. Attention Mechanism Based Recommender System


- 어텐션을 활용하면 추천 시스템에서 아이템의 가장 정보 집약적인 특징을 찾아낼 수 있다

- 추천 시스템은 가장 대표적인 아이템을 추천하고, 추천 결과에 대한 해석 가능성을 향상시킨다 

- 참고 자료 105-111, 2016~2017년 논문들


E. Deep Composite Models based Recommender System