SlideShare a Scribd company logo
1 of 21
Download to read offline
딥러닝을 활용한
Youtube 추천시스템
다빈
추천시스템이란
현대의 많은 인터넷 서비스에 추천
시스템이 적용되고 있음.
넷플릭스, 페이스북, 유튜브, 인터넷
광고, 뉴스 등
Ex) SNS 뉴스피드에 표시할 게시물
선택, 게임 매칭시스템, 데이트서비
스
추천시스템은 지도학습문제다
추천 문제는 컨텐츠와 사용자에 대한 정보를 인풋으로 하여
사용자의 반응을 예측하는 문제로 해석할 수 있다.
(사용자 반응: 클릭, 평점입력, 좋아요, 제품구매 등)
=> 회귀문제 또는 확률적 분류문제로 취급
대표적인 추천방식
• 유저간의 유사도를
바탕으로 추천하는
‘Collaborative
Filtering’ 방식
• 컨텐츠간의 유사도를
바탕으로 추천하는
‘Contents-Based’ 방
식
탐험 vs 활용 (exploration vs exploitation)
Matrix Factorization
행렬 인수분해를 이용하여 Collaborative Filtering을 구현하는 하
나의 방법.
우선 기본이 되는 SVD를 간단히 살펴보자.
Matrix Factorization
- 행렬 M은 3개의 행렬로 분해될 수 있음.
- 그 중, 가운데 m*n 행렬은 대각행렬로,
factor의 중요도를 나타내며 내림차순
정렬돼있음
Matrix Factorization
- 중요하지 않은 일부 factor를 버리고
다시 곱하면 M에 근사하는 행렬을 만
들어낼 수 있음.
=> 낮은차원의 잠재변수만을 이용해서
실제 행렬을 근사할 수 있다. 노이즈를
제거하며 차원축소가 이루어진다.
Matrix Factorization
- SVD분해에서 가운데 가중치행렬
이 U랑 V에 어떻게 잘 녹아들어
갔다고 생각하자.
- 원본행렬을 2개의 행렬로 분해가
가능함.
- 미지의 두 행렬을 다시 곱하여 원
본값과 비슷한 행렬이 나오도록
U와 V를 조절해준다.
Matrix Factorization
- MF의 결과 선택한 차원수 만큼
의 잠재변수로 사용자와 아이
템이 표현된다.
- A가 W에는 몇 점을 줄까?
딥러닝활용 - 유튜브 추천시스템(2016)
- 유튜브는 구글의 다른 서비스들과 함께 거의 모든 학습
문제에 대한 범용 솔루션으로 딥러닝을 사용하는 방향으
로 근본적인 패러다임 변화를 겪었다.
- MF의 방식을 딥러닝으로 흉내 내어 복잡하고 많은 변수
들을 사용할 수 있게 하였음
- 10억개의 파라메터, 1000억개의 데이터를 학습
- 딥러닝 구조를 추천시스템에 어떻게 활용하였는지 위주로 준비하였음. 피쳐 엔지니어링, 아키텍
쳐 디자인에 대한 세부 정보가 궁금하다면 아래 논문참조(카톡에 같이올렸음)
Paul Covington, Jay Adams, Emre Sargin - Deep Neural Networks for YouTube Recommendations
1. 유튜브 추천시스템이 도전적인 이유
1. 규모:
- 기존에 존재하던 추천알고리즘들은 소규모 문제에서만 잘 작동했음.
- 분산처리 시스템과 효율적으로 정보를 추리는 방법이 필수적임.
2. 신선함:
- 매초마다 수 시간의 새로운 영상들이 올라옴.
- 추천시스템은 이런 최신 컨텐츠와 사용자들의 최근 행동기록들을 분석할 수 있어야함.
- 신선한 컨텐츠와 이미 유명한 컨텐츠들 간의 밸런스는 탐험/활용 관점에서 해석될 수 있음.
3. 노이즈:
- 유튜브 사용기록은 매우 희소하고 다양한 외부요인들이 작용하기 때문에 예측이 어렵다.
- 유저의 진짜 만족에 대해서는 거의 알 수 없고 잡음 섞인 암묵적 피드백을 통해서만 모델링이
가능하다.
- 컨텐츠의 메타데이터가 잘 정리되어있지 않다.
2. System Overview
각각의 역할을 수행하는 2개의 네트워크로 구성
1. 후보생성 네트워크:
• 협업필터링을 기반으로 사용자의 행동기록을 인풋으로 하여
수백개의 후보영상들을 추려냄.
• 정밀도(precision)에 중점을 둠
• 검색단어, 인구통계, 영상 시청 기록, 영상 나이 등을 이용
2. 랭킹 네트워크:
• 간추려진 후보들의 순위를 매기는 네트워크.
• 재현률(recall)에 중점을 두어 각각의 비디오에 점수를 부여.
• 사용자와 영상의 관계를 표현하는 매우 풍부한 피쳐들을 이용
 이 두 네트워크를 통해 방대한 영상들로 부터 개인화된 소수의 영상을 제공
