SlideShare a Scribd company logo
Sept 28, 2017 Page 1/26
Session-based Recommendation
홍동균
빅데이터 사이언스 연구실
한양대학교
Sept 28, 2017 Page 2/26
Contents
• Session-based Recommendation ?
• Session-based Recommendation with RNN
– RNN
– GRU4Rec
– Extensions
• S-KNN
• Conclusion
Sept 28, 2017 Page 3/26
Session
• 정의: 사용자가 서비스를 사용하면서 발생시키는 일련의 이벤트
– E.g. 쇼핑몰을 사용하는 유저의 아이템 클릭 기록
• 사용자가 서비스를 이용하는 시간에 따라 세션의 길이가 정해짐
• 회원 가입한 유저의 기록과 비교하여 상대적으로 짧음, 익명 가능
• 일반적으로 연속적인 이벤트는 사용자의 의도가 담겨 있음
Sept 28, 2017 Page 4/26
Session-based Recommendation
• 세션 기반 추천
– 세션에 담긴 의도를 파악하여 다음으로 클릭할 것 같은 아이템을 추천
• 등장 배경
– 개인 정보 이슈로 인해 비회원으로 서비스를 이용하려는 수요가 증가하였음
– 세션 단위의 기록은 본질적으로 cold-start -> 기존 방법으로 개인화가 어려움
-> 세션을 단위로 하는 추천 상황에 적합한 방법이 필요함
Sept 28, 2017 Page 5/26
Session-based RS
• Item-KNN
– 세션에서 마지막으로 클릭한 아이템과 가장 유사한 아이템을 추천
• Matrix Factorization
– 유저 대신 세션을 사용하여 행렬 분해 알고리즘 이용
Sept 28, 2017 Page 6/26
Session-based RS
• Item-KNN 알고리즘이 기존 방법 중 가장 좋은 성능을 보임
– MF 방법은 cold-start 환경에서 성능이 좋지 못함 (user profile의 부재)
Sept 28, 2017 Page 7/26
Session-based Recommendation
with RNN
• GRU4Rec
Sept 28, 2017 Page 8/26
Recurrent Neural Networks
• Input: 순서가 있는 데이터 ({𝑥1, 𝑥2 … , 𝑥 𝑡})
• Hidden state (ℎ 𝑡):
– 순서가 있는 데이터의 representation
• ℎ 𝑡 = 𝑓(𝑈𝑥 𝑡 + 𝑊ℎ 𝑡−1)
Sept 28, 2017 Page 9/26
RNN-based Machine Learning
• Sequence to value (a)
– E.g.: labeling, time series classification
• Value to sequence (b)
– E.g.: sequence generation
• Sequence to sequence
– Simultaneous (c)
 E.g.: next-click prediction,
– Encoder-decoder architecture (d)
 E.g.: machine translation
(a) (b)
(c)
(d)
Sept 28, 2017 Page 10/26
Recurrent Neural Networks
• Input: ‘H’, ‘e’, ‘l’, ‘l’
• Output: ‘o’
Sept 28, 2017 Page 11/26
Gated networks
• Vanishing gradients 문제를 해결하고자 등장
– 입력 데이터 중 초반의 값의 영향력이 사라지는 것
• Long-Short Term Memory (LSTM)
• Gated Recurrent Unit (GRU)
GRU
Sept 28, 2017 Page 12/26
Session-based Recommendation
with RNN
• GRU4Rec
– 다음으로 클릭 할만한 아이템 예측하는 모델
• Network structure
– Input: one hot encoded item ID
– GRU layer
– Output: scores over all items
– Learning: rmsprop, adagrad (GD 계열의 방법)
Sept 28, 2017 Page 13/26
Adapting GRU to the
Recommendation Task
• Session-parallel mini batches
– 많은 수의 세션을 학습하기
위해서는 병렬적으로 학습해야 함
– 세션의 길이가 2~100으로
다양하기 때문에, batch 단위로
세션 병렬화
• Output sampling
– Output의 모든 아이템을
비교하지 않고 샘플링
• Loss functions
– Pairwise ranking
Sept 28, 2017 Page 14/26
GRU4Rec Experiment Results
• 15~30% 정확도 향상
Sept 28, 2017 Page 15/26
Extensions (1/2)
• Multi-modal information (p-RNN model)
[Hidasi et. al, RecSys 16]
– GRU4Rec 모델을 이미지, 텍스트 정보를
추가로 이용하기 적합하도록 개선
– 여러 하이브리드 모델 구조와 모델 학습
방식을 비교한 성능을 비교함
Sept 28, 2017 Page 16/26
Extensions (2/2)
• Personalizing by inter-session modeling [Quadrana et. al, RecSys 17]
– 유저 정보를 알고 있는 상황에서, 한 유저의 여러 세션을 학습하여 개인화를
시도하는 모델
 Hierarchical RNNs (session-level, user-level)
