HANA : Have A Nice AI

모두를 위한, 하나를 위한 AI

발전중인 AI/추천(Recommendation)

[논문요약] 딥러닝 관련 추천 모델 - Survey(2019)

KM-Hana 2022. 2. 15. 01:08

*크롬으로 보시는 걸 추천드립니다*

 

https://arxiv.org/pdf/1707.07435.pdf

딥러닝을 적용한 추천 모델들을 전반적으로 소개하는 논문입니다.

본 논문은 개인적으로 다음과 같은 

   1. 딥러닝을 적용한 추천 모델들의 맥락을 잡아주는 논문

   2. 2019년 이후부터 현재까지 얼마나 딥러닝을 적용한 추천 모델이 발전했는지 보는 재미가 있는 논문 

의미가 있었습니다.

 


추천 시스템에서의 딥러닝 모델

  • 추천 시스템이란?

https://kmhana.tistory.com/30?category=882777 

 

추천 시스템(Recommendation System) 시작

*크롬으로 보시는 걸 추천드립니다* 사람들이 "AI(인공지능)"하면 떠오르는 것이 무엇이 있을까요 얼굴인식이나 파파고와 같은 기계 번역기, 알파고 같은 게 있을 겁니다 하지만, "AI(인공지능)"이

kmhana.tistory.com

      - 추천 시스템은 증가하는 온라인 정보의 양을 극복하기 위해 매우 효과적인 전략

            ○ 수많은 선택지(제품, 영화 등) 중에서 개인화를 통해, 사용자의 경험을 효율적으로 촉진하는 전략

            ○ User preference, Item feature, User-Item 상호작용(Interaction), 시간 및 공간적인 추가 정보를 활용하여 추천

      - 추천 시스템의 카테고리 

            ○ 협업 필터링 : 사용자의 이전 Rating 및 검색기록을 활용하여, User-Item historical Interaction을 통해 추천

https://kmhana.tistory.com/31?category=882777 

 

추천 시스템 기본 - 협업 필터링(Collaborative Filtering) - ①

*크롬으로 보시는 걸 추천드립니다* 우리 일상생활에 녹아있는 "인공지능(AI)"에는 추천 시스템이 있다는 것을 소개해 드렸습니다 https://kmhana.tistory.com/30 Have A Nice AI kmhana.tistory.com 이제 부터는..

kmhana.tistory.com

            ○ 콘텐츠 기반 추천 시스템 : Item이나 사용자의 보조적인 정보(텍스트, 영상, 이미지, 계정 정보 등) 비교를 기반으로 추천

            ○ 하이브리드 추천 시스템 : 위의 두 가지 이상의 추천 전략을 결합

  • 딥러닝과 추천 시스템

      - 추천 시스템 및 정보 검색에서 딥러닝을 적용할 때, 뛰어난 효과가 입증됨

      - 딥러닝을 활용 시, 추천의 품질이 향상됨

      - 콘텐츠, 텍스트 및 이미지 정보를 같이 활용할 수 있음

      - 데이터 자체 내에서의 복잡한 패턴 및 관계를 포착

 

  • 딥러닝이 적용된 추천 시스템의 주요 Milestone

      - 2016년 : Youtube에서 동영상 추천을 위한 딥러닝 알고리즘 소개

      - 2016년 : Google에서 Wide&Deep Learning 모델 소개

      - 2017년 : Yahoo News에서 RNN기반 추천 시스템 소개

 

  • 본 Survey 의의

      1. 딥러닝 기반의 추천 시스템에 대한 포괄적인 검토

            ○ 최신 기술에 대한 개요 및 요약 제공

      2. 딥러닝 기반의 추천 시스템의 분류 체계 제공

            ○ 약 100개 이상의 연구를 선정하여, 분류체계를 만듦

      3. 딥러닝 기반 추천 시스템의 비전 공유

            ○ 도전과제 및 미래 뱡향성과 트렌드를 파악

 


 