3. 후보생성 네트워크
유튜브의 수많은 영상들로부터 수백개
의 후보영상들을 추려내는 과정
• 각각의 비디오를 하나의 클래스로 취
급하여 익스트림한 멀티클래스 분류문
제로 다루었다.
• Matrix Factorization 접근법을 딥러닝
방식으로 일반화한 것.
3. 후보생성 네트워크
- u와 v는 각각 N차원으로 임베딩된 유저와 비디오정보.
- 기존에 희소공간에 존재하는 벡터들을 N차원의 dense
벡터로 매핑하여 사용한다.
유저특성(U)과 비디오정보(C)가 주어진 상황에서
시점 t에 유저가 비디오 i를 볼 확률을 계산.
 이게 왜 Matrix Factorization 방식?
3. 후보생성 네트워크
- u와 v는 각각 N차원으로 임베딩된 유저와 비디오정보.
- 기존에 희소공간에 존재하는 벡터들을 N차원의 dense
벡터로 매핑하여 사용한다.
 이게 왜 Matrix Factorization 방식?
유저특성(U)과 비디오정보(C)가 주어진 상황에서
시점 t에 유저가 비디오 i를 볼 확률을 계산.
Video
User
User
VideoFactor
Factor𝑣𝑗
𝑢𝑖
3. 후보생성 네트워크
- 유저가 시청하지 않은 영상 수천개를 샘플링하여
시청한 영상과 함께 훈련에 사용. 유저의 반응(클릭,
시청 등) 확률을 예측하게 한다.
- Cross-Entropy Loss 최소화
 신경망의 궁극적인 역할은 소프트맥스 분류기가
비디오들에 대한 유저의 반응을 잘 예측할 수 있도록
유저정보를 임베딩 하는 방법을 배우는 것.
유저특성(U)과 비디오정보(C)가 주어진 상황에서
시점 t에 유저가 비디오 i를 볼 확률을 계산.
3. 후보생성 네트워크
- serving time에는 수백만개의 비디오들에 대
한 점수를 일일히 계산하기에 시간 부족
- 이때는 u, v 벡터를 이용하여 KNN을 통해 근
사적으로 top N개의 영상을 추려냄.
- 미리 일부의 비디오에 대해 점수를 예측해
놓은 뒤(v,u내적), 높은 점수의 영상과 비슷한
영상을 골라내는 식
2048 - 1024 - 512 - 256 - softmax
Fully connected
4. 랭킹 네트워크
수 백 개의 후보 영상들을 사용자가 선호할 순서
대로 순위를 부여하는 네트워크.
- 목적은 추천된 횟수 대비 평균 감상 시간을 로지
스틱회귀로 예측하는 것.
- 대상이 수 백 개의 후보 영상으로 줄었기 때문에
유저와 영상 간의 더 많은 관계를 표현하는 변수
들을 포함시킬 수 있음.
- A/B테스트를 통해 지속적으로 구조를 업데이트.
꿀팁: 연속형 변수에 대해 𝑥, 𝑥2
, 𝑥 중 무엇이 더 좋을지 모른다면 모두 사용해 버리기~
 네트워크가 몇 개의 레이어를 거치는 비선형성을 직접 학습할 필요 없이 단일 레이어