– 기존 RNN 모델을 단순히 사용했을 때 보다 더 나은 성능을 보임
Sept 28, 2017 Page 17/26
Deep learning is the best?
• When Recurrent Neural Networks meet the Neighborhood for
Session-based Recommendation [RecSys 17]
Recall
지난 n일 까지의 데이터를 사용
Sept 28, 2017 Page 18/26
S-KNN Motivation
• GRU4Rec 모델의 신뢰성이 부족함
– 추천 문제에 있어서 새로운 머신 러닝 모델의 성능을 판단하기는
기본적으로 쉽지 않음
 적절한 baselines 설정 문제
 Domain, dataset에 따른 의존성 문제
 Scalability
• 세션 기반 추천 문제에 GRU4Rec 모델을 더 자세히 검증하고자 함
– 새로운 baseline 알고리즘 (S-KNN)
– 더욱 다양한 데이터 셋
– Scalability 비교
Sept 28, 2017 Page 19/26
S-KNN
• Session-based KNN
– User-KNN와 같은 개념
– K개의 가장 비슷한 세션을 찾아서 다음으로 클릭 할 만한 아이템 예측
– Candidate session 개념 사용
 모든 세션과 유사도 계산하는 것은 매우 느리므로 최신의 n개의 세션만 사용
Sept 28, 2017 Page 20/26
S-KNN Experiment Results (1/3)
• 새로운 baseline
– KNN과 GRU4Rec은 거의 비슷한 성능을 보임
– WH(weighted hybrids, S-KNN과 GRU4Rec 결과를 가중 합으로 사용)이
가장 좋은 성능
Sept 28, 2017 Page 21/26
S-KNN Experiment Results (2/3)
• 다양한 도메인의 데이터 셋
– 두 알고리즘 중 어느 하나가 뛰어나다고 보기 어려움
Sept 28, 2017 Page 22/26
S-KNN Experiment Results (3/3)
• Scalability
– S-KNN 모델이 매우 좋음
Sept 28, 2017 Page 23/26
S-KNN Conclusion
• 추천 알고리즘의 검증을 더욱 신중히 해야 함
– Baselines, domain, dataset, scalability
• 세션 기반 추천에 있어서 S-KNN, GRU4Rec 모두 발전할 여지가 있으며
현재 진행 중
Sept 28, 2017 Page 24/26
Conclusion
• GRU4Rec를 시작으로 Session-based Recommendation 분야에서 딥
러닝을 활용한 모델들이 활발히 연구되고 있음
• 최근의 다양한 딥 러닝 테크닉을 활용해 볼 수 있는 분야이고 앞으로 할
일이 많은 분야
• 그러나 최신의 기술을 추천 시스템에 적용할 때에 충분히 고려하고
검증할 필요가 있음
Sept 28, 2017 Page 25/26
References
• [Cho et. al, 2014] On the properties of neural machine translation: Encoder-decoder approaches.
https://arxiv.org/abs/1409.1259
• [Hidasi et. al, 2015] Session-based Recommendations with Recurrent Neural Networks. International Conference on
Learning Representations (ICLR 2016). https://arxiv.org/abs/1511.06939
• [Hidasi et. al, 2016] Parallel Recurrent Neural Network Architectures for Feature-rich Session-based Recommendations. 10th
ACM Conference on Recommender Systems (RecSys’16).
• [Quadrana et. al, 2017] Personalizing Session-based Recommendations with Hierarchical Recurrent Neural Networks. 11th
ACM Conference on Recommender Systems (RecSys’17). https://arxiv.org/abs/1706.04148
• [Ruocco et. al, 2017] Inter-Session Modeling for Session-Based Recommendation. 2nd Workshop on Deep Learning for
Recommendations (DLRS 2017). https://arxiv.org/abs/1706.07506
• [Dietmar Jannach et. al, 2017] When Recurrent Neural Networks meet the Neighborhood for Session-based
Recommendation (RecSys, 2017]. http://ls13-www.cs.tu-
dortmund.de/homepage/publications/jannach/Conference_RecSys_2017.pdf, https://ls13-www.cs.tu-
dortmund.de/homepage/publications/jannach/slides/RecSys2017.pdf
• [Hidasi 2017] Deep Learning for Recommer Systems (RecSys Summer School 2017).
http://pro.unibz.it/projects/schoolrecsys17/DeepLearning.pdf
Sept 28, 2017 Page 26/26
감사합니다.

