SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
DeepNeuralNetworks
forYouTubeRecommendations
(2016) Paul Covington et al.
발표: 곽근봉
© NBT All Rights Reserved.
이논문을선정한이유
출처 : http://www.dailysecu.com/?mod=news&act=articleView&idxno=28265
© NBT All Rights Reserved.
이논문을선정한이유
출처 : http://biz.chosun.com/site/data/html_dir/2017/05/10/2017051001161.html
© NBT All Rights Reserved.
이논문을선정한이유
출처 : http://m.post.naver.com/viewer/postView.nhn?volumeNo=10452898
© NBT All Rights Reserved.
참고 자료
최근우님의 블로그
http://keunwoochoi.blogspot.kr/2016/09/deep-neural-networks-for-youtube.html
논문 저자의 강연
https://www.youtube.com/watch?v=WK_Nr4tUtl8&t=833s
© NBT All Rights Reserved.
개요
실제서비스에적용하여성능을개선시킨추천엔진
• Candidate Generation Model
• Ranking Model
• A/B 테스트를 통한 실제 환경 개선
© NBT All Rights Reserved.
실제상황에서겪게되는이슈들
• Scale : 엄청난 양의 데이터와 제한된 컴퓨팅 파워
• Freshness : 새로운 컨텐츠의 빠른 적용
• Noise : 낮은 meta data 퀄리티, Implicit Feedback 위주 데이터
© NBT All Rights Reserved.
모델설명
Candidate Generation Model : High-Recall이 목표
Ranking Model : 다양한 다른 소스들의 적용을 통한 성능 개선
© NBT All Rights Reserved.
Candidate Generation
© NBT All Rights Reserved.
Embeddings
• Video Embedding과 Search Token Embedding
• Dense Vector (CBOW에서 영감을 받음)
• Backpropagation을 통해서 embedding도 함께 학습
© NBT All Rights Reserved.
Combiner
• 고정된 사이즈의 Input으로 바꿈
• 다양한 방법을 사용해봤는데 average가 성능이 제일 좋음
© NBT All Rights Reserved.
Additional Features
• 단순하게 옆에 전부 concatenate 해버림
© NBT All Rights Reserved.
ReLU Stack
• Fully connected “Tower”
• Output으로 user embedding이 나온다
© NBT All Rights Reserved.
Softmax Prediction
• 각 video별 가중치가 output으로 나온다
• Negative Sampling
© NBT All Rights Reserved.
Serving
• 상위 N개의 비디오
• Dot-product space에서 가
장 가까운 아이템을 찾음
• Nearest Neighbor 알고리즘
간에 성능차이는 없음
© NBT All Rights Reserved.
“ExampleAge”Feature
영상의나이가엄청나게중요!
• Freshness is very important
• 히스토리 데이터를 기반으로 학습을
시키면 오래된 아이템들이 더 추천을
많이 받는 현상
• “영상의 나이”를 추가 feature로 넣
어보자!
© NBT All Rights Reserved.
그외실제환경을고려한요소들
• 모든 비디오 시청이력을 확인해야 bias가 없다
• 학습에 사용할 이용자별 영상 횟수를 fix해야 heavy user에 치우치치 않는다
• 새로운 검색 쿼리에 즉시 추천엔진을 반영하지 않는다
• 비대칭적인 감상 패턴을 적용해서 학습 시킨다
© NBT All Rights Reserved.
실험셋팅및결과
• Embedding size : 256
• Video : 100만개
• 검색어 : 100만개
• 인당최대 개수 : 50개
© NBT All Rights Reserved.
Ranking
Embeddings
• 앞의 모델과 같은 ID space, 같은 embedding을 사용한다
• continuous feature들은 normalize해서 사용한다
© NBT All Rights Reserved.
RankingModel
© NBT All Rights Reserved.
ModelingExpectedWatchTime
• 추천된 영상을 얼마나 오래동안 볼지 예측하는 것을 목표로 함
• 감상시간은 안봤으면 0, 봤으면 본 시간을 값으로 넣는다
• 감상 시간으로 가중치를 줌 (Weighted logistic regression)
© NBT All Rights Reserved.
FeatureEngineering
딥러닝이긴하지만..
• 각 feature들을 어느정도 가공해줘야 한다
• 특히나 시간 연속성을 가진 데이터들은 summarizing이 필요
• 사용자 이용패턴, 추천했는데 보지않았던 영상 등도 활용
• 가장 좋은 feature는 비슷한 비디오에 대한 유저의 반응
© NBT All Rights Reserved.
실험셋팅및결과
© NBT All Rights Reserved.
결론
• 이 모델로 기존의 방법보다 성능을 많이 향상 시켰다
• 모든 것을 딥러닝으로 하기는 쉽지 않다.
• “영상의 나이”가 성능을 크게 개선 시켰다
• 감상 시간별로 가중치를 주는 것도 개선점이 컸다
© NBT All Rights Reserved.
감사합니다.