의 가중치만 잘 학습하면 됨!
5. 결론
• 이 방법이 Matrix Factorization보다 좋다.
• 전체 시스템을 디자인하는 것은 과학이 아니라 거의 예술의 영역이다.
• "영상의 나이“ 변수가 잘 작동한다.
• 좋은 성능을 위해선 다양한 피쳐들을 잘 활용할 방법을 알아내야 한다.
• 노출 당 기대시청시간을 예측하는 모델이 클릭률을 예측하는 모델보다 결과가 좋다.

More Related Content

Similar to Chapter 12 applications - 2

If (kakao) _ 다음(DAUM)모바일 개선 이야기
If (kakao) _ 다음(DAUM)모바일 개선 이야기If (kakao) _ 다음(DAUM)모바일 개선 이야기
If (kakao) _ 다음(DAUM)모바일 개선 이야기광영 김
 
다음 모바일 첫 화면 개선기
다음 모바일 첫 화면 개선기다음 모바일 첫 화면 개선기
다음 모바일 첫 화면 개선기if kakao
 
JIGSAW: Interactive Mobile Visual Search with Multimodal Queries

JIGSAW: Interactive Mobile Visual Search with Multimodal Queries
JIGSAW: Interactive Mobile Visual Search with Multimodal Queries

JIGSAW: Interactive Mobile Visual Search with Multimodal Queries
Sumi Kim
 
Recommendatioin system basic
Recommendatioin system basicRecommendatioin system basic
Recommendatioin system basicSoo-Kyung Choi
 
DHS S&T MDTF Biometric Technology Rally
DHS S&T MDTF Biometric Technology RallyDHS S&T MDTF Biometric Technology Rally
DHS S&T MDTF Biometric Technology RallyIMQA
 
AdverTiming Matters : Examining User Ad Consumption for Effective Ad Allocati...
AdverTiming Matters : Examining User Ad Consumption for Effective Ad Allocati...AdverTiming Matters : Examining User Ad Consumption for Effective Ad Allocati...
AdverTiming Matters : Examining User Ad Consumption for Effective Ad Allocati...SodamKim14
 
Social Analytics 소개 (SDEC 오프모임 세미나)
Social Analytics 소개 (SDEC 오프모임 세미나)Social Analytics 소개 (SDEC 오프모임 세미나)
Social Analytics 소개 (SDEC 오프모임 세미나)NAVER D2
 
머신러닝의 개념과 실습
머신러닝의 개념과 실습머신러닝의 개념과 실습
머신러닝의 개념과 실습Byoung-Hee Kim
 
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강Minji Kang
 
마케팅인사이트 회사소개서
마케팅인사이트 회사소개서마케팅인사이트 회사소개서
마케팅인사이트 회사소개서mktarcadia
 
유비쿼터스 경영 I
유비쿼터스 경영 I유비쿼터스 경영 I
유비쿼터스 경영 IYeounjoon Kim
 
빅데이터를 활용한 소셜 큐레이션과 로컬 서비스 플랫폼 에트리_특강_자문
빅데이터를 활용한 소셜 큐레이션과 로컬 서비스 플랫폼 에트리_특강_자문빅데이터를 활용한 소셜 큐레이션과 로컬 서비스 플랫폼 에트리_특강_자문
빅데이터를 활용한 소셜 큐레이션과 로컬 서비스 플랫폼 에트리_특강_자문JM code group
 
