Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Synapse: 利用者の文脈に応じて 継続的に推薦手法の選択を 最適化する推薦システム/io...
Search
monochromegane
May 24, 2019
Technology
0
740
Synapse: 利用者の文脈に応じて 継続的に推薦手法の選択を 最適化する推薦システム/iot45_synapse
第45回 情報処理学会 インターネットと運用技術研究会
https://www.ipsj.or.jp/kenkyukai/event/csec85iot45.html
monochromegane
May 24, 2019
Tweet
Share
More Decks by monochromegane
See All by monochromegane
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
170
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
1
530
Go言語でMac GPUプログラミング
monochromegane
1
310
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
730
迅速な学習機構を用いて逐次適応性を損なうことなく非線形性を扱う文脈付き多腕バンディット手法/extreme_neural_linear_bandits
monochromegane
0
1.8k
再帰化への認知的転回/the-turn-to-recursive-system
monochromegane
0
680
仮想的な探索を用いて文脈や時間の経過による番狂わせにも迅速に追従する多腕バンディット手法/wi2_lkf_bandits
monochromegane
0
630
Synapse: 文脈と時間経過に応じて推薦手法の選択を最適化するメタ推薦システム/smash21-synapse
monochromegane
0
530
なめらかなシステムと運用維持の未来/dicomo2021-coherently-fittable-system
monochromegane
1
31k
Other Decks in Technology
See All in Technology
手軽に始める? おうちサーバーのすゝめ
nyagasan
0
180
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
140
標準最高!標準はださくないぞ! at fukuoka.ts #1
yoiwamoto
0
150
Namespace, Now and Then
tagomoris
0
170
Oracle Database Backup Service:サービス概要のご紹介
oracle4engineer
PRO
0
4k
技術ブログや登壇資料を秒で作るコツ伝授します
minorun365
PRO
16
4.3k
Evolving DevOps Teams and Flexible Organizational Culture
kakehashi
1
130
Datadogの便利な使い方 - 意外と知らない?CoScreenとCloudcraft
taijihagino
PRO
1
600
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
9.3k
音声AIエージェントの世界とRetell AI入門 / Introduction to the World of Voice AI Agents and Retell AI
rkaga
3
450
React Aria で実現する次世代のアクセシビリティ
ryo_manba
2
230
Azure Cosmos DB での時系列ログの運用と改善
sansantech
PRO
0
190
Featured
See All Featured
Building Adaptive Systems
keathley
36
2.1k
The Cult of Friendly URLs
andyhume
76
5.9k
How to Ace a Technical Interview
jacobian
275
23k
Into the Great Unknown - MozCon
thekraken
28
1.4k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Automating Front-end Workflow
addyosmani
1365
200k
Code Review Best Practice
trishagee
62
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Testing 201, or: Great Expectations
jmmastey
35
6.9k
Designing with Data
zakiwarfel
98
5k
Transcript
ࡾ༔հ / Pepabo R&D Institute, GMO Pepabo, Inc. 2019.05.24 ୈ45ճ
ใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ݚڀձ Synapse: ར༻ऀͷจ຺ʹԠͯ͡ ܧଓతʹਪનख๏ͷબΛ ࠷దԽ͢ΔਪનγεςϜ
1. ͡Ίʹ 2. എܠ 3. ఏҊख๏ 4. ධՁ 5. ·ͱΊ
2 ࣍
1. ͡Ίʹ
• ECαΠτͰ૿େʹ͏ใաଟΛղܾ͢ΔͨΊΛࣗಈతʹఏ Ҋ͢ΔػೳʢਪનγεςϜʣ͕ಋೖ͞ΕΔɽ • ਪનख๏ਪનࠜڌͱͳΔใݯํࣜʹΑͬͯબఆ͢Δ͕ҟͳΔ • ར༻ऀͷཁٻΛຬͨ͢Λબఆ͢ΔՄೳੑͷߴ͍ਪનख๏Λબ͢Δ͜ͱ͕ ӡӦऀʹͱͬͯॏཁ 4 ݚڀͷత
• Which is the best ? • ༰ϕʔεܕਪન • ྨࣅը૾
• ྨࣅςΩετ • ڠௐܕਪન • ࣝϕʔεܕਪન • ϋΠϒϦουܕਪન • ฒྻܕɼྻܕ… 5 ਪનख๏ͷબ
• Which is the best • ༰ϕʔεܕਪન • ྨࣅը૾ •
ྨࣅςΩετ • ڠௐܕਪન • ࣝϕʔεܕਪન • ϋΠϒϦουܕਪન • ฒྻܕɼྻܕ… 6 ಛఆͷ݅Ͱͷਪનख๏ͷબ • In the case ? • ਫ਼ • ͷಛੑ • ༰ͷදݱྗ • ίʔϧυελʔτ • ۙࣅ • จ຺ • ར༻ऀͷঢ়گͱཁٻ
• Which is the best • ༰ϕʔεܕਪન • ྨࣅը૾ •
ྨࣅςΩετ • ڠௐܕਪન • ࣝϕʔεܕਪન • ϋΠϒϦουܕਪન • ฒྻܕɼྻܕ… 7 ECαΠτͷಛఆͷ݅Ͱͷਪનख๏ͷબ • In the case • ਫ਼ • ͷಛੑ • ༰ͷදݱྗ • ίʔϧυελʔτ • ۙࣅ • จ຺ • ར༻ऀͷঢ়گͱཁٻ • On a EC site ? • ܧଓతͳվળ • ػೳՃ • ར༻ऀ૿Ճ • அଓతͳվѱ • ෆ۩߹ • γεςϜෛՙ • ݱࡏͷ࠷ળखͷٻ
ਪનख๏ͷ༏ྼଟ͘ͷ݅ʢจ຺ʣʹΑͬͯࠨӈ͞ΕΔ 8 ݚڀͷഎܠͱఏҊͷࠎࢠ ࣄલʹఆΊͨจ຺͝ͱʹਪનख๏ͷબΛࣗಈత͔ͭܧଓతʹ࠷దԽ͢Δਪન γεςϜͷఏҊ ༗ޮͳਪનख๏Λػձଛࣦ͕ͳ͍Α͏ʹจ຺ʹԠ͍͚͍ͯͨ͡
3. എܠ
• ᶃ ਪનख๏ͷ༏ྼ͕จ຺ʹΑͬͯมԽ͢Δ • ᶄ ༏ྼͷมԽ͢Δ൚༻తͰ໌֬ͳج४͕ͳ͍ • ᶅ ༏ྼ͕ܧଓతʹมԽ͢Δ 10
ਪનख๏ͷબʹ·ͭΘΔ՝ ECαΠτͷӡӦऀར༻ऀͷཁٻΛຬͨ͢Մೳੑͷߴ͍ਪનख๏Λબ͍ͨ͠ ͕ɼҎԼͷ՝ͷͨΊಋೖઌ͝ͱͷධՁͱௐ͕ߦΘΕ͍ͯΔɽ
11 ՝ᶃ ਪનख๏ͷ༏ྼ͕จ຺ʹΑͬͯมԽ͢Δ • ਪનख๏ͷ༏ྼଟ͘ͷ݅ʢจ຺ʣʹΑͬͯࠨӈ͞ΕΔ • ਪનख๏ͷલఏํࣜʹىҼ͢Δ੍ • ਪનରͱͳΔͷಛੑ •
ԠදࣔॱংͳͲͷ࣮ཁҼ • ΫϦοΫߪೖͳͲͷධՁࢦඪ • ਪન݁ՌΛධՁ͢Δར༻ऀଆͷঢ়گ
12 ՝ᶃ ਪનख๏ͷ༏ྼ͕จ຺ʹΑͬͯมԽ͢Δ ਪનରͱͳΔͷಛੑɼධՁࢦඪʹΑΔ༏ྼࠩͷྫ
13 ՝ᶃ ਪનख๏ͷ༏ྼ͕จ຺ʹΑͬͯมԽ͢Δ ਪનख๏ͷ༏ྼଟ͘ͷ݅ʢจ຺ʣʹΑͬͯࠨӈ͞ΕΔ ݅ʢจ຺ʣΛఆΊͯɼจ຺͝ͱʹదͨ͠ਪનख๏Λ͍͚Δ͜ͱͰਪનγ εςϜશମͰར༻ऀͷཁٻΛຬͨ͢Λબఆ͢ΔՄೳੑΛߴΊ͍ͨ
14 ՝ᶄ ༏ྼͷมԽ͢Δ൚༻తͰ໌֬ͳج४͕ͳ͍ • ༏ྼࠩͷج४ʹ͍ͭͯͷҰൠతͳ͜Ε·ͰͷใࠂධՁߟ͕͋Δͷ ͷจ຺ґଘͷͨΊ൚༻తͰ໌֬ͳج४ଘࡏ͠ͳ͍ • Ұൠతͳߟʹج͖ͮͭͭɼ࣮ڥͰͷධՁʹΑ͍͚ͬͯͷج४ ΛٻΊΔඞཁ͕͋Δ
• ϋΠϒϦουܕਪન • ਪનख๏ΛΈ߹Θ֤ͤͯख๏ͷॴΛิ͏ • ߪങཤྺ͕ੵ͞ΕΔ·Ͱ༰ϕʔεΛॏࢹɼੵޙʹڠௐܕΛॏࢹ 15 ՝ᶄ ༏ྼͷมԽ͢Δ൚༻తͰ໌֬ͳج४͕ͳ͍ $53
)JTUPSZDPVOU -PX .JEEMF )JHI $POUFOUCBTF $PDPSBCPSBUFCBTF ڠௐܕਪન͕ߪങཤྺͷੵʹΑͬͯਫ਼্͕͠༰ϕʔεܕ ਪનͷਫ਼ͱٯస͢Δ͜ͱΛදݱͨࣜ͠ਤ ߪങཤྺͷੵ͕۩ମతʹԿ݅ʹୡͨ࣌͠ʹ༰ϕʔεܕਪનͱ Γସ͑Δ͖͔࣮ڥͰͷධՁ͕ඞཁ
16 ՝ᶅ ༏ྼ͕ܧଓతʹมԽ͢Δ ECαΠτɼ࣮ڥͰͷධՁʹΑͬͯಘΒΕͨ݅͝ͱͷޮՌࠩʹج͍ͮͨਪ નख๏ͷ͍͚ʹΑͬͯਪનγεςϜͷޮՌΛܧଓతʹ࠷େԽ͍ͨ͠ 1. จ຺ͷΓ͚ 2. ৽͍͠ਪનख๏ͷಋೖ 3.
ಋೖޙͷ࠶ܭଌɼޮՌఆɼޮՌతͳख๏ͷద༻ ͜ΕΒΛఆظత͔ͭ࠷ͰߦΘͳ͚Εӡ༻ڥͰػձଛࣦ͕ൃੜ͢Δ
3. ఏҊख๏
• ᶃ ਪનख๏ͷ༏ྼ͕จ຺ʹΑͬͯมԽ͢Δ • จ຺ΛఆΊͯɼఆΊͨจ຺͝ͱʹਪનख๏Λ͍͚Δ • ᶄ ༏ྼͷมԽ͢Δ൚༻తͰ໌֬ͳج४͕ͳ͍ • ఆΊͨจ຺͝ͱʹ࣮ڥͰͷධՁΛߦ͏
• ᶅ ༏ྼ͕ܧଓతʹมԽ͢Δ • จ຺ਪનख๏ͷಋೖޙʹ࣌ؒࠩͳ͘దԠ͢Δ 18 ՝ͷཧ
• ར༻ऀͷཁٻΛຬͨ͢Λબఆ͢ΔՄೳੑͷߴ͍ਪનख๏Λӡ༻ڥͰػձ ଛࣦ͕ൃੜ͠ͳ͍Α͏ࣗಈత͔ͭܧଓతʹར༻͍ͨ͠ 19 ఏҊख๏ 1. จ຺ͷఆٛͱಋೖ 2. ৽͍͠ਪનख๏ͷಋೖ 3.
ಋೖޙͷ࠶ܭଌɼޮՌఆɼޮՌతͳख๏ͷద༻ • ࣄલʹఆΊͨจ຺͝ͱʹਪનख๏ͷબΛࣗಈత͔ͭܧଓతʹ࠷దԽ͢Δਪન γεςϜΛఏҊ
20 ਪનख๏ͷಋೖ • ධՁରͷਪનख๏ΛਪનγεςϜ͕Ձʹѻ͑ΔΑ͏ڞ௨ͷΠϯλʔϑΣʔ εΛ࣋ͭϞδϡʔϧͱͯ͠ఆٛ • ਪનॲཧڞ௨͢ΔϑΟϧλʹΑͬͯߏ͞ΕΔ • Profileʢར༻ऀͷใΛऩूʣ •
AssociationʢϓϩϑΝΠϧͱ݅ͷඥ͚ʣ • Searchʢ݅ʹै͍ީิΛݕࡧɼฒସ͑ʣ • ϑΟϧλͷڞ௨ར༻ʹΑΓอकੑͷ্
• ਪન݁Ռʹର͢Δར༻ऀͷԠΛܭଌ͢ΔͨΊͷϩάઃܭ • ར༻ऀ͝ͱͷϦΫΤετΛه • ར༻ऀ͝ͱͷਪનϦΫΤετʹର͢Δਪન݁ՌΛه • ਪનϦΫΤετͷޙͷߦಈ͕ਪન݁Ռͷʹؔ͢Δߦಈ͔Λൺֱ 21 จ຺͝ͱͷܭଌͱධՁ
5JNF $POUFYU .FUIPE 6TFS 1BUI 1BSBNT 3FTQPOTF $IBJS JNBHF " SFDPNNFOE " TIPX $IBJS DG # SFDPNNFOE # TIPX ਪનͷडೖ
• ෳͷਪનख๏͔ΒಘΒΕΔޮՌΛ࠷େԽ͢Δ • ଟόϯσΟοτͱͯ͠ղऍ͠ɼෳͷਪનख๏ͷޮՌʢΫϦοΫߪ ೖʣΛ࠷େԽ͢ΔͨΊEpsilon-GreedyΞϧΰϦζϜΛ࠾༻ • A/Bςετʹ͓͚ΔධՁͷख๏ར༻࣌ͷػձଛࣦΛճආ͢ΔͨΊͷख๏ • ࠷ॳA/BςετͷΑ͏ʹಉසͰΓସ͑Δ͕ධՁͷੵʢใु:rewardʣ ʹ͍ར༻සʹॏΈ͚͕ͳ͞ΕΔ
22 จ຺͝ͱͷධՁ Џ ׆༻ ୳ࡧ &QTJMPO(SFFEZΞϧΰϦζϜ
23 ධՁ݁Ռͷө ਪનγεςϜɼଟόϯσΟοτͱͯ͠ѻͬͨจ຺͝ͱͷޮՌతͳਪનख ๏ͷબ݁ՌΛఆظతʹऔΓࠐΈɼEpsilon-GreedyΞϧΰϦζϜͷॏΈ͚ʹ ै͍׆༻ํΛมߋ͢Δ
Synapse 24 Context Routing Context Context Method Method Method Method
Matching Process 0.33 0.33 0.33 Search Result Bandit Activity log Rewards Algorithms Epsilon- Greedy Softmax Feedback
Synapse 25 Context Routing Context Context Method Method Method Method
Matching Process 0.1 0.8 0.1 Search Result Bandit Activity log Rewards Algorithms Epsilon- Greedy Softmax Feedback
4. ධՁ
• ECαΠτͰར༻தͷਪનख๏ͷΫϦοΫ࣮ʹΑΔఏҊख๏ͷޮՌ༧ଌ • ΫϦοΫ࣮ɿӾཡதͷʹର͢ΔਪનΛఏҊ͢Δػೳ • ਪનख๏ɿྨࣅը૾ɼྨࣅςΩετɼڠௐܕਪનʢϓϦϛςΟϒɼLLRʣɼ σϞάϥϑΟοΫ • ϞϯςΧϧϩ๏ʹΑΔྦྷੵใु༧ଌΛൺֱ •
ࣄલʹఆΊΔจ຺ͱͯ͠ӾཡதͷͷΧςΰϦΛ࠾༻ • ࠷దԽͷޮՌଌఆɿ࠷దԽʹΑΔྦྷੵใु༧ଌͷมԽΛൺֱ • จ຺ͷޮՌଌఆɿจ຺͝ͱͷ࠷దԽͷ༗ແͰྦྷੵใु༧ଌͷมԽΛൺֱ 27 จ຺Λߟྀͨ͠ਪનख๏ͷબͷ࠷దԽ
จ຺͝ͱͷਪનख๏ͷޮՌͷࠩ 28 • จ຺ɼར༻ऀ͕ͲͷΧ ςΰϦΛݟ͍ͯΔ͔ • ਪનख๏͔ΒͷఏҊʹର͢Δ ΫϦοΫΛൺֱ • ΧςΰϦ͝ͱʹਪનख๏ͷޮ
Ռͷ͕ࠩ͋Δ͜ͱ͕ݟͯऔΕ Δ ΧςΰϦར༻ऀͷจ຺ͷ͏ͪγεςϜ͕ ѲͰ͖ΔͷͰଞͷECαΠτͰల։͍͢͠ɽ
ྦྷੵใु༧ଌ 29 • ࠷దԽΛߦͳ͍ͬͯͳ͍ͷ(1. No optimization) ͱൺֱͯ͠ ࠷ద ԽΛ͓͜ͳͬͨͷʢ2. Overall
optimization, 3. Category-wise optimizationʣͷྦྷੵใु༧ଌ͕ ߴ͍ • ࠷ऴతͳྦྷੵใु༧ଌจ຺ߟྀ ͨ͠࠷దԽ(3. Category-wize optimization)͕࠷ߴ͍
ྦྷੵใु༧ଌʢ্ཱ͕ͪΓʣ 30 • ࠷ॳͷൺֱͷઌ಄1000ճͷΈΛൺ ֱͨ͠ͷ • จ຺ߟྀ(3. Category-wise optimization)ͷ߹ɼจ຺͝ͱʹ ֶश͕ߦΘΕΔ͜ͱ͔Β্ཱ͕ͪ
Γʹ͕͔͔࣌ؒͬͨ
ྦྷੵใु༧ଌʢ༏ྼࠩͷগͳ͍ͷʣ 31 • ࠷ॳͷൺֱͷΫϦοΫͷࠩΛҙ ਤతʹΊͨͷ • ࠷ॳͷ࣮ݧͱಉ͡ॱҐ͚ͮʹͳΔ ͕༏ྼࠩͷஅ·Ͱʹଟ͘ͷࢼߦ ճΛཁͨ͠
• ਪનख๏ͷ༏ྼΛॿ͢Δదͳ݅Λબఆͯ͠ɼ͜ΕʹԠͨ͡ਪનख๏ͷબ ͷ࠷దԽΛߦ͏͜ͱͰྦྷੵใुֹͷ্ʹͭͳ͕Δ • ຊݚڀڥͷมԽͷଟ͍ঢ়گΛҙਤ͍ͯ͠Δ͜ͱ͔Βɼগͳ͍ࢼߦճͰͷ ࠷దԽΛਤΕΔΑ͏ͳํࡦʹΑΔվળ͕ظͰ͖Δ • ࢼߦճͷ૿Ճʹ͍୳ࡧΛΊΔʢΞχʔϦϯάʣ • ଞͷόϯσΟοτΞϧΰϦζϜʢUCB,
softmax…) • จ຺͖όϯσΟοτ 32 ධՁ
5. ·ͱΊ
• ར༻ऀͷจ຺ʹԠͯ͡ਪનख๏ͷಘखෆಘख͕͋Δ͜ͱ͕Θ͔ͬͨ • ఏҊख๏ʹΑΓख๏ಋೖͱจ຺ʹԠͨ͡࠷దͳख๏બఆ͕༰қʹͳΓɼػձଛ ࣦͷͳ͍ਪનγεςϜΛޮతͳߏங͕Մೳͱͳͬͨ • ݱࡏɼจ຺ΛࣄલʹఆΊΔඞཁ͕͋ΔͨΊɼಘखෆಘख͕ੜ͡Δจ຺ʹ͍ͭͯ ௐࠪΛਐΊΔ • ಘखෆಘखΛิ͍߹͑ΔΑ͏ʹͳͬͨ͜ͱͰɼݶఆతͰ͋ͬͯޮՌͷߴ͍ਪ
નख๏ͷ༗༻ੑ͕૿͢͜ͱ͕ߟ͑ΒΕΔͨΊɼͦͷΑ͏ͳख๏ͷݕ౼ΛਐΊΔɽ 34 ·ͱΊ
None