deep learning 기반tmappoi 추천기술개발사례

61
Deep learning 기반 Tmap POI 추천 기술 개발 사례 (부제: 여행지 추천) Image Processing팀 김상훈 2015. 5. 28.

Upload: jieun-lee

Post on 30-Jul-2015

4.991 views

Category:

Technology


13 download

TRANSCRIPT

Page 1: Deep learning 기반TmapPOI 추천기술개발사례

Deep learning 기반 Tmap POI 추천기술 개발 사례

(부제: 여행지 추천)

Image Processing팀

김상훈

2015. 5. 28.

Page 2: Deep learning 기반TmapPOI 추천기술개발사례

1

순서

제안배경

추천관련기본지식

Deep Learning 추천시스템

Deep Learning 추천결과

결론

향후개선방안

Q & A

Page 3: Deep learning 기반TmapPOI 추천기술개발사례

2

제안배경

제주도여행을가봤습니다.

근데너무많았습니다. 관광지가..

Page 4: Deep learning 기반TmapPOI 추천기술개발사례

3

제안배경

관광코스잡느라정말고생했습니다.

내게맞는관광코스를추천해주면안될까요..?

Page 5: Deep learning 기반TmapPOI 추천기술개발사례

4

그래서제안했습니다.

Deep Learning 기반여행지추천. !

제안배경

Page 6: Deep learning 기반TmapPOI 추천기술개발사례

5

근데, 왜 Deep Learning?

- 성능이매우우수하고, 희망을주니깐

제안배경

Page 7: Deep learning 기반TmapPOI 추천기술개발사례

6

근데, 왜 Deep Learning?

- Netflix에서도우수성을인정하여활용

제안배경

Netflix?- 미국 DVD 대여업체- 대여되는 비디오의 2/3가 추천으로 발생- 세계적인 비디오 스트리밍 업체로 성장

Page 8: Deep learning 기반TmapPOI 추천기술개발사례

7

Deep Learning 추천시스템소개를위해..

우선, 말씀드리고싶은 2가지…

추천관련기본지식

Page 9: Deep learning 기반TmapPOI 추천기술개발사례

8

추천관련기본지식

Collaborative Filtering

Implicit feedback data

- 추천방법

- 추천데이터

Page 10: Deep learning 기반TmapPOI 추천기술개발사례

9

첫째, Collaborative Filtering?

대표적인추천방법두가지

collaborative filtering contents-based filtering

- 그림 출처: 위키피디아

Page 11: Deep learning 기반TmapPOI 추천기술개발사례

10

첫째, Collaborative Filtering?

대표적인추천방법두가지

collaborative filtering contents-based filtering

장점: 개인 선호도 반영

단점: 확장성이 떨어짐

장점: 확장성이 좋음

단점: 개인 선호도 미반영

Page 12: Deep learning 기반TmapPOI 추천기술개발사례

11

첫째, Collaborative Filtering?

CF 발전에크게기여한대회

– Netflix Prize (2006년~2009년)

• DVD 대여업체로유명한 Netflix에서개최

• Cinematch 알고리즘보다 10% 이상개선된알고리즘을제출한팀에게상금 100만달러를수여

Netflix Prize에서사용된 CF알고리즘

– Matrix Factorization, Regression, Ensemble Methods, RBM 등

Page 13: Deep learning 기반TmapPOI 추천기술개발사례

12

둘째, Implicit Feedback Data?

추천 Data Type 2가지..

– Explicit Feedback Data

– Implicit Feedback Data

Page 14: Deep learning 기반TmapPOI 추천기술개발사례

13

둘째, Implicit Feedback Data?

Explicit Feedback Data

–선호도를명시적으로표현

Page 15: Deep learning 기반TmapPOI 추천기술개발사례

14

둘째, Implicit Feedback Data?

Implicit Feedback Data

–행동으로선호도를묵시적으로표현

Page 16: Deep learning 기반TmapPOI 추천기술개발사례