사용자조사 계획 Skt_제안서_fin
사용자조사 계획 Skt_제안서_fin사용자조사 계획 Skt_제안서_fin
사용자조사 계획 Skt_제안서_finJongHo Lee
 
유저해빗(UserHabit) 서비스 소개서 요약본
유저해빗(UserHabit) 서비스 소개서 요약본유저해빗(UserHabit) 서비스 소개서 요약본
유저해빗(UserHabit) 서비스 소개서 요약본Ha ji Yoon
 
전혀 새로운 방법의 데이터 탐색 - 김민수 (Tableau)
전혀 새로운 방법의 데이터 탐색 - 김민수 (Tableau)전혀 새로운 방법의 데이터 탐색 - 김민수 (Tableau)
전혀 새로운 방법의 데이터 탐색 - 김민수 (Tableau)Yan So
 
실시간 시선추적 모니터링 솔루션
실시간 시선추적 모니터링 솔루션실시간 시선추적 모니터링 솔루션
실시간 시선추적 모니터링 솔루션Jong-peel Joo
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsseungwoo kim
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗BOAZ Bigdata
 

Similar to Chapter 12 applications - 2 (20)

If (kakao) _ 다음(DAUM)모바일 개선 이야기
If (kakao) _ 다음(DAUM)모바일 개선 이야기If (kakao) _ 다음(DAUM)모바일 개선 이야기
If (kakao) _ 다음(DAUM)모바일 개선 이야기
 
다음 모바일 첫 화면 개선기
다음 모바일 첫 화면 개선기다음 모바일 첫 화면 개선기
다음 모바일 첫 화면 개선기
 
JIGSAW: Interactive Mobile Visual Search with Multimodal Queries

JIGSAW: Interactive Mobile Visual Search with Multimodal Queries
JIGSAW: Interactive Mobile Visual Search with Multimodal Queries

JIGSAW: Interactive Mobile Visual Search with Multimodal Queries

 
Recommendatioin system basic
Recommendatioin system basicRecommendatioin system basic
Recommendatioin system basic
 
DHS S&T MDTF Biometric Technology Rally
DHS S&T MDTF Biometric Technology RallyDHS S&T MDTF Biometric Technology Rally
DHS S&T MDTF Biometric Technology Rally
 
AdverTiming Matters : Examining User Ad Consumption for Effective Ad Allocati...
AdverTiming Matters : Examining User Ad Consumption for Effective Ad Allocati...AdverTiming Matters : Examining User Ad Consumption for Effective Ad Allocati...
AdverTiming Matters : Examining User Ad Consumption for Effective Ad Allocati...
 
Social Analytics 소개 (SDEC 오프모임 세미나)
Social Analytics 소개 (SDEC 오프모임 세미나)Social Analytics 소개 (SDEC 오프모임 세미나)
Social Analytics 소개 (SDEC 오프모임 세미나)
 
머신러닝의 개념과 실습
머신러닝의 개념과 실습머신러닝의 개념과 실습
머신러닝의 개념과 실습
 
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
 
마케팅인사이트 회사소개서
마케팅인사이트 회사소개서마케팅인사이트 회사소개서
마케팅인사이트 회사소개서
 
[4차]왓챠 알고리즘 분석(151106)
[4차]왓챠 알고리즘 분석(151106)[4차]왓챠 알고리즘 분석(151106)
[4차]왓챠 알고리즘 분석(151106)
 
유비쿼터스 경영 I
유비쿼터스 경영 I유비쿼터스 경영 I
유비쿼터스 경영 I
 
빅데이터를 활용한 소셜 큐레이션과 로컬 서비스 플랫폼 에트리_특강_자문
빅데이터를 활용한 소셜 큐레이션과 로컬 서비스 플랫폼 에트리_특강_자문빅데이터를 활용한 소셜 큐레이션과 로컬 서비스 플랫폼 에트리_특강_자문
빅데이터를 활용한 소셜 큐레이션과 로컬 서비스 플랫폼 에트리_특강_자문
 
