포스팅 개요
본 포스팅은 추천 시스템(RecSys, recommender system) 논문들 중 Attention-driven Factor model for Explainable Personalized Recommendation (GAUs for AFM) 이라는 논문을 리뷰하는 포스팅입니다. 본 논문은 attention을 이용해 설명가능성(Explainability)를 강조하고 사용자마다 각 item에 대해 서로 다른 attention을 적용합니다.
또한, 본 포스팅은 제가 작성하고 있는 추천 시스템 시리즈 글 입니다. 추천 시스템 시리즈 논문 리뷰는 아래와 같은 순서로 진행할 예정입니다. 오늘은 그 여섯 번째 포스팅입니다.
- DeepFM (https://lsjsj92.tistory.com/636)
- MAML (https://lsjsj92.tistory.com/637)
- VECF (https://lsjsj92.tistory.com/638)
- FDSA (https://lsjsj92.tistory.com/639)
- PMN (https://lsjsj92.tistory.com/640)
- GAU
- A3NCF (https://lsjsj92.tistory.com/642)
- MIAN (https://lsjsj92.tistory.com/643)
- CCANN (https://lsjsj92.tistory.com/644)
본 포스팅에서 참고한 자료는 다음과 같습니다.
- Attention-driven Factor model for Explainable Personalized Recommendation 논문
포스팅 본문
본 포스팅의 Attention-driven Factor model for Explainable Personalized Recommendation (GAUs for AFM) 추천 시스템 논문 리뷰는 다음과 같은 순서로 진행합니다.
1. GAUs for AFM 핵심 요약
2. GAUs for AFM 논문 리뷰
GAUs for AFM 핵심 요약
Most existing LFM(Latent Factor Model)
• different item feature를 모든 사용자에게 동일한 방식으로 통합 제공
• 그러나, 사용자마다 different item attribute에 attention 하는 것은 매우 다름
• 또한, latent vector은 explicit meaning이 거의 없어서 difficult to explain함
• 즉, 이 아이템이 이 사용자에게 왜(Why) 추천 되었는지 설명하기 어려움
본 논문에서는
• Attention driven Factor Model (AFM) 제안
• Item feature driven by users attention을 통합할 수 있음
• “Why”에 대한 답에 도움을 줄 수 있음
• To estimate users attention distributions of different item feature
• Gated Attention Units (GAUs)를 AFM에 도입
• GAUs는 latent factor가 user latent vector에서 user attention distribution을 생성하기 때문에 “설명”이 가능하게 함
• User attention distribution
• Weights for item feature for different users를 조정할 수 있음
• Can also explanations
GAUs for AFM 논문 리뷰
Attention-driven Factor model for Explainable Personalized Recommendation (GAUs for AFM) 논문에 대한 리뷰와 정리를 시작합니다. 본 포스팅은 논문 순서대로 정리합니다.
Introduction
Personalized recommendation의 관심도가 증가하고 있음
많은 연구자들은 personalized recommendation이 explanation을 주는 것이 매우 유익하다는 것을 발견 했다고 합니다. 이는 Reasonable explanation을 고려하면 사용자들이 buy, try 하는 행위가 나올 가능성이 높아진다고 하며 또한, 사용자들에게 우리 시스템이 고객을 잘 알고 있고 그거에 따라 맞춤형 추천을 한다는 것을 설득하는데 도움을 줄 수 있다고 합니다.
기존의 연구
Content based 방법에서는 Review aware method based on sentiment analysis 등이 새롭게 제안되었다고 합니다. 그러나, 리뷰 퀄리티나 양에 의존적이었다고 하죠. Latent Factor Models such as Matrix Factorization(MF)라는 것도 연구가 되었다고 합니다. 해당 Matrix Factorization 방법은 인기가 많고 또 latent vector를 활용해 표현함으로써 add나 concat으로 다양한 item feature를 통합하는게 쉬워졌다고 합니다. 그러나, 아래와 같이 몇가지 문제가 존재
• User와 item의 interaction을 실행할 때 다양한 item feature에 대한 선호도에 따라 결정하는 것을 무시
• LFM은 모든 사용자에게 동일한 방식을 적용하기 때문
• Explainability의 부족으로 사용자의 신뢰를 얻을 수 있는 personalized recommendation의 능력을 약화시킴
따라서 본 논문에서는!
따라서 본 논문에서는 CF-based model Attention0driven Factor Model (AFM) 추천 시스템 모델을 제안합니다. 해당 추천 시스템 모델은 Item의 다양한 측면의 사용자 attention에 따라서 개인화 추천을 제공합니다. 이때 Gated Attention Units (GAUs)를 제시하는데요. Item feature와 ratings에서 사용자의 선호도를 추정하기 위해 gated attention을 사용하며 Attention distribution for different users를 생성합니다.
Main contribution of this work
본 논문에서 주장하는 주요 contribution은 다음과 같습니다.
• 1. 사용자 선호도를 고려하기 위해 explainable personalized recommendation을 위한 AFM 개발
• Reasonable explanations for user’s preference and keep a high prediction accuracy
• 2. Gated Attention Units(GAUs) 제안
• Latent representation에서 사용자의 선호도를 추출하기 위함
• 3. real world dataset으로 effectiveness와 explainability를 실험
Related work
본 논문과 연관된 다양한 추천 시스템 방법들이 있습니다. 본 포스팅에서는 간단하게만 정리 및 언급하고 넘어갑니다. 자세한 것은 논문을 참고해주세요!
Latent Factor Models using Matrix Factorization(MF)
• Singular Value Decomposition (SVD)
• Non-negative Matrix Factorization (NMF)
• Probabilistic Matrix Factorization (PMF)
Deep Learning
• Feature extraction 등에 활용
• Chen 등은 LFM와 Neighborhood model based on item and component level attention을 활용
Explanation에 대한 연구
• Zhang et at. 사용자 review를 활용해 선호도를 추출하는 연구
Attention driven factor model
본 연구에서 소개한 모델의 전체 아키텍처는 다음과 같습니다.
Setting
• User rating과 item feature가 필요
• m : number of user
• n : number of item features
• k : size of latent vectors
Feature Extraction Layer
해당 layer는 Original input에서 Latent representation을 dense vector로 추출하는 layer입니다. 다양한 데이터 타입에 따라 적절한 추출 방법을 적용할 수도 있습니다.
• Ex ) category에는 embedding 사용
• Ex ) Image, text는 CNN, RNN 같은 것을 활용
Notation은 다음과 같습니다.
Attention driven integration layer
본 layer는 논문에서 제시한 AFM의 Core component이며 아래와 같이 계산합니다.
Vij는 i번째 user의 선호도에 의해 driven된 j번째 item의 integration vector이고 Fai는 attention driven integration transformation입니다. Item feature를 단순히 add 하거나 concat해서 통합하는 방법과 다르게 본 논문에서는 i번째 사용자의 선호도를 나타내도록 적용했다고 합니다. 또한, 논문에서 계속 언급되는 Gated Attention Units(GAUs)를 활용하는데요. 이는 LSTM과 GRU에서 영감을 받았다고 합니다.
또한, 본 layer에서는 v_ij 를 two step으로 계산합니다.
1. GAUs를 사용해서 user attention distribution을 생성함
첫 번째로 GAUs를 사용해 attention distribution을 생성합니다. 이때 n이 number of item feature이므로 item feature만큼 attention weight가 있는 것입니다. Attention mapping matrix는 GAUs의 핵심이며 모든 사용자에게 공유 된다고 합니다. 해당 과정을 통해 Latent preference space를 feature level attention space로 매핑합니다.
2. weighted sum
두 번째로 weighted sum(가중합)을 진행합니다. 이를 통해 Feature의 weight를 반영할 수 있습니다. Item에 대한 모든 feature를 수집하는 것은 아니기에 xj0인 item embedding의 역할이 있을 수 있다고 합니다.
Interaction Layer
마지막으로, interaction layer입니다. Latent user vector와 latent item vector를 final predict에 활용하는 layer입니다. 이때 방법이 나눠질 수도 있는데요.
• MF 방법으로 한다면 : inner product
• MLP 방법으로 한다면 : non-linear interaction
입니다.
Personalized Explanation
이런 과정을 거치게 되면 explanation이 됩니다. 기존 factorization model은 predict accuracy에서는 성공을 보였지만 reasonable explanation에서는 부족했습니다. User preference에 대한 명확할 설명이 없는 추천 시스템은 충분히 개인화 되지 않았다고 저자들은 주장합니다. 본 논문의 AFM은 explanation에 대해서 다음과 같이 정리될 수 있습니다.
• GAUs를 통해 feature level attention distribution of different users를 학습할 수 있음
1. Distribution diagram을 사용자에게 직접 제시
• 우리가 사용자에게 관심이 있다는 것을 보여줄 수 있으며 관심을 이끌어 내는데 도움을 줄 수 있음
2. intersting message를 보낼 수 있음
•“당신이 [feature]에 대해 큰 관심을 보였네요. 그래서 이걸 추천해드릴게요”
• Attention distribution of user를 얻을 수 있으면
• 개인화 추천에 대한 설명을 제공할 수 있는 다양한 방법이 있으며 사용자를 설득할 수 있음
Experiments
Dataset
본 논문에서 사용한 데이터는 MovieLens와 Douban Music, Douban Movie 데이터입니다. Douban movie데이터는 감독, 각본, 주인공, 장르, 국가 5개의 feature가 존재한다고 합니다. Douban music에서는 Only use genre만 했다고 하는데요. 사실 Music은 musician이나 앨범 정보가 더 중요하다고 합니다. 그럼에도 장르를 쓴 이유는 그다지 효과적이지 않을 수 있는 feature를 다루는 능력을 테스트 하기 위함이라고 본 논문에서는 이야기 하고 있습니다.
Baseline
논문에서 소개한 baseline 모델들은 다음과 같은 모델들이 있습니다.
Baseline 모델 | 특징 |
LibFM |
- Official implementation of factorization machine
|
SVDFeature |
- Feature based collaborative filtering
|
CDL |
- Collaborative Deep Learning
|
NFM |
- Neural Factorization Machine
|
Implementation Details
구현에 대한 디테일을 소개해주는데요. Categorical은 one-hot으로 변환하였으며 NFM, AFM은 one interaction layer with sigmoid를 사용했다고 합니다. 이때 Five-fold cross validation 활용했고 Evaluate metric으로는 MAE, RMSE 활용하였으며 Optimizer는 SGD Embedding size 64로 설정했다고 합니다.
Performance Comparison
이제 논문에서 제시한 추천 시스템의 성능을 비교해서 보여줍니다. 이때 특징으로 More item feature는 더 좋은 성능을 보여 준다고 하며 Genre만 넣은 것은 약간의 좋은 성능만 보여 줬다고 합니다. GAUs에 의해 생성된 attention distribution을 보면 80%정도의 사용자가 장르에 대한 attention이 20%보다 안 된다고 합니다. 이는 즉, 음악의 장르는 대부분의 사용자에게 높게 고려되지 않았다고 합니다. AFM은 effective하지 않은 feature를 masking해서 low attention을 주게 한다고 이야기 하며 그렇기 때문에 CDL(item vector + item feature vector) 모델 보다 좋은 성능을 보였다고 이야기하고 있습니다.
Case study
그리고 추가적으로 몇 가지 case study를 진행했는데요. Some case dataset에서 GAUs 성능을 강조했습니다. 예를 들어 2명의 사용자가 Douban Movie에서 있다고 하겠습니다. 1명은 Christopher Nolan(감독)의 팬입니다. 그가 본 영화의 40%는 이 사람의 영화이고 80%는 5점(만점)을 줬습니다. 또 다른 1명은 Donnie Yen과 Jet Li를 좋아합니다( 배우들 ). 이 두 명의 GAUs로부터 생성된 attention distribution을 확인해보니 아까 본 figure와 상당히 부합하다는 것을 확인할 수 있습니다.
또 다른 사용자 2명이 있다고 가정하겠습니다. 18개 장르에 대해서 distribution of their favorite movies를 시각화해보면 위에 있는 사용자는 8번 째와 16번 째 장르를 선호하며 GAUs에 의하면, 장르에 66.5%의 attention을 가지고 있습니다. 또한, 아래 있는 사용자는 장르에 신경을 덜 쓰는 경향을 보이며 GAUs에 의하면 4.6% 정도만 신경쓴다고 나오고 있습니다.
Conclusion
본 추천 시스템 논문 Attention-driven Factor model for Explainable Personalized Recommendation (GAUs for AFM)에 대한 결론입니다. 해당 논문에서는 AFM을 소개하였습니다. 이 특징들은 다음과 같이 정리될 수 있습니다.
• General framework for personalized recommendation
• Accuracy와 explainability 둘 다 고려
• Gated Attention Units (GAUs)를 도입
• Generate explicit attention distributions from latent user vector
마무리
본 포스팅은 추천 시스템(RecSys, recommender system) 논문들 중 Attention-driven Factor model for Explainable Personalized Recommendation (GAUs for AFM) 이라는 논문을 리뷰해보았습니다.
긴 글 읽어주셔서 감사합니다.