15

둘째, Implicit Feedback Data?

Explicit, Implicit 한번에보기

Implicit, 동영상뷰

Explicit, 선호도표시

Page 17: Deep learning 기반TmapPOI 추천기술개발사례

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

Page 18: Deep learning 기반TmapPOI 추천기술개발사례

17

Deep Learning 추천시스템

아래의순서로설명드리겠습니다.

RBM(Restricted Boltzmann Machine)

DBN(Deep Belief Network)

DBN 추천시스템

Page 19: Deep learning 기반TmapPOI 추천기술개발사례

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

Page 20: Deep learning 기반TmapPOI 추천기술개발사례

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 논문을 추천 드립니다.

Page 21: Deep learning 기반TmapPOI 추천기술개발사례

20

DBN(Deep Belief Network)

DBN 모델

– RBM을여러개쌓은 network

Hidden units

Visible units

Weights

Hidden units

RBM model 1

RBM model 2

Weights

Page 22: Deep learning 기반TmapPOI 추천기술개발사례

21

추천시스템구성방법

추천시스템을구성하는방법설명

- RBM모델 => RBM 추천시스템

- DBN모델 => DBN 추천시스템

Page 23: Deep learning 기반TmapPOI 추천기술개발사례

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을 구하는 것

Page 24: Deep learning 기반TmapPOI 추천기술개발사례

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을 구하는 것

Page 25: Deep learning 기반TmapPOI 추천기술개발사례

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을 구하는 것

Page 26: Deep learning 기반TmapPOI 추천기술개발사례

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

Page 27: Deep learning 기반TmapPOI 추천기술개발사례

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

해운대

남해해수욕장

남이섬

대천해수욕장

안면도

Page 28: Deep learning 기반TmapPOI 추천기술개발사례

27

DBN 추천시스템구성하기

USER Data의나머지는어떻게예측될까?

– DBN 추천시스템은 input과유사한패턴을 output

0

0

0

1

1 0.9

0.9

0

0.1

0.9

DBN 추천 시스템

input output

해운대

남해해수욕장

남이섬

대천해수욕장

안면도

Page 29: Deep learning 기반TmapPOI 추천기술개발사례

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

해운대

남해해수욕장

남이섬

대천해수욕장

안면도

Page 30: Deep learning 기반TmapPOI 추천기술개발사례

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에게 추천장소

해운대

남해해수욕장

남이섬

대천해수욕장

Page 31: Deep learning 기반TmapPOI 추천기술개발사례

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

- 개인식별 정보가 제거된 빅데이터 자료

Page 32: Deep learning 기반TmapPOI 추천기술개발사례

31

Deep Learning 여행지추천시스템

개발사양

– C++ / MFC 다이얼로그기반응용프로그램

– CUDA 6.5

– OpenCV

– GPU기반 Deep Learning 알고리즘자체구현

훈련에사용된 GPU 사양

– GeForce GTX Titan Black(GK110)

• CUDA Core 2880개, 6GB memory

Page 33: Deep learning 기반TmapPOI 추천기술개발사례

32

이제, Deep Learning 여행지추천결과

보여드리겠습니다.

Deep Learning 추천결과

Page 34: Deep learning 기반TmapPOI 추천기술개발사례

33

보여드리고싶은결과 2가지

DBN 추천시스템은…

Deep Learning 추천결과

USER의취향을반영한추천이가능

특정집단이많이방문한장소분석

Page 35: Deep learning 기반TmapPOI 추천기술개발사례

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

Page 36: Deep learning 기반TmapPOI 추천기술개발사례

35

USER의취향을반영한추천

휴양림을자주가는 user

Page 37: Deep learning 기반TmapPOI 추천기술개발사례

36

USER의취향을반영한추천

휴양림을자주가는 user에게휴양림위주로추천

Page 38: Deep learning 기반TmapPOI 추천기술개발사례

37

USER의취향을반영한추천

제주도휴양림추천