사용자조사 계획 Skt_제안서_fin
사용자조사 계획 Skt_제안서_fin사용자조사 계획 Skt_제안서_fin
사용자조사 계획 Skt_제안서_fin
 
유저해빗(UserHabit) 서비스 소개서 요약본
유저해빗(UserHabit) 서비스 소개서 요약본유저해빗(UserHabit) 서비스 소개서 요약본
유저해빗(UserHabit) 서비스 소개서 요약본
 
전혀 새로운 방법의 데이터 탐색 - 김민수 (Tableau)
전혀 새로운 방법의 데이터 탐색 - 김민수 (Tableau)전혀 새로운 방법의 데이터 탐색 - 김민수 (Tableau)
전혀 새로운 방법의 데이터 탐색 - 김민수 (Tableau)
 
실시간 시선추적 모니터링 솔루션
실시간 시선추적 모니터링 솔루션실시간 시선추적 모니터링 솔루션
실시간 시선추적 모니터링 솔루션
 
Algorithm Experience Design
Algorithm Experience DesignAlgorithm Experience Design
Algorithm Experience Design
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendations
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗
 

More from KyeongUkJang

Photo wake up - 3d character animation from a single photo
Photo wake up - 3d character animation from a single photoPhoto wake up - 3d character animation from a single photo
Photo wake up - 3d character animation from a single photoKyeongUkJang
 
GAN - Generative Adversarial Nets
GAN - Generative Adversarial NetsGAN - Generative Adversarial Nets
GAN - Generative Adversarial NetsKyeongUkJang
 
Distilling the knowledge in a neural network
Distilling the knowledge in a neural networkDistilling the knowledge in a neural network
Distilling the knowledge in a neural networkKyeongUkJang
 
Latent Dirichlet Allocation
Latent Dirichlet AllocationLatent Dirichlet Allocation
Latent Dirichlet AllocationKyeongUkJang
 
Gaussian Mixture Model
Gaussian Mixture ModelGaussian Mixture Model
Gaussian Mixture ModelKyeongUkJang
 
CNN for sentence classification
CNN for sentence classificationCNN for sentence classification
CNN for sentence classificationKyeongUkJang
 
Visualizing data using t-SNE
Visualizing data using t-SNEVisualizing data using t-SNE
Visualizing data using t-SNEKyeongUkJang
 
Playing atari with deep reinforcement learning
Playing atari with deep reinforcement learningPlaying atari with deep reinforcement learning
Playing atari with deep reinforcement learningKyeongUkJang
 
Chapter 20 Deep generative models
Chapter 20 Deep generative modelsChapter 20 Deep generative models
Chapter 20 Deep generative modelsKyeongUkJang
 
Chapter 19 Variational Inference
Chapter 19 Variational InferenceChapter 19 Variational Inference
Chapter 19 Variational InferenceKyeongUkJang
 
Natural Language Processing(NLP) - basic 2
Natural Language Processing(NLP) - basic 2Natural Language Processing(NLP) - basic 2
Natural Language Processing(NLP) - basic 2KyeongUkJang
 
Natural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - BasicNatural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - BasicKyeongUkJang
 
Chapter 17 monte carlo methods
Chapter 17 monte carlo methodsChapter 17 monte carlo methods
Chapter 17 monte carlo methodsKyeongUkJang
 
Chapter 16 structured probabilistic models for deep learning - 2
Chapter 16 structured probabilistic models for deep learning - 2Chapter 16 structured probabilistic models for deep learning - 2
Chapter 16 structured probabilistic models for deep learning - 2KyeongUkJang
 
Chapter 16 structured probabilistic models for deep learning - 1
Chapter 16 structured probabilistic models for deep learning - 1Chapter 16 structured probabilistic models for deep learning - 1
Chapter 16 structured probabilistic models for deep learning - 1KyeongUkJang
 

