deep learning 기반tmappoi 추천기술개발사례
TRANSCRIPT
Deep learning 기반 Tmap POI 추천기술 개발 사례
(부제: 여행지 추천)
Image Processing팀
김상훈
2015. 5. 28.
1
순서
제안배경
추천관련기본지식
Deep Learning 추천시스템
Deep Learning 추천결과
결론
향후개선방안
Q & A
2
제안배경
제주도여행을가봤습니다.
근데너무많았습니다. 관광지가..
3
제안배경
관광코스잡느라정말고생했습니다.
내게맞는관광코스를추천해주면안될까요..?
4
그래서제안했습니다.
Deep Learning 기반여행지추천. !
제안배경
5
근데, 왜 Deep Learning?
- 성능이매우우수하고, 희망을주니깐
제안배경
6
근데, 왜 Deep Learning?
- Netflix에서도우수성을인정하여활용
제안배경
Netflix?- 미국 DVD 대여업체- 대여되는 비디오의 2/3가 추천으로 발생- 세계적인 비디오 스트리밍 업체로 성장
7
Deep Learning 추천시스템소개를위해..
우선, 말씀드리고싶은 2가지…
추천관련기본지식
8
추천관련기본지식
Collaborative Filtering
Implicit feedback data
- 추천방법
- 추천데이터
9
첫째, Collaborative Filtering?
대표적인추천방법두가지
collaborative filtering contents-based filtering
- 그림 출처: 위키피디아
10
첫째, Collaborative Filtering?
대표적인추천방법두가지
collaborative filtering contents-based filtering
장점: 개인 선호도 반영
단점: 확장성이 떨어짐
장점: 확장성이 좋음
단점: 개인 선호도 미반영
11
첫째, Collaborative Filtering?
CF 발전에크게기여한대회
– Netflix Prize (2006년~2009년)
• DVD 대여업체로유명한 Netflix에서개최
• Cinematch 알고리즘보다 10% 이상개선된알고리즘을제출한팀에게상금 100만달러를수여
Netflix Prize에서사용된 CF알고리즘
– Matrix Factorization, Regression, Ensemble Methods, RBM 등
12
둘째, Implicit Feedback Data?
추천 Data Type 2가지..
– Explicit Feedback Data
– Implicit Feedback Data
13
둘째, Implicit Feedback Data?
Explicit Feedback Data
–선호도를명시적으로표현
14
둘째, Implicit Feedback Data?
Implicit Feedback Data
–행동으로선호도를묵시적으로표현
15
둘째, Implicit Feedback Data?
Explicit, Implicit 한번에보기
Implicit, 동영상뷰
Explicit, 선호도표시
16
둘째, Implicit Feedback Data?
Explicit, Implicit Data를 visualization하면?
1 1 -1 -1
A B C D E F G H I
좋아요 좋아요 싫어요 싫어요
1 1 1 1 1 1
A B F G H I
missing data
봤음 봤음 봤음 봤음 봤음 봤음
C D E
Explicit
Implicit
17
Deep Learning 추천시스템
아래의순서로설명드리겠습니다.
RBM(Restricted Boltzmann Machine)
DBN(Deep Belief Network)
DBN 추천시스템
18
Deep Learning 추천시스템
결론만살짝살펴보기
– DBN추천시스템이어떻게구성되는지설명
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
RBM model DBN model
19
RBM(Restricted Boltzmann Machine)
RBM 모델
– visible units, hidden units, weight, bias로구성됨
Bias
BiasHidden units
Visible units
Weights
- 혹시, RBM의 수식에 대해 자세히 알고 싶으신 분들에게 Learning Multiple Layers of Features from Tiny Images 논문을 추천 드립니다.
20
DBN(Deep Belief Network)
DBN 모델
– RBM을여러개쌓은 network
Hidden units
Visible units
Weights
Hidden units
RBM model 1
RBM model 2
Weights
21
추천시스템구성방법
추천시스템을구성하는방법설명
- RBM모델 => RBM 추천시스템
- DBN모델 => DBN 추천시스템
22
RBM 추천시스템구성하기
RBM의복원기술을활용하여추천시스템을구성할수있음
0
0.1
0
0.2
0
0.9
1
0.1
1 0.9
0.9
0
0.1
0.9
input output
복원(Reconstruction)- visible에서 hidden을 구하고, 다시 hidden에서 visible을 구하는 것
23
0
0
0
1
1 0.9
0.9
0
0.1
0.9
RBM 추천 시스템
input output
RBM 추천시스템구성하기
RBM의복원기술을활용하여추천시스템을구성할수있음
복원(Reconstruction)- visible에서 hidden을 구하고, 다시 hidden에서 visible을 구하는 것
24
DBN 추천시스템구성하기
0
0.1
0
0.2
0
0.9
1
0.1
1
input
0.1
0.2
0.9
0.1
0.9
0.9
0
0.1
0.9
output
0.7
0.1
0.3
비슷하게 DBN 추천시스템을구성할수있음
복원(Reconstruction)- visible에서 hidden을 구하고, 다시 hidden에서 visible을 구하는 것
25
DBN 추천시스템구성하기
비슷하게 DBN 추천시스템을구성할수있음
복원(Reconstruction)- visible에서 hidden을 구하고, 다시 hidden에서 visible을 구하는 것
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
26
DBN 추천시스템구성하기
DBN 추천시스템
– USER data를입력받아, 추천결과를출력하는시스템
특성
– USER Data 일부분으로, 나머지 Data를예측할수있음
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
해운대
남해해수욕장
남이섬
대천해수욕장
안면도
27
DBN 추천시스템구성하기
USER Data의나머지는어떻게예측될까?
– DBN 추천시스템은 input과유사한패턴을 output
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
해운대
남해해수욕장
남이섬
대천해수욕장
안면도
28
DBN 추천시스템구성하기
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
DBN 추천시스템의패턴은어떻게만들어지는가?
– training을통해 data의패턴들을모델링
1 1 0 0 1
0 1 0 0 1
0 1 1 1 0
training data
USER들이 방문한 장소 data
user0
user1
user2
해운대
남해해수욕장
남이섬
대천해수욕장
안면도
29
=> DBN 추천시스템 + Tmap data
Deep Learning 여행지추천시스템
0
0
1
1 0.9
0.9
0.1
0.9
DBN 추천시스템
input output Tmap data
… …
30,000
CF(collaborative filtering) Implicit data
USER가 방문했던 장소를 1로 구성 USER에게 추천장소
해운대
남해해수욕장
남이섬
대천해수욕장
30
Deep Learning 여행지추천시스템
Tmap data
–개인식별정보가제거된빅데이터자료
– sparseness: 99.89%
1 0 1 0 0 1
0 …POI id: 1 29,99929,998
…
0 1 0 0 0 0…
1 0 0 1 0 1…
10만명 (예시)
30,000 개 (예시)
USER0
USER1
… …
USERX
…
- 개인식별 정보가 제거된 빅데이터 자료
31
Deep Learning 여행지추천시스템
개발사양
– C++ / MFC 다이얼로그기반응용프로그램
– CUDA 6.5
– OpenCV
– GPU기반 Deep Learning 알고리즘자체구현
훈련에사용된 GPU 사양
– GeForce GTX Titan Black(GK110)
• CUDA Core 2880개, 6GB memory
32
이제, Deep Learning 여행지추천결과
보여드리겠습니다.
Deep Learning 추천결과
33
보여드리고싶은결과 2가지
DBN 추천시스템은…
Deep Learning 추천결과
USER의취향을반영한추천이가능
특정집단이많이방문한장소분석
34
USER의취향을반영한추천
1
0
1
0 0.2
0.5
0.7
0.3
DBN 추천 시스템
input output
… …
0.9
0.7
0.3
0.2
휴양림2
휴양림1
0
0.5
0.9
추천방법?
유저가 방문한장소 data
0.1
…
35
USER의취향을반영한추천
휴양림을자주가는 user
36
USER의취향을반영한추천
휴양림을자주가는 user에게휴양림위주로추천
37
USER의취향을반영한추천
제주도휴양림추천
38
USER의취향을반영한추천
비자림은어떤곳일까요?
39
USER의취향을반영한추천
골프장을자주가는 user
40
USER의취향을반영한추천
골프장을자주가는 user에게골프장위주로추천
41
USER의취향을반영한추천
제주도골프장추천
42
USER의취향을반영한추천
유저가방문했던골프장
추천받은골프장
43
USER의취향을반영한추천
축구취향인 user
44
USER의취향을반영한추천
축구취향인 user에게축구관련장소로추천
45
USER의취향을반영한추천
제주도축구관련장소위주추천
46
특정집단(?)
- 예: 방송관련집단 (Input에서방송국은 1, 그외는모두 0)
- 예: 성당관련집단 (Input에서성당은 1, 그외는모두 0)
특정집단이많이방문한장소분석
특정집단이많이방문한장소?
- 예를들어방송관련집단이면
=> 방송관련빌딩
=> 이슈가된장소(진도항, 광주공항)
47
특정집단이많이방문한장소분석
1
0
1
0 0.2
0.5
0.7
0.3
DBN 추천 시스템
input output
… …
0.9
0.7
0.3
0.2
빛마루
진도항
0
0.5
0.9
분석방법?- 임의의 input을생성
방송국
48
특정집단이많이방문한장소분석
방송관련집단
49
특정집단이많이방문한장소분석
방송관련집단이많이방문한장소
50
특정집단이많이방문한장소분석
방송관련집단이많이방문한장소
–빛마루 (방송콘텐츠제작지원시설)
–누리꿈스퀘어 (방송비즈니스센터)
–진도항 (세월호관련)
51
특정집단이많이방문한장소분석
성당관련집단
52
특정집단이많이방문한장소분석
성당관련집단이많이방문한장소
53
특정집단이많이방문한장소분석
폐차관련집단
54
특정집단이많이방문한장소분석
폐차관련집단이많이방문한장소
55
특정집단이많이방문한장소분석
엠파크?
56
Deep Learning 여행지추천성능
성능비교(MRR:Mean Reciprocal Rank)
data / algorithm CliMF(2012) SGDReg(2013) DBN
epinions dataset 0.285 0.4549 0.50
Tmap dataset - 0.3469 0.3624
SGDReg(Slim Gradient Descent Regression) 알고리즘1.Efficient Top-N Recommendation by Linear Regression, Recsys 2013
1. binary data의 collaborative filtering 종류의 논문들 중 최고의 성능을보이고 있음
2. github에 mrec이라는프로젝트로 소스코드가공개돼 있음3. Mark Levy(Mendeley.com)외 1인
CliMF(Collaborative Less-is-More Filtering) 알고리즘
1.Climf: learning to maximize reciprocal rank with collaborative less-is-more
filtering, Recsys 2012
1.네덜런드 델프트 공대 연구실의 Yue Shi가 개발.
2.python 기반 오픈소스가 공개돼 있어서 접근성이좋음.
3.CLiMF논문에서 수행한 실험결과는 신뢰 할만함.
4.CLiMF논문에서 비교에 사용한 알고리즘들은인지도가있는 것들임.
1. Collaborative filtering for implicit feed back(ICDM '08, 2008), 인용횟수 429회(구글 학술검색), AT&T Labs, Yahoo.
2. BPR: Bayesian personalized ranking from implicit feedback, 인용횟수 284회
5. 논문에서 사용된 epinions dataset은다른 추천 알고리즘들에서사용되고 있음.
1. CoFiSet: Collaborative Filtering via Learning Pairwise
Preferences over Item-sets(2013)
2. Efficient Top-N Recommendation by Linear Regression(2013)
57
결론
DBN(Deep Belief Network) 추천시스템
– Collaborative Filtering 알고리즘으로사용
– training data로 Tmap data(Implicit data)를사용
DBN 추천시스템의추천성능
– USER의취향을반영한추천이가능함
–특정집단이방문한장소의분석이가능함
58
향후개선방안
Contents-based Filtering 방법적용
– CF(Collaborative Filtering)의확장성약점보완
Explicit Feedback Data도활용할수있도록알고리즘개선
공개된다른 dataset에대한추가실험
Q & A
감사합니다.