More Related Content

PPTX
Session based rcommendations with recurrent neural networks
PDF
Recommendation System History
PDF
Deep learning 기반TmapPOI 추천기술개발사례
PPTX
Deep neural networks for You-Tube recommendations
PDF
[226]대용량 텍스트마이닝 기술 하정우
PDF
순환신경망(Recurrent neural networks) 개요
PPTX
Convolutional rnn
PDF
인공지능추천시스템 airs개발기_모델링과시스템
Session based rcommendations with recurrent neural networks
Recommendation System History
Deep learning 기반TmapPOI 추천기술개발사례
Deep neural networks for You-Tube recommendations
[226]대용량 텍스트마이닝 기술 하정우
순환신경망(Recurrent neural networks) 개요
Convolutional rnn
인공지능추천시스템 airs개발기_모델링과시스템

Similar to 20170928 session basedrec_hyu_dake (20)

PDF
CS294-112 18
PDF
[기초개념] Recurrent Neural Network (RNN) 소개
PDF
Introduction toDQN
PPTX
Chapter 10 sequence modeling recurrent and recursive nets
PDF
[한국어] Neural Architecture Search with Reinforcement Learning
PDF
Neural Graph Collaborative Filtering paper review
PDF
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗
PDF
Rnn개념정리
PDF
2022 구로구 도시 정책 아이디어 경진대회.pdf
PDF
인공지능 방법론 - Deep Learning 쉽게 이해하기
PPTX
추천 시스템 개요 (1)-draft
PDF
Rnn keras
PDF
LSTM 네트워크 이해하기
PPTX
Image net classification with deep convolutional neural networks
PDF
Machine Learning Foundations (a case study approach) 강의 정리
PDF
[사이람 커넥트] 그래프 머신러닝 기술과 혁신 사례 - 그래프 머신러닝의 의의와 핵심 기술
PDF
Automl
PDF
AUTOML
PDF
Rl from scratch part5
PDF
검색엔진에 적용된 딥러닝 모델 방법론
CS294-112 18
[기초개념] Recurrent Neural Network (RNN) 소개
Introduction toDQN
Chapter 10 sequence modeling recurrent and recursive nets
[한국어] Neural Architecture Search with Reinforcement Learning
Neural Graph Collaborative Filtering paper review
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗
Rnn개념정리
2022 구로구 도시 정책 아이디어 경진대회.pdf
인공지능 방법론 - Deep Learning 쉽게 이해하기
추천 시스템 개요 (1)-draft
Rnn keras
LSTM 네트워크 이해하기
Image net classification with deep convolutional neural networks
Machine Learning Foundations (a case study approach) 강의 정리
[사이람 커넥트] 그래프 머신러닝 기술과 혁신 사례 - 그래프 머신러닝의 의의와 핵심 기술
Automl
AUTOML
Rl from scratch part5
검색엔진에 적용된 딥러닝 모델 방법론
Ad

More from DongGyun Hong (7)

PDF
20170216 conv mf_hyu_dake
PDF
180212 normalization hyu_dake
PDF
20190901 seq2 sparql_kips
PDF
20181103 kbcqa kips
PDF
20181217 sac dong_gyun_hong
PDF
20181106 survey on challenges of question answering in the semantic web saltlux
PDF
20200923 open domain-qa_saltlux
20170216 conv mf_hyu_dake
180212 normalization hyu_dake
20190901 seq2 sparql_kips
20181103 kbcqa kips
20181217 sac dong_gyun_hong
20181106 survey on challenges of question answering in the semantic web saltlux
20200923 open domain-qa_saltlux
Ad