Page 39: Deep learning 기반TmapPOI 추천기술개발사례

38

USER의취향을반영한추천

비자림은어떤곳일까요?

Page 40: Deep learning 기반TmapPOI 추천기술개발사례

39

USER의취향을반영한추천

골프장을자주가는 user

Page 41: Deep learning 기반TmapPOI 추천기술개발사례

40

USER의취향을반영한추천

골프장을자주가는 user에게골프장위주로추천

Page 42: Deep learning 기반TmapPOI 추천기술개발사례

41

USER의취향을반영한추천

제주도골프장추천

Page 43: Deep learning 기반TmapPOI 추천기술개발사례

42

USER의취향을반영한추천

유저가방문했던골프장

추천받은골프장

Page 44: Deep learning 기반TmapPOI 추천기술개발사례

43

USER의취향을반영한추천

축구취향인 user

Page 45: Deep learning 기반TmapPOI 추천기술개발사례

44

USER의취향을반영한추천

축구취향인 user에게축구관련장소로추천

Page 46: Deep learning 기반TmapPOI 추천기술개발사례

45

USER의취향을반영한추천

제주도축구관련장소위주추천

Page 47: Deep learning 기반TmapPOI 추천기술개발사례

46

특정집단(?)

- 예: 방송관련집단 (Input에서방송국은 1, 그외는모두 0)

- 예: 성당관련집단 (Input에서성당은 1, 그외는모두 0)

특정집단이많이방문한장소분석

특정집단이많이방문한장소?

- 예를들어방송관련집단이면

=> 방송관련빌딩

=> 이슈가된장소(진도항, 광주공항)

Page 48: Deep learning 기반TmapPOI 추천기술개발사례

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을생성

방송국

Page 49: Deep learning 기반TmapPOI 추천기술개발사례

48

특정집단이많이방문한장소분석

방송관련집단

Page 50: Deep learning 기반TmapPOI 추천기술개발사례

49

특정집단이많이방문한장소분석

방송관련집단이많이방문한장소

Page 51: Deep learning 기반TmapPOI 추천기술개발사례

50

특정집단이많이방문한장소분석

방송관련집단이많이방문한장소

–빛마루 (방송콘텐츠제작지원시설)

–누리꿈스퀘어 (방송비즈니스센터)

–진도항 (세월호관련)

Page 52: Deep learning 기반TmapPOI 추천기술개발사례

51

특정집단이많이방문한장소분석

성당관련집단

Page 53: Deep learning 기반TmapPOI 추천기술개발사례

52

특정집단이많이방문한장소분석

성당관련집단이많이방문한장소

Page 54: Deep learning 기반TmapPOI 추천기술개발사례

53

특정집단이많이방문한장소분석

폐차관련집단

Page 55: Deep learning 기반TmapPOI 추천기술개발사례

54

특정집단이많이방문한장소분석

폐차관련집단이많이방문한장소

Page 56: Deep learning 기반TmapPOI 추천기술개발사례

55

특정집단이많이방문한장소분석

엠파크?

Page 57: Deep learning 기반TmapPOI 추천기술개발사례

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)

Page 58: Deep learning 기반TmapPOI 추천기술개발사례

57

결론

DBN(Deep Belief Network) 추천시스템

– Collaborative Filtering 알고리즘으로사용

– training data로 Tmap data(Implicit data)를사용

DBN 추천시스템의추천성능

– USER의취향을반영한추천이가능함

–특정집단이방문한장소의분석이가능함

Page 59: Deep learning 기반TmapPOI 추천기술개발사례

58

향후개선방안

Contents-based Filtering 방법적용

– CF(Collaborative Filtering)의확장성약점보완

Explicit Feedback Data도활용할수있도록알고리즘개선

공개된다른 dataset에대한추가실험

Page 60: Deep learning 기반TmapPOI 추천기술개발사례

Q & A

Page 61: Deep learning 기반TmapPOI 추천기술개발사례

감사합니다.