추천 시스템에서의 딥러닝 분류체계

  • 추천 시스템에서의 딥러닝 모델 필요성 

      1. End-to-End 학습

            ○ Contents-based recommendation에서 리뷰나 이미지 데이터를 처리하는 것은 필수적임

            ○ 딥러닝 모델은 이미지 및 텍스트 데이터를 별도의 전처리 비용 없이, End-to-End 학습

      2. Inductive Biases( ≒ Generalization)

            ○ 딥러닝 모델은 Sequential 한 데이터나 Click-Log 데이터에 적합

      3. 큰 데이터 및 복잡한 문제를 해결 가능

            ○ Collaborative Ranking이나 Matrix Completion 문제를 처리해야 하는 경우, 엄청난 양 및 복잡한 학습 데이터가 필요

            ○ 딥러닝 모델은 엄청난 양의 데이터를 학습하여, 복잡한 문제를 해결함

            ○ GPU의 발전으로, 기존의 추천 알고리즘(Matrix Factorization 등)도 신경망 구조로 변환 가능

 

  • 추천 시스템에서의 딥러닝 모델 장점 

      1. Non-Linear Transformation 

            ○ 복잡한 User-Item의 상호작용 패턴을 파악할 수 있음

            ○ 기존의 Matrix Factorization 모델의 경우 선형 모델이므로, 표현력을 학습하는데 제약

      2. Representation Learning

            ○ Input data의 특징을 효과적으로 학습

            ○ Hand-Craft Feature Design을 줄일 수 있음 → Feature Engineering 비용 감소

            ○ 이미지 및 텍스트와 같은 비정형 데이터를 효과적으로 다룰 수 있음

      3. Sequence Modeling 

            ○ Sequence 한 특성의 데이터(User의 행동, Item의 변경)에서도 효과적으로 작동 → 다음에 구매 가능한 Item 추천 가능

      4. Flexibility

            ○ Keras, Tensorflow, Pytorch와 같은 다양하고 편리한 Framework를 가지고 있음 

 

  • 추천 시스템에서의 딥러닝 모델 단점

      1. Interpretability

            ○ 딥러닝 모델의 예측 결과를 해석하기 어려움 (Black-Box 모델)

            ○ 현재, Atttention model을 통해, 해석 가능성을 열었음

      2. Data Requirement

            ○ 딥러닝 모델을 학습하기 위해서는 많은 양의 데이터가 필요

            ○ 이미지 및 텍스트 데이터를 수집하는 것보다, 추천 시스템에서의 Labeled 된 데이터를 수집하는 것이 용이

      3. Extensive Hyper-parameter Tuning

            ○ 매우 많은 수의 Hyper-Parameter

            ○ 머신러닝의 전반적인 한계점

            ○ 단일 Hyper-Parameter를 사용할 수 있는 연구가  진행되고 있음

 

  • 추천 시스템에서의 딥러닝 모델 카테고리

      1. 딥러닝 모델 종류에 따른 분류

            ○ MLP, CNN, RNN 등의 분류

      2. Hybrid Model 

            ○ MLP, CNN, RNN 등의 구성 요소를 결합 (예 : CNN + RNN 등)


추천 시스템에서의 딥러닝 - SOTA

MLP

  • 기존의 추천 시스템을 확장 

      - 기존의 많은 추천 모델은 선형적인 방법을 사용 → MLP를 통해, 비선형성을 추가하여 확장

      - 추천 모델은 대부분 User의 선호도(Preference)와 Item Feature 간의 양반향성 상호작용을 활용

            ○ Matrix Factorization : Rating Matrix를 저차원의 User/Item Latent Factor로 분해

                 ▶ 신경망을 통해 확장 가능 

      - Neural Collaborative Filtering

          1. Neural Network Matrix Fatorization(NNMF)

          2. Neural Collaborative Filtering(NCF)

