더 이상 tistory 블로그를 운영하지 않습니다. glanceyes.github.io에서 새롭게 시작합니다.

새소식

AI/추천 시스템

딥 러닝(Deep Learning) 기반의 추천 시스템

  • -

 

 

딥 러닝 기반의 추천 시스템

 

딥 러닝 기반 추천 시스템의 장점

 

최근 딥 러닝 기반 추천 시스템이 학계와 산업계에서 각광을 받는 있는 이유는 다음과 같다.

 

  1. 사용이 편리한 end-to-end architecture를 활용하고 있다. 여기서 end-to-end architecture는 기존의 딥러닝을 사용하지 않는 추천 시스템 방법론에서 task의 성공을 위해 도메인 별로 각자 정의된 다양한 handicrafted feature engineering을 활용하는 것과는 달리 이를 적용하지 않는 모델 설계를 의미한다.
  2. Input data type에 알맞은 inductive bias를 제공할 수 있다. 예를 들어, 이미지에는 CNN을, 순차 데이터에는 RNN을 사용하는 것처럼 상황에 따라 알맞은 모델을 활용할 수 있다.
  3. 복잡한 비선형 상호작용을 포착할 수 있는 능력이 있다.

 

 

다양한 딥 러닝 기반의 추천 시스템

 

Neural CF

스크린샷 2022-03-13 오후 7.46.18

[출처] https://arxiv.org/pdf/1708.05031.pdf, Neural Collaborative Filtering

 

딥 러닝 기반의 추천 시스템으로는 대표적으로 Neural CF가 있다.

요약하면, 사용자의 latent factor와 아이템의 latent factor 간의 관계를 학습하고 표현하는 데 있어서 nueral network인 MLP를 사용하는 방법이다.

사용자와 아이템 벡터를 입력으로 받아서 embedding layer로 임베딩 벡터로 변환한 후, 이를 concatenate하여 합쳐서 MLP의 입력으로 넣는다.

이후 MLP를 통과시킨 결과를 output layer에 통과시켜서 예측 score를 구하는 것이다.

 

딥 러닝을 추천 시스템에 적용하는 것은 임의의 함수 $f$를 deep neural architecture로 대체하는 것으로 볼 수도 있다.

 

 

Wide & Deep Learning

Image 2022-03-19 오후 8.45.39

[출처] https://dl.acm.org/doi/pdf/10.1145/2988450.2988454, Wide & Deep Learning for Recommender Systems

 

구글 플레이스토어 앱 추천에 적용된 방법론이다.

Logistic Regression으로 이루어진 Wide 파트와 DNN으로 이루어진 deep 파트를 결합한 모델이다.

Wide 파트의 장점인 Memorization과 Deep 파트의 장점인 Generalization를 결합하여 성능을 높인 사례이다.

 

 

Collaborative Mertic Learning

Image 2022-03-27 오후 2.16.44

[출처] https://vision.cornell.edu/se3/wp-content/uploads/2017/03/WWW-fp0554-hsiehA.pdf, Collaborative Metric Learning

 

기존의 compatibility function을 내적(inner product)에서 Euclidean distance로 대체한 방법이다.

사용자와 그 사용자가 선호하는 아이템 사이의 거리는 최대한 가깝게 만들고, 반대로 사용자가 선호하지 않는 아이템의 경우에는 최대한 멀게 만드는 직관을 적용한 것이다.

 

 

CNN(Convolution Neural Network)을 사용한 Content-based 추천

 

Image 2022-03-27 오후 2.18.56

[출처] https://proceedings.neurips.cc/paper/2013/file/b3ba8f1bee1238a2f37603d90b58898d-Paper.pdf, Deep content-based music recommendation

 

Deep Content-based Music Recommendation이 대표적인 사례이다.

이 방법론에서는 오디오 시그널을 입력으로 받은 후, 이를 CNN으로 분석한 뒤에 MF를 활용하여 음악 추천에 활용할 수 있다.

이는 MF와 CNN의 성공적인 응용 사례로 볼 수 있으며, 단순 이력에 기반한 CF에 비해 더욱 다양한 추천 결과를 얻을 수 있다.

또한 실제로 오디오 시그널만 분석을 하더라도 카테고리 레이블이 주어지지 않고도 공간 상에서 비슷한 장르의 음악끼리 군집으로 생성되도록 할 수 있다.

 

 

Self-Attentive Sequential Recommendation

 

Transformer 구조를 활용하여 sequential 속성를 고려함으로써 다음에 무엇을 추천할지를 구할 수 있는 방법론이다.

사용자의 ID 없이 session 내의 순차적인 browsing history 만으로도 추천이 가능하다.

 

 

 

딥 러닝 기반 추천 시스템의 잠재적 한계

 

딥 러닝을 적용하면 여러 장점을 취할 수 있음에도 불구하고 다음과 같은 잠재적 한계가 존재한다.

 

  • Interpretability(해석력): 딥 러닝의 표현이 사실 어떠한 의미인지 직관적으로는 이해하기 어렵다.
  • Data Requirement: 딥 러닝을 추천 시스템에 적용하여 좋은 성능을 얻기까지는 꽤 많은 데이터를 필요로 한다.
  • Extensive Hyperparameter Tuning: 기존의 shallow한 방법론에 비해 딥 러닝은 상대적으로 많은 학습 파라미터를 필요로 한다.

 

잘 알려진 Top-K Recommendation Task에서 18개의 딥 러닝 알고리즘 중 7개만이 합리적으로 재현 가능하며, 이들 중 6개는 이웃 기반 또는 그래프 기반의 비교적 간단한 Heuristic 방법에 비해 성능이 좋지 않은 것을 밝혀졌다.

Compatibility 함수를 고려할 때, MLP보다 단순한 inner product 기반 방법이 나올 수도 있다.

또한 전통적인 방법을 잘 튜닝하는 Carefully-tuned implicit ALS 방법은 최신 딥러닝 기반의 방법론과 비교해도 경쟁력이 있다는 주장도 존재한다.

 

 

추천 시스템에서 딥 러닝의 사용이 크게 두드러지지 않는 이유

 

  1. 추천 시스템의 데이터는 NLP와 CV에서 사용하는 데이터에 비해 보편적이지 않다. 예를 들어, 아마존에서 사용하는 상품 카탈로그와 넷플릭스에서 사용하는 영화 또는 드리마의 카탈로그는 공통점이 없을 수 있다. 그래서 대규모의 데이터를 활용하는 다른 분야에 비해 추천 시스템에서는 이것이 큰 효과를 보이지 못한다.
  2. 다른 분야에 비해 추천 시스템에서는 ImageNet, CIFAR10, GLUE와 같은 standard evaluation data가 부족하다. 그래서 Task의 목적에 따라 서로 다른 평가 방식을 사용하거나 데이터를 나누는 방식이 조금씩 다른 경우가 있다.
  3. 추천 시스템에서 사용자의 선호도나 아이템의 속성은 일시적일 수 있으며, 시간에 따라 변할 수 있다.

 

 

출처
1. 네이버 커넥트재단 부스트캠프 AI Tech RecSys Track

 

Contents

글 주소를 복사했습니다

부족한 글 끝까지 읽어주셔서 감사합니다.
보충할 내용이 있으면 언제든지 댓글 남겨주세요.