20170928 session basedrec_hyu_dake

  • 1. Sept 28, 2017 Page 1/26 Session-based Recommendation 홍동균 빅데이터 사이언스 연구실 한양대학교
  • 2. Sept 28, 2017 Page 2/26 Contents • Session-based Recommendation ? • Session-based Recommendation with RNN – RNN – GRU4Rec – Extensions • S-KNN • Conclusion
  • 3. Sept 28, 2017 Page 3/26 Session • 정의: 사용자가 서비스를 사용하면서 발생시키는 일련의 이벤트 – E.g. 쇼핑몰을 사용하는 유저의 아이템 클릭 기록 • 사용자가 서비스를 이용하는 시간에 따라 세션의 길이가 정해짐 • 회원 가입한 유저의 기록과 비교하여 상대적으로 짧음, 익명 가능 • 일반적으로 연속적인 이벤트는 사용자의 의도가 담겨 있음
  • 4. Sept 28, 2017 Page 4/26 Session-based Recommendation • 세션 기반 추천 – 세션에 담긴 의도를 파악하여 다음으로 클릭할 것 같은 아이템을 추천 • 등장 배경 – 개인 정보 이슈로 인해 비회원으로 서비스를 이용하려는 수요가 증가하였음 – 세션 단위의 기록은 본질적으로 cold-start -> 기존 방법으로 개인화가 어려움 -> 세션을 단위로 하는 추천 상황에 적합한 방법이 필요함
  • 5. Sept 28, 2017 Page 5/26 Session-based RS • Item-KNN – 세션에서 마지막으로 클릭한 아이템과 가장 유사한 아이템을 추천 • Matrix Factorization – 유저 대신 세션을 사용하여 행렬 분해 알고리즘 이용
  • 6. Sept 28, 2017 Page 6/26 Session-based RS • Item-KNN 알고리즘이 기존 방법 중 가장 좋은 성능을 보임 – MF 방법은 cold-start 환경에서 성능이 좋지 못함 (user profile의 부재)
  • 7. Sept 28, 2017 Page 7/26 Session-based Recommendation with RNN • GRU4Rec
  • 8. Sept 28, 2017 Page 8/26 Recurrent Neural Networks • Input: 순서가 있는 데이터 ({𝑥1, 𝑥2 … , 𝑥 𝑡}) • Hidden state (ℎ 𝑡): – 순서가 있는 데이터의 representation • ℎ 𝑡 = 𝑓(𝑈𝑥 𝑡 + 𝑊ℎ 𝑡−1)
  • 9. Sept 28, 2017 Page 9/26 RNN-based Machine Learning • Sequence to value (a) – E.g.: labeling, time series classification • Value to sequence (b) – E.g.: sequence generation • Sequence to sequence – Simultaneous (c)  E.g.: next-click prediction, – Encoder-decoder architecture (d)  E.g.: machine translation (a) (b) (c) (d)
  • 10. Sept 28, 2017 Page 10/26 Recurrent Neural Networks • Input: ‘H’, ‘e’, ‘l’, ‘l’ • Output: ‘o’
  • 11. Sept 28, 2017 Page 11/26 Gated networks • Vanishing gradients 문제를 해결하고자 등장 – 입력 데이터 중 초반의 값의 영향력이 사라지는 것 • Long-Short Term Memory (LSTM) • Gated Recurrent Unit (GRU) GRU
  • 12. Sept 28, 2017 Page 12/26 Session-based Recommendation with RNN • GRU4Rec – 다음으로 클릭 할만한 아이템 예측하는 모델 • Network structure – Input: one hot encoded item ID – GRU layer – Output: scores over all items – Learning: rmsprop, adagrad (GD 계열의 방법)
  • 13. Sept 28, 2017 Page 13/26 Adapting GRU to the Recommendation Task • Session-parallel mini batches – 많은 수의 세션을 학습하기 위해서는 병렬적으로 학습해야 함 – 세션의 길이가 2~100으로 다양하기 때문에, batch 단위로 세션 병렬화 • Output sampling – Output의 모든 아이템을 비교하지 않고 샘플링 • Loss functions – Pairwise ranking
  • 14. Sept 28, 2017 Page 14/26 GRU4Rec Experiment Results • 15~30% 정확도 향상
  • 15. Sept 28, 2017 Page 15/26 Extensions (1/2) • Multi-modal information (p-RNN model) [Hidasi et. al, RecSys 16] – GRU4Rec 모델을 이미지, 텍스트 정보를 추가로 이용하기 적합하도록 개선 – 여러 하이브리드 모델 구조와 모델 학습 방식을 비교한 성능을 비교함
  • 16. Sept 28, 2017 Page 16/26 Extensions (2/2) • Personalizing by inter-session modeling [Quadrana et. al, RecSys 17] – 유저 정보를 알고 있는 상황에서, 한 유저의 여러 세션을 학습하여 개인화를 시도하는 모델  Hierarchical RNNs (session-level, user-level) – 기존 RNN 모델을 단순히 사용했을 때 보다 더 나은 성능을 보임
  • 17. Sept 28, 2017 Page 17/26 Deep learning is the best? • When Recurrent Neural Networks meet the Neighborhood for Session-based Recommendation [RecSys 17] Recall 지난 n일 까지의 데이터를 사용
  • 18. Sept 28, 2017 Page 18/26 S-KNN Motivation • GRU4Rec 모델의 신뢰성이 부족함 – 추천 문제에 있어서 새로운 머신 러닝 모델의 성능을 판단하기는 기본적으로 쉽지 않음  적절한 baselines 설정 문제  Domain, dataset에 따른 의존성 문제  Scalability • 세션 기반 추천 문제에 GRU4Rec 모델을 더 자세히 검증하고자 함 – 새로운 baseline 알고리즘 (S-KNN) – 더욱 다양한 데이터 셋 – Scalability 비교
  • 19. Sept 28, 2017 Page 19/26 S-KNN • Session-based KNN – User-KNN와 같은 개념 – K개의 가장 비슷한 세션을 찾아서 다음으로 클릭 할 만한 아이템 예측 – Candidate session 개념 사용  모든 세션과 유사도 계산하는 것은 매우 느리므로 최신의 n개의 세션만 사용
  • 20. Sept 28, 2017 Page 20/26 S-KNN Experiment Results (1/3) • 새로운 baseline – KNN과 GRU4Rec은 거의 비슷한 성능을 보임 – WH(weighted hybrids, S-KNN과 GRU4Rec 결과를 가중 합으로 사용)이 가장 좋은 성능
  • 21. Sept 28, 2017 Page 21/26 S-KNN Experiment Results (2/3) • 다양한 도메인의 데이터 셋 – 두 알고리즘 중 어느 하나가 뛰어나다고 보기 어려움
  • 22. Sept 28, 2017 Page 22/26 S-KNN Experiment Results (3/3) • Scalability – S-KNN 모델이 매우 좋음
  • 23. Sept 28, 2017 Page 23/26 S-KNN Conclusion • 추천 알고리즘의 검증을 더욱 신중히 해야 함 – Baselines, domain, dataset, scalability • 세션 기반 추천에 있어서 S-KNN, GRU4Rec 모두 발전할 여지가 있으며 현재 진행 중
  • 24. Sept 28, 2017 Page 24/26 Conclusion • GRU4Rec를 시작으로 Session-based Recommendation 분야에서 딥 러닝을 활용한 모델들이 활발히 연구되고 있음 • 최근의 다양한 딥 러닝 테크닉을 활용해 볼 수 있는 분야이고 앞으로 할 일이 많은 분야 • 그러나 최신의 기술을 추천 시스템에 적용할 때에 충분히 고려하고 검증할 필요가 있음
  • 25. Sept 28, 2017 Page 25/26 References • [Cho et. al, 2014] On the properties of neural machine translation: Encoder-decoder approaches. https://arxiv.org/abs/1409.1259 • [Hidasi et. al, 2015] Session-based Recommendations with Recurrent Neural Networks. International Conference on Learning Representations (ICLR 2016). https://arxiv.org/abs/1511.06939 • [Hidasi et. al, 2016] Parallel Recurrent Neural Network Architectures for Feature-rich Session-based Recommendations. 10th ACM Conference on Recommender Systems (RecSys’16). • [Quadrana et. al, 2017] Personalizing Session-based Recommendations with Hierarchical Recurrent Neural Networks. 11th ACM Conference on Recommender Systems (RecSys’17). https://arxiv.org/abs/1706.04148 • [Ruocco et. al, 2017] Inter-Session Modeling for Session-Based Recommendation. 2nd Workshop on Deep Learning for Recommendations (DLRS 2017). https://arxiv.org/abs/1706.07506 • [Dietmar Jannach et. al, 2017] When Recurrent Neural Networks meet the Neighborhood for Session-based Recommendation (RecSys, 2017]. http://ls13-www.cs.tu- dortmund.de/homepage/publications/jannach/Conference_RecSys_2017.pdf, https://ls13-www.cs.tu- dortmund.de/homepage/publications/jannach/slides/RecSys2017.pdf • [Hidasi 2017] Deep Learning for Recommer Systems (RecSys Summer School 2017). http://pro.unibz.it/projects/schoolrecsys17/DeepLearning.pdf
  • 26. Sept 28, 2017 Page 26/26 감사합니다.