NCF의 수식

            ○ 전통적인 Marix Factorization(MF)은 NCF의 특수 케이스(acitvation function이 없는)라고 볼 수 있음

            ○ Weighted Square Loss 나 Binary Cross-Entropy Loss로 학습

            ○ Negative Sampling(NS) 접근법을 통해, 학습 인스턴스의 수를 효과적으로 줄일 수 있음

  • Deep Factorization Machine( DeepFM ) - Fig. 2(b)

      - MLP와 Factorization Machine(FM)을 완벽하게 End-to-End 통합

            ○ Factorization Machine(FM) : Inner Product와 Addition을 통해, Feature 간의 선형성 및 상호작용을 캡처

            ○ MLP : 비선형성 및 Deep 구조를 통해, 고차원의 상호작용을 모델링

      - MLP와 Factorization Machine(FM)을 결합하기 위해, Wide & Deep Network 구조를 사용

            ○ 일반 Wide & Deep Network와의 차이점 : feature Engineering 불필요 

      - User와 Item의 ID 및 Feature로 구성된 Pair를 M개 입력(M-fields)

      - FM 및 MLP의 최종 출력(Output)을 활용하여 Prediction

Prediction Score

      - Drop-out이나 Batch Normalization을 통해 고도화할 수 있음

 

  • Wide & Deep Model

      - MLP는 매우 간단하지만, Feature Representation에 효율적

            ○Wide Learning Component : Single Layer로 구성 - Memorization( Historical data의 Feature를 직접 캡처 ) 학습 

            ○Deep Learning Component : Multi-Layer로 구성 - Generalization( 좀 더 일반적이고 추상적인 특징을 캡처 ) 학습

            ○ 추천의 성능과 다양성 모두를 향상 시킴

wide & deep model의 추론 식

      - Predicted Score 기반으로 추천

      - Follow-the-Regularized-Leader(FTRL) 알고리즘으로 최적화

      - 단점 : 사전의 Wide 및 Deep 파트의 Feature를 구성해야 함 → 여전히 어느 정도의 Feature Engineering 비용이 필요

 

  • 추천 시스템에서의MLP 모델의 발전

      - Locally-Connected wide & deep Learning Model

            ○Locally-Connected Network를 통해, 실행시간을 10배 감소

            ○Feature Engineering 감소

http://papers.www2017.com.au.s3.amazonaws.com/companion/p769.pdf

      - Yutube DNN

            ○Candidate Generation과 Candidate Ranking 두 단계로 구성

            ○Feature Engineering의 많은 노력을 기울임 → 중요성을 확인 

https://kmhana.tistory.com/36

 

[논문요약] DNN for YouTube(2016) - 추천 딥러닝 모델의 바이블

*크롬으로 보시는 걸 추천드립니다* https://static.googleusercontent.com/media/research.google.com/ko//pubs/archive/45530.pdf 종합 : ⭐⭐⭐⭐ 1. 논문 중요도 : 5 점 2. 실용성 : 4 점 설명 : 추천 시스템..

kmhana.tistory.com

            ○중요한 논문인 만큼 위의 논문 요약을 한번 보시는 것 추천드립니다

 

      - Collaborative Metric Learning(CML)

            ○ User와 Item의 임베딩을 고도화 - User가 싫어하는 Item은 거리를 최대화 & User가 좋아하는 Item은 거리를 최소화  

            ○ 텍스트 및 이미지의 Item Feature를 학습

https://vision.cornell.edu/se3/wp-content/uploads/2017/03/WWW-fp0554-hsiehA.pdf

 

※ Metric Learning 설명 : 

https://kmhana.tistory.com/14?category=842461 

 

Metric Learning(Image Retrieval) 이란? - 기본

*크롬으로 보시는 걸 추천드립니다* Active Learning(능동적 학습)에 이어서, 다룰 주제는 Metric Learning입니다! Active Learning(능동적 학습) 설명 : kmhana.tistory.com/2?category=838050 실용적인 Deep Lea..

kmhana.tistory.com