More from KyeongUkJang (20)

Photo wake up - 3d character animation from a single photo
Photo wake up - 3d character animation from a single photoPhoto wake up - 3d character animation from a single photo
Photo wake up - 3d character animation from a single photo
 
YOLO
YOLOYOLO
YOLO
 
AlphagoZero
AlphagoZeroAlphagoZero
AlphagoZero
 
GoogLenet
GoogLenetGoogLenet
GoogLenet
 
GAN - Generative Adversarial Nets
GAN - Generative Adversarial NetsGAN - Generative Adversarial Nets
GAN - Generative Adversarial Nets
 
Distilling the knowledge in a neural network
Distilling the knowledge in a neural networkDistilling the knowledge in a neural network
Distilling the knowledge in a neural network
 
Latent Dirichlet Allocation
Latent Dirichlet AllocationLatent Dirichlet Allocation
Latent Dirichlet Allocation
 
Gaussian Mixture Model
Gaussian Mixture ModelGaussian Mixture Model
Gaussian Mixture Model
 
CNN for sentence classification
CNN for sentence classificationCNN for sentence classification
CNN for sentence classification
 
Visualizing data using t-SNE
Visualizing data using t-SNEVisualizing data using t-SNE
Visualizing data using t-SNE
 
Playing atari with deep reinforcement learning
Playing atari with deep reinforcement learningPlaying atari with deep reinforcement learning
Playing atari with deep reinforcement learning
 
Chapter 20 - GAN
Chapter 20 - GANChapter 20 - GAN
Chapter 20 - GAN
 
Chapter 20 - VAE
Chapter 20 - VAEChapter 20 - VAE
Chapter 20 - VAE
 
Chapter 20 Deep generative models
Chapter 20 Deep generative modelsChapter 20 Deep generative models
Chapter 20 Deep generative models
 
Chapter 19 Variational Inference
Chapter 19 Variational InferenceChapter 19 Variational Inference
Chapter 19 Variational Inference
 
Natural Language Processing(NLP) - basic 2
Natural Language Processing(NLP) - basic 2Natural Language Processing(NLP) - basic 2
Natural Language Processing(NLP) - basic 2
 
Natural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - BasicNatural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - Basic
 
Chapter 17 monte carlo methods
Chapter 17 monte carlo methodsChapter 17 monte carlo methods
Chapter 17 monte carlo methods
 
Chapter 16 structured probabilistic models for deep learning - 2
Chapter 16 structured probabilistic models for deep learning - 2Chapter 16 structured probabilistic models for deep learning - 2
Chapter 16 structured probabilistic models for deep learning - 2
 
Chapter 16 structured probabilistic models for deep learning - 1
Chapter 16 structured probabilistic models for deep learning - 1Chapter 16 structured probabilistic models for deep learning - 1
Chapter 16 structured probabilistic models for deep learning - 1
 

