Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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...
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...
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 mo...
19
RBM(Restricted Boltzmann Machine)
 RBM 모델
– visible units, hidden units, weight, bias로 구성됨
Bias
BiasHidden units
Visib...
20
DBN(Deep Belief Network)
 DBN 모델
– RBM을 여러 개 쌓은 network
Hidden units
Visible units
Weights
Hidden units
RBM model 1
RB...
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
복원(Reconstr...
23
0
0
0
1
1 0.9
0.9
0
0.1
0.9
RBM 추천 시스템
input output
RBM 추천 시스템 구성하기
 RBM의 복원기술을 활용하여 추천 시스템을 구성할 수 있음
복원(Reconstructio...
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 추천 시스템을...
25
DBN 추천 시스템 구성하기
 비슷하게 DBN 추천 시스템을 구성 할 수 있음
복원(Reconstruction)
- visible에서 hidden을 구하고,
다시 hidden에서 visible을 구하는 것
0
0...
26
DBN 추천 시스템 구성하기
 DBN 추천 시스템
– USER data를 입력 받아, 추천 결과를 출력하는 시스템
 특성
– USER Data 일부분으로, 나머지 Data를 예측할 수 있음
0
0
0
1
1 0...
27
DBN 추천 시스템 구성하기
 USER Data의 나머지는 어떻게 예측될까?
– DBN 추천 시스템은 input과 유사한 패턴을 output
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
...
28
DBN 추천 시스템 구성하기
0
0
0
1
1 0.9
0.9
0
0.1
0.9
DBN 추천 시스템
input output
 DBN 추천 시스템의 패턴은 어떻게 만들어 지는가?
– training을 통해 data의...
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...
30
Deep Learning 여행지 추천 시스템
 Tmap data
– 개인식별 정보가 제거된 빅데이터 자료
– sparseness: 99.89%
1 0 1 0 0 1
0 …POI id: 1 29,99929,998
...
31
Deep Learning 여행지 추천 시스템
 개발 사양
– C++ / MFC 다이얼로그 기반 응용 프로그램
– CUDA 6.5
– OpenCV
– GPU기반 Deep Learning 알고리즘 자체 구현
 훈련...
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
추천 방법?
유저가 방문한...
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
분석방법?
- 임의의 i...
48
특정 집단이 많이 방문한 장소 분석
 방송 관련 집단
49
특정 집단이 많이 방문한 장소 분석
 방송 관련 집단이 많이 방문한 장소
50
특정 집단이 많이 방문한 장소 분석
 방송 관련 집단이 많이 방문한 장소
– 빛마루 (방송 콘텐츠 제작지원 시설)
– 누리꿈스퀘어 (방송 비즈니스 센터)
– 진도항 (세월호 관련)
51
특정 집단이 많이 방문한 장소 분석
 성당 관련 집단
52
특정 집단이 많이 방문한 장소 분석
 성당 관련 집단이 많이 방문한 장소
53
특정 집단이 많이 방문한 장소 분석
 폐차 관련 집단
54
특정 집단이 많이 방문한 장소 분석
 폐차 관련 집단이 많이 방문한 장소
55
특정 집단이 많이 방문한 장소 분석
 엠파크?
56
Deep Learning 여행지 추천 성능
 성능 비교(MRR:Mean Reciprocal Rank)
data / algorithm CliMF(2012) SGDReg(2013) DBN
epinions datase...
57
결론
 DBN(Deep Belief Network) 추천 시스템
– Collaborative Filtering 알고리즘으로 사용
– training data로 Tmap data(Implicit data)를 사용
...
58
향후 개선 방안
 Contents-based Filtering 방법 적용
– CF(Collaborative Filtering)의 확장성 약점 보완
 Explicit Feedback Data도 활용할 수 있도록 ...
Q & A
감사합니다.
Upcoming SlideShare
Loading in …5
×

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

SK플래닛 @tech 판교세미나에서 발표한 Deep learning 기반T map POI 추천 기술 개발 사례입니다.

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

  1. 1. Deep learning 기반 Tmap POI 추천 기술 개발 사례 (부제: 여행지 추천) Image Processing팀 김상훈 2015. 5. 28.
  2. 2. 1 순서  제안 배경  추천 관련 기본 지식  Deep Learning 추천 시스템  Deep Learning 추천 결과  결론  향후 개선 방안  Q & A
  3. 3. 2 제안 배경  제주도 여행을 가봤습니다.  근데 너무 많았습니다. 관광지가..
  4. 4. 3 제안 배경  관광 코스 잡느라 정말 고생했습니다.  내게 맞는 관광 코스를 추천해 주면 안될까요..?
  5. 5. 4 그래서 제안했습니다. Deep Learning 기반 여행지 추천. ! 제안 배경
  6. 6. 5 근데, 왜 Deep Learning? - 성능이 매우 우수하고, 희망을 주니깐 제안 배경
  7. 7. 6 근데, 왜 Deep Learning? - Netflix에서도 우수성을 인정하여 활용 제안 배경 Netflix? - 미국 DVD 대여업체 - 대여되는 비디오의 2/3가 추천으로 발생 - 세계적인 비디오 스트리밍 업체로 성장
  8. 8. 7 Deep Learning 추천 시스템 소개를 위해.. 우선, 말씀 드리고 싶은 2가지… 추천 관련 기본 지식
  9. 9. 8 추천 관련 기본 지식  Collaborative Filtering  Implicit feedback data - 추천 방법 - 추천 데이터
  10. 10. 9 첫째, Collaborative Filtering?  대표적인 추천 방법 두 가지  collaborative filtering  contents-based filtering - 그림 출처: 위키피디아
  11. 11. 10 첫째, Collaborative Filtering?  대표적인 추천 방법 두 가지  collaborative filtering  contents-based filtering 장점: 개인 선호도 반영 단점: 확장성이 떨어짐 장점: 확장성이 좋음 단점: 개인 선호도 미반영
  12. 12. 11 첫째, Collaborative Filtering?  CF 발전에 크게 기여한 대회 – Netflix Prize (2006년~2009년) • DVD 대여 업체로 유명한 Netflix에서 개최 • Cinematch 알고리즘 보다 10% 이상 개선된 알고리즘을 제출한 팀에게 상금 100만 달러를 수여 Netflix Prize에서 사용된 CF알고리즘 – Matrix Factorization, Regression, Ensemble Methods, RBM 등
  13. 13. 12 둘째, Implicit Feedback Data?  추천 Data Type 2가지.. – Explicit Feedback Data – Implicit Feedback Data
  14. 14. 13 둘째, Implicit Feedback Data?  Explicit Feedback Data – 선호도를 명시적으로 표현
  15. 15. 14 둘째, Implicit Feedback Data?  Implicit Feedback Data –행동으로 선호도를 묵시적으로 표현
  16. 16. 15 둘째, Implicit Feedback Data?  Explicit, Implicit 한번에 보기 Implicit, 동영상 뷰 Explicit, 선호도 표시
  17. 17. 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
  18. 18. 17 Deep Learning 추천 시스템 아래의 순서로 설명 드리겠습니다.  RBM(Restricted Boltzmann Machine)  DBN(Deep Belief Network)  DBN 추천 시스템
  19. 19. 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
  20. 20. 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 논문을 추천 드립니다.
  21. 21. 20 DBN(Deep Belief Network)  DBN 모델 – RBM을 여러 개 쌓은 network Hidden units Visible units Weights Hidden units RBM model 1 RBM model 2 Weights
  22. 22. 21 추천 시스템 구성 방법  추천 시스템을 구성하는 방법 설명 - RBM모델 => RBM 추천 시스템 - DBN모델 => DBN 추천 시스템
  23. 23. 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을 구하는 것
  24. 24. 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을 구하는 것
  25. 25. 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을 구하는 것
  26. 26. 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
  27. 27. 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 해운대 남해 해수욕장 남이섬 대천 해수욕장 안면도
  28. 28. 27 DBN 추천 시스템 구성하기  USER Data의 나머지는 어떻게 예측될까? – DBN 추천 시스템은 input과 유사한 패턴을 output 0 0 0 1 1 0.9 0.9 0 0.1 0.9 DBN 추천 시스템 input output 해운대 남해 해수욕장 남이섬 대천 해수욕장 안면도
  29. 29. 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 해운대 남해 해수욕장 남이섬 대천 해수욕장 안면도
  30. 30. 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에게 추천장소 해운대 남해 해수욕장 남이섬 대천 해수욕장
  31. 31. 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 … - 개인식별 정보가 제거된 빅데이터 자료
  32. 32. 31 Deep Learning 여행지 추천 시스템  개발 사양 – C++ / MFC 다이얼로그 기반 응용 프로그램 – CUDA 6.5 – OpenCV – GPU기반 Deep Learning 알고리즘 자체 구현  훈련에 사용된 GPU 사양 – GeForce GTX Titan Black(GK110) • CUDA Core 2880개, 6GB memory
  33. 33. 32 이제, Deep Learning 여행지 추천 결과 보여 드리겠습니다. Deep Learning 추천 결과
  34. 34. 33 보여 드리고 싶은 결과 2가지 DBN 추천 시스템은… Deep Learning 추천 결과  USER의 취향을 반영한 추천이 가능  특정집단이 많이 방문한 장소 분석
  35. 35. 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 …
  36. 36. 35 USER의 취향을 반영한 추천  휴양림을 자주 가는 user
  37. 37. 36 USER의 취향을 반영한 추천  휴양림을 자주 가는 user에게 휴양림 위주로 추천
  38. 38. 37 USER의 취향을 반영한 추천  제주도 휴양림 추천
  39. 39. 38 USER의 취향을 반영한 추천  비자림은 어떤 곳일까요?
  40. 40. 39 USER의 취향을 반영한 추천 골프장을 자주 가는 user
  41. 41. 40 USER의 취향을 반영한 추천 골프장을 자주 가는 user에게 골프장 위주로 추천
  42. 42. 41 USER의 취향을 반영한 추천  제주도 골프장 추천
  43. 43. 42 USER의 취향을 반영한 추천  유저가 방문했던 골프장  추천 받은 골프장
  44. 44. 43 USER의 취향을 반영한 추천 축구 취향인 user
  45. 45. 44 USER의 취향을 반영한 추천 축구 취향인 user에게 축구 관련 장소로 추천
  46. 46. 45 USER의 취향을 반영한 추천  제주도 축구 관련 장소 위주 추천
  47. 47. 46 특정 집단(?) - 예: 방송 관련 집단 (Input에서 방송국은 1, 그 외는 모두 0) - 예: 성당 관련 집단 (Input에서 성당은 1, 그 외는 모두 0) 특정 집단이 많이 방문한 장소 분석 특정 집단이 많이 방문한 장소? - 예를 들어 방송 관련 집단이면 => 방송 관련 빌딩 => 이슈가 된 장소(진도항, 광주공항)
  48. 48. 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을 생성 방송국
  49. 49. 48 특정 집단이 많이 방문한 장소 분석  방송 관련 집단
  50. 50. 49 특정 집단이 많이 방문한 장소 분석  방송 관련 집단이 많이 방문한 장소
  51. 51. 50 특정 집단이 많이 방문한 장소 분석  방송 관련 집단이 많이 방문한 장소 – 빛마루 (방송 콘텐츠 제작지원 시설) – 누리꿈스퀘어 (방송 비즈니스 센터) – 진도항 (세월호 관련)
  52. 52. 51 특정 집단이 많이 방문한 장소 분석  성당 관련 집단
  53. 53. 52 특정 집단이 많이 방문한 장소 분석  성당 관련 집단이 많이 방문한 장소
  54. 54. 53 특정 집단이 많이 방문한 장소 분석  폐차 관련 집단
  55. 55. 54 특정 집단이 많이 방문한 장소 분석  폐차 관련 집단이 많이 방문한 장소
  56. 56. 55 특정 집단이 많이 방문한 장소 분석  엠파크?
  57. 57. 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)
  58. 58. 57 결론  DBN(Deep Belief Network) 추천 시스템 – Collaborative Filtering 알고리즘으로 사용 – training data로 Tmap data(Implicit data)를 사용  DBN 추천 시스템의 추천 성능 – USER의 취향을 반영한 추천이 가능함 – 특정 집단이 방문한 장소의 분석이 가능함
  59. 59. 58 향후 개선 방안  Contents-based Filtering 방법 적용 – CF(Collaborative Filtering)의 확장성 약점 보완  Explicit Feedback Data도 활용할 수 있도록 알고리즘 개선  공개된 다른 dataset에 대한 추가 실험
  60. 60. Q & A
  61. 61. 감사합니다.

×