Autoencoder

  • 학습 방안  

      1. Bottleneck Layer를 통해, Feature Representation을 Low-dimensional Feature로 학습

      2. Interaction Matrix의 공백을 직접 채우는 Reconstruction Layer

      - Denoising 및 Variational Autoencoder 등 대부분의 Autoencoder를 추천 분야에서 사용 가능

  • Autoencoder 기반 협업 필터링  

      - User나 Item의 Partial Vector를 입력하면, Output Layer에서 Reconstruct(재구성)함

        ○ Item-AutoRec > User-AutoRec ( ∵ User의 벡터에서 더 높은 분산을 가지므로)

        ○ Activation 함수의 조함에 따라서, 성능이 달라짐

        ○ Hidden Unit의 크기가 커지면, 성능이 더 좋아짐 ( ∵ 모델의 Capacity가 커지면 Input의 특정을 더 잘 모델링)

        ○ 더 많은 Layer를 쌓으면 성능을 더 개선할 수 있음

      - 개선 방안 

         1. Denoising 기술을 사용하여, 좀 더 모델을 Robust 하게 함

         2. User profile 및 Item description과 같은 Side Information을 입력하여, Sparsity와 콜드 스타트 문제를 완화


Convolutional Neural Network

  • 학습 방안  

      - CNN은 이미지 및 비디오 등 여러 비정형 데이터를 학습하는 데 사용

      - CNN 모델을 통해 이미지의 Feature를 추출 ( 시각적인 콘텐츠와 User의 Factor 간의 상호작용을 탐색)

 

  • CNN 기반 추천 시스템

      - ContagNet

        ○CNN : 이미지 특징을 학습

        ○MLP : Context Feature를 학습

        ○ CNN 및 MLP를 concat 하여 사용

ContagNet 구조

      -Comparative Deep Learning( CDL )

        ○긍정적인 이미지와 부정적인 이미지를 학습

        ○User Feature와의 거리를 비교

https://arxiv.org/pdf/1604.01252.pdf

      - CNN 기반 협업 필터링

        ○Outer Product를 사용하여 Interaction Map을 생성

        ○CNN이 임베딩 차원 간의 고차원 상관관계를 캡처

https://arxiv.org/pdf/1808.03912.pdf


Graph CNNs 

  • 특징

      - Graph CNN은 소셜 네트워크, Knowledge Graph 등과 같은 관계성 데이터에 적합

      - 추천 분야는 이분 그래프(Bipartite Graph)로 표현할 수 있음

        ※ 이분 그래프(Bipartite Graph) 표현 방안

더보기

  ※ 이분 그래프(Bipartite Graph) 표현 방안

 

      -Graph Convolutional Matrix Completion

        ○Graph CNN을 활용하여, 소셜 네트워크나 Item Relationship과 같은 Side Information을 활용

https://arxiv.org/pdf/1706.02263.pdf

      - Graph CNN 기반 추천 시스템

        ○Pinterest에서 제안 

        ○Graph 구조와 Item Feature로부터 Item Embedding을 생성

        ○Large-Scale Web 환경에 적합 

Graph Convolutional Neural Networks
https://arxiv.org/pdf/1806.01973.pdf


Attention 기반 추천 시스템

  • 특징

      - Attention 메커니즘 이란 : 사람이 전체 이미지나 문장 중 특정한 부분만을 집중하는 것에서 아이디어를 얻음 

      -Attention Score로 Input을 점수화

      -Attention 종류 : 

        1.Vanilla Attention : Paramterized 된 Context Vector를 학습

        2.Co-Attention : 2개 이상의 Sequence에서 Attention Weight를 학습

             * Self-Attention은 Co-Attention의 특별한 케이스

      -Attention 메커니즘은 최근 텍스트 및 이미지 분야에서 핵심 기술로 자리매김 중

        ○데이터의 노이지에 대한 부작용 축소

        ○정보력이 적은 Feature는 필터링

        ○MLP, CNN, RNN 등 모두에서 사용 가능 → 최근 Self-Attention기반의 Transformer로 발전 중

  • 추천 시스템에서의 Attention 매커니즘 종류

      - 정보력이 적은(Uninformative) Feature는 필터링 → 정보가 적은 콘텐츠를 필터링

      - 가장 표현력이 좋은 Item을 선별

      - 딥러닝 모델의 해석력(Interpretability)를 제공

 

  • 추천 시스템에서의 Vanilla Attention 

      - Attentive 협업 필터링

        ○Component-level 및 Item-level Attention 두 단계로 구성

        ○Component-level Attention : 가장 유익한(Informative) Feature를 캡처  

        ○Item-level Attention : User의 특징을 잘 대표하는 Item을 선별