Chapter 12 applications - 2

  • 2. 추천시스템이란 현대의 많은 인터넷 서비스에 추천 시스템이 적용되고 있음. 넷플릭스, 페이스북, 유튜브, 인터넷 광고, 뉴스 등 Ex) SNS 뉴스피드에 표시할 게시물 선택, 게임 매칭시스템, 데이트서비 스
  • 3. 추천시스템은 지도학습문제다 추천 문제는 컨텐츠와 사용자에 대한 정보를 인풋으로 하여 사용자의 반응을 예측하는 문제로 해석할 수 있다. (사용자 반응: 클릭, 평점입력, 좋아요, 제품구매 등) => 회귀문제 또는 확률적 분류문제로 취급
  • 4. 대표적인 추천방식 • 유저간의 유사도를 바탕으로 추천하는 ‘Collaborative Filtering’ 방식 • 컨텐츠간의 유사도를 바탕으로 추천하는 ‘Contents-Based’ 방 식
  • 5.
  • 6. 탐험 vs 활용 (exploration vs exploitation)
  • 7. Matrix Factorization 행렬 인수분해를 이용하여 Collaborative Filtering을 구현하는 하 나의 방법. 우선 기본이 되는 SVD를 간단히 살펴보자.
  • 8. Matrix Factorization - 행렬 M은 3개의 행렬로 분해될 수 있음. - 그 중, 가운데 m*n 행렬은 대각행렬로, factor의 중요도를 나타내며 내림차순 정렬돼있음
  • 9. Matrix Factorization - 중요하지 않은 일부 factor를 버리고 다시 곱하면 M에 근사하는 행렬을 만 들어낼 수 있음. => 낮은차원의 잠재변수만을 이용해서 실제 행렬을 근사할 수 있다. 노이즈를 제거하며 차원축소가 이루어진다.
  • 10. Matrix Factorization - SVD분해에서 가운데 가중치행렬 이 U랑 V에 어떻게 잘 녹아들어 갔다고 생각하자. - 원본행렬을 2개의 행렬로 분해가 가능함. - 미지의 두 행렬을 다시 곱하여 원 본값과 비슷한 행렬이 나오도록 U와 V를 조절해준다.
  • 11. Matrix Factorization - MF의 결과 선택한 차원수 만큼 의 잠재변수로 사용자와 아이 템이 표현된다. - A가 W에는 몇 점을 줄까?
  • 12. 딥러닝활용 - 유튜브 추천시스템(2016) - 유튜브는 구글의 다른 서비스들과 함께 거의 모든 학습 문제에 대한 범용 솔루션으로 딥러닝을 사용하는 방향으 로 근본적인 패러다임 변화를 겪었다. - MF의 방식을 딥러닝으로 흉내 내어 복잡하고 많은 변수 들을 사용할 수 있게 하였음 - 10억개의 파라메터, 1000억개의 데이터를 학습 - 딥러닝 구조를 추천시스템에 어떻게 활용하였는지 위주로 준비하였음. 피쳐 엔지니어링, 아키텍 쳐 디자인에 대한 세부 정보가 궁금하다면 아래 논문참조(카톡에 같이올렸음) Paul Covington, Jay Adams, Emre Sargin - Deep Neural Networks for YouTube Recommendations
  • 13. 1. 유튜브 추천시스템이 도전적인 이유 1. 규모: - 기존에 존재하던 추천알고리즘들은 소규모 문제에서만 잘 작동했음. - 분산처리 시스템과 효율적으로 정보를 추리는 방법이 필수적임. 2. 신선함: - 매초마다 수 시간의 새로운 영상들이 올라옴. - 추천시스템은 이런 최신 컨텐츠와 사용자들의 최근 행동기록들을 분석할 수 있어야함. - 신선한 컨텐츠와 이미 유명한 컨텐츠들 간의 밸런스는 탐험/활용 관점에서 해석될 수 있음. 3. 노이즈: - 유튜브 사용기록은 매우 희소하고 다양한 외부요인들이 작용하기 때문에 예측이 어렵다. - 유저의 진짜 만족에 대해서는 거의 알 수 없고 잡음 섞인 암묵적 피드백을 통해서만 모델링이 가능하다. - 컨텐츠의 메타데이터가 잘 정리되어있지 않다.
  • 14. 2. System Overview 각각의 역할을 수행하는 2개의 네트워크로 구성 1. 후보생성 네트워크: • 협업필터링을 기반으로 사용자의 행동기록을 인풋으로 하여 수백개의 후보영상들을 추려냄. • 정밀도(precision)에 중점을 둠 • 검색단어, 인구통계, 영상 시청 기록, 영상 나이 등을 이용 2. 랭킹 네트워크: • 간추려진 후보들의 순위를 매기는 네트워크. • 재현률(recall)에 중점을 두어 각각의 비디오에 점수를 부여. • 사용자와 영상의 관계를 표현하는 매우 풍부한 피쳐들을 이용  이 두 네트워크를 통해 방대한 영상들로 부터 개인화된 소수의 영상을 제공
  • 15. 3. 후보생성 네트워크 유튜브의 수많은 영상들로부터 수백개 의 후보영상들을 추려내는 과정 • 각각의 비디오를 하나의 클래스로 취 급하여 익스트림한 멀티클래스 분류문 제로 다루었다. • Matrix Factorization 접근법을 딥러닝 방식으로 일반화한 것.
  • 16. 3. 후보생성 네트워크 - u와 v는 각각 N차원으로 임베딩된 유저와 비디오정보. - 기존에 희소공간에 존재하는 벡터들을 N차원의 dense 벡터로 매핑하여 사용한다. 유저특성(U)과 비디오정보(C)가 주어진 상황에서 시점 t에 유저가 비디오 i를 볼 확률을 계산.  이게 왜 Matrix Factorization 방식?
  • 17. 3. 후보생성 네트워크 - u와 v는 각각 N차원으로 임베딩된 유저와 비디오정보. - 기존에 희소공간에 존재하는 벡터들을 N차원의 dense 벡터로 매핑하여 사용한다.  이게 왜 Matrix Factorization 방식? 유저특성(U)과 비디오정보(C)가 주어진 상황에서 시점 t에 유저가 비디오 i를 볼 확률을 계산. Video User User VideoFactor Factor𝑣𝑗 𝑢𝑖
  • 18. 3. 후보생성 네트워크 - 유저가 시청하지 않은 영상 수천개를 샘플링하여 시청한 영상과 함께 훈련에 사용. 유저의 반응(클릭, 시청 등) 확률을 예측하게 한다. - Cross-Entropy Loss 최소화  신경망의 궁극적인 역할은 소프트맥스 분류기가 비디오들에 대한 유저의 반응을 잘 예측할 수 있도록 유저정보를 임베딩 하는 방법을 배우는 것. 유저특성(U)과 비디오정보(C)가 주어진 상황에서 시점 t에 유저가 비디오 i를 볼 확률을 계산.
  • 19. 3. 후보생성 네트워크 - serving time에는 수백만개의 비디오들에 대 한 점수를 일일히 계산하기에 시간 부족 - 이때는 u, v 벡터를 이용하여 KNN을 통해 근 사적으로 top N개의 영상을 추려냄. - 미리 일부의 비디오에 대해 점수를 예측해 놓은 뒤(v,u내적), 높은 점수의 영상과 비슷한 영상을 골라내는 식 2048 - 1024 - 512 - 256 - softmax Fully connected
  • 20. 4. 랭킹 네트워크 수 백 개의 후보 영상들을 사용자가 선호할 순서 대로 순위를 부여하는 네트워크. - 목적은 추천된 횟수 대비 평균 감상 시간을 로지 스틱회귀로 예측하는 것. - 대상이 수 백 개의 후보 영상으로 줄었기 때문에 유저와 영상 간의 더 많은 관계를 표현하는 변수 들을 포함시킬 수 있음. - A/B테스트를 통해 지속적으로 구조를 업데이트. 꿀팁: 연속형 변수에 대해 𝑥, 𝑥2 , 𝑥 중 무엇이 더 좋을지 모른다면 모두 사용해 버리기~  네트워크가 몇 개의 레이어를 거치는 비선형성을 직접 학습할 필요 없이 단일 레이어 의 가중치만 잘 학습하면 됨!
  • 21. 5. 결론 • 이 방법이 Matrix Factorization보다 좋다. • 전체 시스템을 디자인하는 것은 과학이 아니라 거의 예술의 영역이다. • "영상의 나이“ 변수가 잘 작동한다. • 좋은 성능을 위해선 다양한 피쳐들을 잘 활용할 방법을 알아내야 한다. • 노출 당 기대시청시간을 예측하는 모델이 클릭률을 예측하는 모델보다 결과가 좋다.