Mais conteúdo relacionado

Mais procurados

CloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみたCloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみた
Terui Masashi
 

Mais procurados (20)

AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
AWS IoT Coreを オンプレミス環境と使う際の アーキテクチャ例 (AWS IoT Deep Dive #5)
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
 
[Causal Inference KR] 스타트업에서의 인과추론
[Causal Inference KR] 스타트업에서의 인과추론[Causal Inference KR] 스타트업에서의 인과추론
[Causal Inference KR] 스타트업에서의 인과추론
 
Multicastが出来ないならUnicastすればいいじゃない
Multicastが出来ないならUnicastすればいいじゃないMulticastが出来ないならUnicastすればいいじゃない
Multicastが出来ないならUnicastすればいいじゃない
 
CloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみたCloudWatch(+sns+sqs)で障害対応を自動化してみた
CloudWatch(+sns+sqs)で障害対応を自動化してみた
 
서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기
 
엑싯한 창업자가 말해주는 스타트업 이직의 기술과 비밀
엑싯한 창업자가 말해주는 스타트업 이직의 기술과 비밀엑싯한 창업자가 말해주는 스타트업 이직의 기술과 비밀
엑싯한 창업자가 말해주는 스타트업 이직의 기술과 비밀
 
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
 
AI と個人情報 ~AI 学習用データとしての個人情報と AI 処理対象としての個人情報~
AI と個人情報 ~AI 学習用データとしての個人情報と AI 処理対象としての個人情報~AI と個人情報 ~AI 学習用データとしての個人情報と AI 処理対象としての個人情報~
AI と個人情報 ~AI 学習用データとしての個人情報と AI 処理対象としての個人情報~
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略
 
Google Cloud で実践する SRE
Google Cloud で実践する SRE  Google Cloud で実践する SRE
Google Cloud で実践する SRE
 
CloudFront経由でのCORS利用
CloudFront経由でのCORS利用CloudFront経由でのCORS利用
CloudFront経由でのCORS利用
 
Deview2020 유저가 좋은 작품(웹툰)을 만났을때
Deview2020 유저가 좋은 작품(웹툰)을 만났을때 Deview2020 유저가 좋은 작품(웹툰)을 만났을때
Deview2020 유저가 좋은 작품(웹툰)을 만났을때
 
俺のTerraform CI/CD ライフサイクル
俺のTerraform CI/CD ライフサイクル俺のTerraform CI/CD ライフサイクル
俺のTerraform CI/CD ライフサイクル
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
品質管理 & 設備保全のための機械学習入門 2019年9月 (Quality Control and Predictive Maintenance App...
品質管理 & 設備保全のための機械学習入門 2019年9月 (Quality Control and Predictive Maintenance App...品質管理 & 設備保全のための機械学習入門 2019年9月 (Quality Control and Predictive Maintenance App...
品質管理 & 設備保全のための機械学習入門 2019年9月 (Quality Control and Predictive Maintenance App...
 
GraphQLでフロントエンドの複雑性とたたかう
GraphQLでフロントエンドの複雑性とたたかうGraphQLでフロントエンドの複雑性とたたかう
GraphQLでフロントエンドの複雑性とたたかう
 
Amazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみたAmazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみた
 

Semelhante a 논문리뷰: Deep Neural Networks for YouTube Recommendations

INFCON2023-지속 가능한 소프트웨어 개발을 위한 경험과 통찰
INFCON2023-지속 가능한 소프트웨어 개발을 위한 경험과 통찰INFCON2023-지속 가능한 소프트웨어 개발을 위한 경험과 통찰
INFCON2023-지속 가능한 소프트웨어 개발을 위한 경험과 통찰
Myeongseok Baek
 

Semelhante a 논문리뷰: Deep Neural Networks for YouTube Recommendations (20)

Wide&Deep Learning for Recommender Systems
Wide&Deep Learning for Recommender SystemsWide&Deep Learning for Recommender Systems
Wide&Deep Learning for Recommender Systems
 
2020년 10월 10일 개발자 이야기
2020년 10월 10일 개발자 이야기2020년 10월 10일 개발자 이야기
2020년 10월 10일 개발자 이야기
 
PR-099: MRNet-Product2Vec
PR-099: MRNet-Product2VecPR-099: MRNet-Product2Vec
PR-099: MRNet-Product2Vec
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다
 
김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15
 
2021년 1월 30일 개발자 이야기
2021년 1월 30일 개발자 이야기2021년 1월 30일 개발자 이야기
2021년 1월 30일 개발자 이야기
 
PR12 논문 리뷰 Distributed Representations of Sentences and Documents
PR12 논문 리뷰 Distributed Representations of Sentences and DocumentsPR12 논문 리뷰 Distributed Representations of Sentences and Documents
PR12 논문 리뷰 Distributed Representations of Sentences and Documents
 
Trick and Please : A Mixed-Method Study on User Assumptions about the TikTok ...
Trick and Please : A Mixed-Method Study on User Assumptions about the TikTok ...Trick and Please : A Mixed-Method Study on User Assumptions about the TikTok ...
Trick and Please : A Mixed-Method Study on User Assumptions about the TikTok ...
 
Ask me anything: Dynamic memory networks for natural language processing
Ask me anything: Dynamic memory networks for natural language processingAsk me anything: Dynamic memory networks for natural language processing
Ask me anything: Dynamic memory networks for natural language processing
 
데이블 Dable news_홍보자료
데이블 Dable news_홍보자료데이블 Dable news_홍보자료
데이블 Dable news_홍보자료
 
INFCON2023-지속 가능한 소프트웨어 개발을 위한 경험과 통찰
INFCON2023-지속 가능한 소프트웨어 개발을 위한 경험과 통찰INFCON2023-지속 가능한 소프트웨어 개발을 위한 경험과 통찰
INFCON2023-지속 가능한 소프트웨어 개발을 위한 경험과 통찰
 
NBT 유클라우드 사례 발표
NBT 유클라우드 사례 발표NBT 유클라우드 사례 발표
NBT 유클라우드 사례 발표
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
그로스해킹 기초
그로스해킹 기초그로스해킹 기초
그로스해킹 기초
 
2021년 3월 6일 개발자 이야기
2021년 3월 6일 개발자 이야기2021년 3월 6일 개발자 이야기
2021년 3월 6일 개발자 이야기
 
제 18회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [분모자] : 분류 모자이크
제 18회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [분모자] : 분류 모자이크제 18회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [분모자] : 분류 모자이크
제 18회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [분모자] : 분류 모자이크
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)
 
Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
 
HB Smith - business plan - live hero - public
HB Smith - business plan - live hero - publicHB Smith - business plan - live hero - public
HB Smith - business plan - live hero - public
 
원격테스트
 원격테스트 원격테스트
원격테스트
 

Mais de keunbong kwak

Mais de keunbong kwak (7)

NBT 그로스해킹 교육 자료
NBT 그로스해킹 교육 자료NBT 그로스해킹 교육 자료
NBT 그로스해킹 교육 자료
 
Ad Tech 개요
Ad Tech 개요Ad Tech 개요
Ad Tech 개요
 
GloVe:Global vectors for word representation
GloVe:Global vectors for word representationGloVe:Global vectors for word representation
GloVe:Global vectors for word representation
 
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
 
에디터스랩 발표
에디터스랩 발표에디터스랩 발표
에디터스랩 발표
 
Convolutional neural networks for sentence classification
Convolutional neural networks for sentence classificationConvolutional neural networks for sentence classification
Convolutional neural networks for sentence classification
 
Window manager활용하기 곽근봉
Window manager활용하기 곽근봉Window manager활용하기 곽근봉
Window manager활용하기 곽근봉
 

논문리뷰: Deep Neural Networks for YouTube Recommendations

  • 2. © NBT All Rights Reserved. 이논문을선정한이유 출처 : http://www.dailysecu.com/?mod=news&act=articleView&idxno=28265
  • 3. © NBT All Rights Reserved. 이논문을선정한이유 출처 : http://biz.chosun.com/site/data/html_dir/2017/05/10/2017051001161.html
  • 4. © NBT All Rights Reserved. 이논문을선정한이유 출처 : http://m.post.naver.com/viewer/postView.nhn?volumeNo=10452898
  • 5. © NBT All Rights Reserved. 참고 자료 최근우님의 블로그 http://keunwoochoi.blogspot.kr/2016/09/deep-neural-networks-for-youtube.html 논문 저자의 강연 https://www.youtube.com/watch?v=WK_Nr4tUtl8&t=833s
  • 6. © NBT All Rights Reserved. 개요 실제서비스에적용하여성능을개선시킨추천엔진 • Candidate Generation Model • Ranking Model • A/B 테스트를 통한 실제 환경 개선
  • 7. © NBT All Rights Reserved. 실제상황에서겪게되는이슈들 • Scale : 엄청난 양의 데이터와 제한된 컴퓨팅 파워 • Freshness : 새로운 컨텐츠의 빠른 적용 • Noise : 낮은 meta data 퀄리티, Implicit Feedback 위주 데이터
  • 8. © NBT All Rights Reserved. 모델설명 Candidate Generation Model : High-Recall이 목표 Ranking Model : 다양한 다른 소스들의 적용을 통한 성능 개선
  • 9. © NBT All Rights Reserved. Candidate Generation
  • 10. © NBT All Rights Reserved. Embeddings • Video Embedding과 Search Token Embedding • Dense Vector (CBOW에서 영감을 받음) • Backpropagation을 통해서 embedding도 함께 학습
  • 11. © NBT All Rights Reserved. Combiner • 고정된 사이즈의 Input으로 바꿈 • 다양한 방법을 사용해봤는데 average가 성능이 제일 좋음
  • 12. © NBT All Rights Reserved. Additional Features • 단순하게 옆에 전부 concatenate 해버림
  • 13. © NBT All Rights Reserved. ReLU Stack • Fully connected “Tower” • Output으로 user embedding이 나온다
  • 14. © NBT All Rights Reserved. Softmax Prediction • 각 video별 가중치가 output으로 나온다 • Negative Sampling
  • 15. © NBT All Rights Reserved. Serving • 상위 N개의 비디오 • Dot-product space에서 가 장 가까운 아이템을 찾음 • Nearest Neighbor 알고리즘 간에 성능차이는 없음
  • 16. © NBT All Rights Reserved. “ExampleAge”Feature 영상의나이가엄청나게중요! • Freshness is very important • 히스토리 데이터를 기반으로 학습을 시키면 오래된 아이템들이 더 추천을 많이 받는 현상 • “영상의 나이”를 추가 feature로 넣 어보자!
  • 17. © NBT All Rights Reserved. 그외실제환경을고려한요소들 • 모든 비디오 시청이력을 확인해야 bias가 없다 • 학습에 사용할 이용자별 영상 횟수를 fix해야 heavy user에 치우치치 않는다 • 새로운 검색 쿼리에 즉시 추천엔진을 반영하지 않는다 • 비대칭적인 감상 패턴을 적용해서 학습 시킨다
  • 18. © NBT All Rights Reserved. 실험셋팅및결과 • Embedding size : 256 • Video : 100만개 • 검색어 : 100만개 • 인당최대 개수 : 50개
  • 19. © NBT All Rights Reserved. Ranking
  • 20. Embeddings • 앞의 모델과 같은 ID space, 같은 embedding을 사용한다 • continuous feature들은 normalize해서 사용한다
  • 21. © NBT All Rights Reserved. RankingModel
  • 22. © NBT All Rights Reserved. ModelingExpectedWatchTime • 추천된 영상을 얼마나 오래동안 볼지 예측하는 것을 목표로 함 • 감상시간은 안봤으면 0, 봤으면 본 시간을 값으로 넣는다 • 감상 시간으로 가중치를 줌 (Weighted logistic regression)
  • 23. © NBT All Rights Reserved. FeatureEngineering 딥러닝이긴하지만.. • 각 feature들을 어느정도 가공해줘야 한다 • 특히나 시간 연속성을 가진 데이터들은 summarizing이 필요 • 사용자 이용패턴, 추천했는데 보지않았던 영상 등도 활용 • 가장 좋은 feature는 비슷한 비디오에 대한 유저의 반응
  • 24. © NBT All Rights Reserved. 실험셋팅및결과
  • 25. © NBT All Rights Reserved. 결론 • 이 모델로 기존의 방법보다 성능을 많이 향상 시켰다 • 모든 것을 딥러닝으로 하기는 쉽지 않다. • “영상의 나이”가 성능을 크게 개선 시켰다 • 감상 시간별로 가중치를 주는 것도 개선점이 컸다
  • 26. © NBT All Rights Reserved. 감사합니다.