https://cseweb.ucsd.edu/classes/fa17/cse291-b/reading/Attentive%20Collaborative%20Filtering%20Multimedia%20Recommendation%20with%20Item-%20and%20Component-Level%20Attention.pdf

      - RNN에 결합한 Attention 추천 시스템

        ○RNN의 성능을 올리는데, Attention 메커니즘이 매우 효과적

        ○RNN : Sequence의 속성을 파악

        ○Attention :Informative Words를 인식하는 모델

https://aclanthology.org/C16-1284.pdf

      - CNN에 결합한 Attention 추천 시스템

        ○Global Channel : Conv Filter와 Max-pooling으로 구성하여 Global 특징 캡처

        ○Local Attention : Window size와 Threshold를 통해,Informative Words를 인식

        ○후속 연구 : User와 Item 리뷰 텍스트에서 Feature를 학습 → 최종 Layer의 Inner Product로 Rating을 예측

https://www.ijcai.org/Proceedings/16/Papers/395.pdf
https://doogkong.github.io/2017/papers/paper8.pdf

  • 추천 시스템에서의 Co-Attention 

      - Self-Attention을 활용한 Item 추천 시스템

        ○Self-Attention과 Metric Learning의 장점을 결함

        ○Self-Attention : 최근 사용자의 상호작용으로 부터, Short-term 한 의도(intent)를 파악

        ○Metric Learning : User와 Item의 임베딩을 좀 더 표현력 있게 학습 

https://arxiv.org/pdf/1808.06414.pdf

      - Co-Attention을 활용한 Item 추천 시스템

        ○Co-Attention : User와 Item을 동시에 고려해서 학습

        ○Multi-pointer를 통해, 중요한 Information 선택

https://arxiv.org/pdf/1801.09251.pdf

 

 


 

향후 연구 및 미해결 과제

      1. User 및 Item information에 대한, Joint Representation Learning 

          - Context Information : 1) 콜드 스타트 영향을 완화  2) 수집하기 용이   3) User의 상황에 따른 서비스와 제품을 맞춤화 가능

          - 현재 : User 및 Item Profile을 학습하거나, 함축적인 피드백, Contextual information을 제한적으로 사용

          - 방안 : Joint Representation을 통해, Multi-Modal Representation을 End-to-End로 학습

             ○ 딥러닝을 통해, Textual, Visual, Audio 및 Video Feature를 더 다양하게 사용할 것으로 기대

 

      2. 설명 가능한 딥러닝 

          - 딥러닝의 단점 : 설명 불가능 

          - 설명 가능함의 중요성 :

             ○ 예측 결과를 User에게 제공 : 사용자에게 왜 이 Item을 추천했는지 설명 가능

             ○ 예측 결과를 실무자에게 제공 : 모델 자체에 대한 이해력을 높임

          - 방안 : Attention 메커니즘을 통해, 단점을 완화( + 성능 향상에도 기여 )

 

      3. 더 깊은 딥러닝 모델 적용 

          - 현재 : 대부분의 연구에서 3~4개의 Layer에서 정체 

          - 방안 : Residual 전략이나, 계층적 학습률, Auxiliary Loss 활용

 

      4. 추천 시스템을 위한 추론의 확장 

          - 딥러닝의 발전이 추천 시스템의 발전으로 이어질 것으로 예상

             ○ 추천에서도 이미지 및 텍스트 정보를 사용 ( ∵ 각 분야에서 이미 딥러닝이 훌륭한 성능을 보임)

             ○ 추천과 추론은 정보 검색이란 측면에서 동일

          - 추론 아키텍처가 앞으로 추천 아키텍처에서도 핵심이 될 것으로 예상

             ○ Multi-Step Inference를 통해 추천 ( 1 단계 : 사용자의 구매 등을 추론 / 2 단계 : 여러 Item을 추천하기 위해서 추론 )

             ○ 협업 필터링이나 Lookalike에서도 Inference 방식으로의 확장도 가능

 

      5. Cross-Domain

          - 현재 : 하나의 도메인에서 추천 시스템을 개별적으로 사용

             ○ 단일 도메인에서의 추천 시스템은 다른 도메인에서의 User의 관심사를 사용하지 않음

             ○ Sparse 및 콜드 스타트 문제가 더 악화됨

          - 방안 : 다른 도메인에서 학습된 추천 모델을 Transfer Learning

             ○ 당양한 도메인 간의 일반화(generalization)와 차이점(difference)을 학습하여, 추천에 활용할 수 있을 것으로 기대

 

      6. Multi-Task

          - Multi-Task Learning 이란 : 예를 들어, 하나의 모델로 텍스트 분야에서 구문분석, 기계번역, 감성 분석 등을 모두 수행  

          - Multi-Task Learning 장점 : 

             1) Hidden Representation을 공유하여, 일반화 → Overfitting 방지

             2) Auxiliary(보조적인) Task를 통해, 최종 Output에 대한 해석력을 높임

             3) Data Augmentation을 통해, 희소성 문제를 완화

          - 방안 : 이미 딥러닝 모델에서 Multi-Task에 대한 연구가 진행 중이며, 전통적인 추천 시스템에서도 Multi-Task를 연구한 사례 존재

             * http://proceedings.mlr.press/v13/ning10a/ning10a.pdf  

 

      7. Scalability(확장성)

          - 빅데이터 시대에서 데이터 볼륨이 매우 커져, 실제 Application에서 문제를 발생시킴

             ○ 모델의 유용성과 Time Complexity가 중요해짐

          - 고려사항

             1) 스트리밍 데이터와 같이 매우 큰 User 및 Item 데이터에 대한 학습

             2) 고차원 데이터 및 Multi-media 데이터에 대한 계산 효율성

             3) Parameter 및 모델 복잡성, 확장성(Scalability)에 대한 균형(Balance)

          - 방안 :

             1) Small/Compact 한 모델을 위한 Knowldege Distillation ( Teacher 모델이 Student 모델을 가르침)

             2) 고차원 데이터 입력을 저차원 임베딩으로 압축 → 메모리 및 Computation Time 축소

 

      8. 평가 방식에 대한 적립

          - 현재 : 각 논문들의 평가 및 비교에 대한 기준선이 다름

          - 방안 :

             1) ImageNet이나 SQuAD와 같은 표준화된 평가 데이터셋이 있어야 함

             2) Kaggle와 같은 통제된 평가 시스템 필요 ( ∵ 현재 테스트 셋에 대한 분리 기준 및 통제가 없음 )

             3) 테스트 샘플의 난이도 적립 필요 ( ∵ 실제 현장에서의 추천 데이터와의 괴리가 발생할 수 있음 )

 


Conclusion 

      - 딥러닝 기반의 추천 시스템을 검토 및 분류

      - 딥러닝 기반의 추천 시스템에 대한 장단점을 논의

      - 미해결 문제와 앞으로 유망한 분야 대한 설명

      - 추천 시스템 분야의 주요 핵심 및 주목할 만한 발전에 대한 포괄적인 이해를 제공


마치며 

      - 딥러닝 기반의 추천 시스템을 공부하기 위해서 중요한 참고자료가 될 것으로 생각됩니다

      - RNN, RBM, 강화 학습 관련 추천 시스템은 본 요약정리에서 생략했습니다.

         관심 있으신 분은이 논문을 참고하시면 좀 더 도움이 되실 거 같습니다

      - Attention 메커니즘은 텍스트 및 이미지 분야에서 화두가 되고 있으며, 추천 분야에서도 예외는 아니였습니다

         다음으로 제가 정리하게 될 추천 관련 논문은 Attention 메커니즘이 적용된 추천 시스템이 될 예정입니다.