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
Sanny: 大規模ECサイトのための精度と速度を両立した分散可能な近似近傍探索エンジン/iot42_sanny
Search
monochromegane
June 28, 2018
Technology
0
780
Sanny: 大規模ECサイトのための精度と速度を両立した分散可能な近似近傍探索エンジン/iot42_sanny
第42回 情報処理学会 インターネットと運用技術研究会
https://www.iot.ipsj.or.jp/meeting/42-program/
monochromegane
June 28, 2018
Tweet
Share
More Decks by monochromegane
See All by monochromegane
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
1
240
Go言語でMac GPUプログラミング
monochromegane
1
160
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
470
迅速な学習機構を用いて逐次適応性を損なうことなく非線形性を扱う文脈付き多腕バンディット手法/extreme_neural_linear_bandits
monochromegane
0
1.5k
再帰化への認知的転回/the-turn-to-recursive-system
monochromegane
0
590
仮想的な探索を用いて文脈や時間の経過による番狂わせにも迅速に追従する多腕バンディット手法/wi2_lkf_bandits
monochromegane
0
560
Synapse: 文脈と時間経過に応じて推薦手法の選択を最適化するメタ推薦システム/smash21-synapse
monochromegane
0
440
なめらかなシステムと運用維持の未来/dicomo2021-coherently-fittable-system
monochromegane
1
27k
go:embedでExplainable Binaryを作る/fukoukago17_go_code_embedding
monochromegane
2
320
Other Decks in Technology
See All in Technology
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
160
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.5k
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.7k
JSON攻略法.pdf
miyakemito
8
4.9k
現代CSSフレームワークの内部実装とその仕組み
poteboy
8
3.6k
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2k
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
290
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
200
4年前、あるじゃん老害エンジニアLT合戦に登壇、米国西海岸コンピュータ歴史博物館体験記の続編
toshi_atsumi
0
220
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
490
データベース02: データベースの概念
trycycle
0
150
反実仮想機械学習とは何か
usaito
PRO
10
3.5k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
How STYLIGHT went responsive
nonsquared
92
4.8k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
What's new in Ruby 2.0
geeforr
337
31k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
How to Ace a Technical Interview
jacobian
272
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
We Have a Design System, Now What?
morganepeng
43
6.7k
KATA
mclloyd
15
12k
Transcript
ࡾ༔հ / Pepabo R&D Institute, GMO Pepabo, Inc. 2018.06.28 ୈ42ճ
ใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ݚڀձ Sanny: େنECαΠτͷͨΊͷ ਫ਼ͱΛཱ྆ͨ͠ ࢄՄೳͳۙࣅۙ୳ࡧΤϯδϯ
1. ECαΠτʹ͓͚ΔࣗಈఏҊͷഎܠͱຊݚڀͷత 2. ैདྷͷۙࣅۙ୳ࡧͷ՝ 3. େنECαΠτͷͨΊͷͱਫ਼Λཱ྆ͨ͠ࢄՄೳ ͳۙࣅۙ୳ࡧΤϯδϯ 4. ࣮ݧͱߟ 5.
·ͱΊ 2 ࣍
1. ECαΠτʹ͓͚ΔࣗಈఏҊͷഎܠͱ ຊݚڀͷత
• ECαΠτͷใաଟΛղܾ͢ΔͨΊɼͷࣗಈఏҊඞਢػೳ • ECαΠτͷࣗಈఏҊػೳͰɼରʹର͢Δ͍͔ͭ͘ͷީิΛఏࣔ͢Δ • ECαΠτͷࣗಈఏҊػೳʹɼൢചػձͷଛࣦΛ͙ͨΊɼఏҊ༰ͷత֬ ͞ͱॆͳԠͷཱ͕྆ٻΊΒΕΔ 4 എܠ -
ECαΠτͷࣗಈఏҊػೳ
• ͷࣗಈఏҊಉ࢜ͷྨࣅੑΛݩʹߦ͏ • ྨࣅੑͷൺֱʹɼػցతʹऔΓѻ͏͜ͱ͕Ͱ͖Δईͱͯ͠ଟ࣍ݩͷ࣮ϕ ΫτϧΛ༻͍Δ (= ಛྔ) 5 എܠ -
ECαΠτͷࣗಈఏҊػೳͱۙ୳ࡧ ECαΠτͷࣗಈఏҊػೳʹɼͷಛྔू߹Λରͱͨۙ͠୳ࡧ͕ ඞཁͱͳΔɽ͜ͷ࣌ɼରͷಛྔ͕ݕࡧ࣭σʔλʢΫΤϦʣͱͳΔɽ
• େن શମ͔ΒఏҊରΛ୳ࡧ͢ΔͨΊɼಛྔू߹ͷ݅औΓѻ͏ʹ ൺྫͯ͠૿Ճ͢ΔɽେنͳECαΠτͰेສʙඦສ݅ͷಛྔू߹ͱ ͳΔɽ • ߴ࣍ݩ ಛੑͷత֬ͳදݱͷͨΊɼߴ࣍ݩͷಛྔ͕༻͍ΒΕΔɽֶशࡁΈCNN Λಛநग़ثͱͯ͠ར༻ͯ͠ը૾͔ΒಘΒΕΔಛྔɼςΩετΛࢄදݱ ม͢ΔWord2vec͔ΒಘΒΕΔಛྔͷ࣍ݩඦʙઍ࣍ݩͱͳΔɽ
6 എܠ - ECαΠτͷͷಛྔू߹
• ࣄલʹۙू߹ΛٻΊ͓ͯ͘ ͷՃɼߋ৽ɼআ͕සൟʹൃੜ͢ΔECαΠτͰɼఏҊ༰ͷաෆ ʹΑΔൢചػձͷଛࣦΛආ͚ΔͨΊɼࢉग़ࡁΈۙू߹ͷߋ৽Λఆظతʹߦ͏ ඞཁ͕͋Δɽ ·ͨɼΫΤϦͱͳΔର͕ECαΠτͷ֎෦͔Β༩͑ΒΕΔΑ͏ͳ߹ɼ ༧Ίࢉग़ࡁΈͷۙू߹Λར༻͢Δ͜ͱͰ͖ͳ͍ɽ ˠ ߴͳۙ୳ࡧ͕ඞཁ 7
എܠ - େن͔ͭߴ࣍ݩͳू߹ʹର͢Δۙ୳ࡧ(1/2) େن͔ͭߴ࣍ݩͷಛྔू߹ʹର͢Δۙ୳ࡧܭࢉྔ͕૿Ճ͢Δ
• ਫ਼Λ٘ਜ਼ʹͯ͠ܭࢉྔΛ͑Δۙࣅۙ୳ࡧ ਫ਼ͱ͕τϨʔυΦϑͷؔʹ͋ΔͨΊɼख๏ͷఆ͢Δσʔλ࣍ݩ Λ͑ͨ߹ʹਫ਼ͱͷཱ͕྆ࠔʹͳΔɽ 8 എܠ - େن͔ͭߴ࣍ݩͳू߹ʹର͢Δۙ୳ࡧ(2/2) େن͔ͭߴ࣍ݩͷಛྔू߹ʹର͢Δۙ୳ࡧܭࢉྔ͕૿Ճ͢Δ
ECαΠτͰऔΓѻ͏͔ΒɼఏҊ༰ͷత֬͞ͱ୳ࡧΛཱ྆ͨ͠ͷ ࣗಈఏҊػೳΛ࣮ݱ͢ΔͨΊɼ େن͔ͭߴ࣍ݩϕΫτϧू߹Λରͱͨ͠ਫ਼ͱΛཱ྆ͨۙ͠ࣅۙ୳ ࡧͷΈΛݕ౼͢Δ 9 ຊݚڀͷత
2. ैདྷͷۙࣅۙ୳ࡧͷ՝
• େنͳECαΠτͰѻ͏ಛྔɼେن͔ͭߴ࣍ݩϕΫτϧͷू߹ͱͳΔ • ࣗಈఏҊػೳͰɼ͜ͷू߹͔Βݕࡧ࣭σʔλʹྨࣅ͢Δ͍͔ͭ͘ͷϕΫτ ϧΛҙͷڑؔΛͬͯ୳ࡧ͢Δɽۙ୳ࡧɽ • ۙ୳ࡧʹ͓͍ͯɼਖ਼֬Ͱ͋Δ͕ɼσʔλͱ࣍ݩʹൺྫͯ͠ܭࢉྔ͕૿ Ճ͢Δઢܗ୳ࡧݱ࣮తͰͳ͍ • ׂۭؒہॴੑӶහܕϋογϡͳͲͷํࣜʹΑͬͯܭࢉྔΛݮ
• ಛʹେن͔ͭߴ࣍ݩϕΫτϧू߹ʹରͯ͠ɼਫ਼Λ٘ਜ਼ʹͯ͠ܭࢉྔΛ ͑Δۙࣅղ͕༻͍ΒΕΔɽۙࣅۙ୳ࡧɽ 11 ࣗಈఏҊػೳͱۙࣅۙ୳ࡧ
• ࣗಈఏҊػೳʹɼఏҊ༰ͷత֬͞ͱॆͳԠ͕ٻΊΒΕΔɽ • ਫ਼ͱΛཱ྆͢Δۙࣅۙ୳ࡧͷΈ͕ඞཁɽ • ଟछଟ༷ͳۙࣅۙ୳ࡧͷΞϧΰϦζϜͦΕΒΛ࣮ͨ͠ϥΠϒϥϦ͕ެ։ɼ ར༻͞Ε͍ͯΔɽ • ΞϧΰϦζϜ͝ͱʹॴॴ͕͋ΓɼݸʑͷΞϧΰϦζϜվળޮՌ͕ݶఆత 12
ۙࣅۙ୳ࡧͷվળͱ՝ • ҰํͰɼଟ͘ͷΞϧΰϦζϜɼॲཧରσʔλͱ࣍ݩʹੑೳ͕ґଘ͢Δ • ୳ࡧ͋ͨΓͷॲཧରͷॖখ͕ɼશͯͷΞϧΰϦζϜʹޮՌత
13 େن͔ͭߴ࣍ݩϕΫτϧू߹ͷղ͘͠ݮ ߦํͷղ ྻํͷղ ྻํͷݮ ۙ ۙ ۙީิ ΫΤϦR ۙ
BSHNJOE R Y Y㱨ۙީิ ΫΤϦR R@ R@ R@ E` R@ Y Y㱨9@ X_1 X_2 X_3 E` R@ Y Y㱨9@ E` R@ Y Y㱨9@ BSHNJO\E` R@ Y E` R@ Y E` R@ Y ^ Y㱨9 ྻ͝ͱʹڑܭࢉͷҰ෦Λ࣮ࢪ ڑܭࢉ݁ՌΛूͯۙ͠୳ࡧ ࣍ݩݮ
14 େن͔ͭߴ࣍ݩϕΫτϧू߹ͷղ͘͠ݮ ߦํͷղ ྻํͷղ ྻํͷݮ .VKB .BSJVT BOE%BWJE(-PXF4DBMBCMFOFBSFTUOFJHICPSBMHPSJUINTGPSIJHIEJNFOTJPOBM EBUB*&&&USBOTBDUJPOTPOQBUUFSOBOBMZTJTBOENBDIJOFJOUFMMJHFODF
Ұఆͷσʔλ͝ͱʹղɽ֤ू߹ʹ͓͚ΔۙީิͱڑΛ ूۙ͠୳ࡧ͢Δɽ࣍ݩͷґଘ͕Δɽ +FHPV )FSWF .BUUIJKT%PV[F BOE$PSEFMJB4DINJE1SPEVDURVBOUJ[BUJPOGPSOFBSFTU OFJHICPSTFBSDI*&&&USBOTBDUJPOTPOQBUUFSOBOBMZTJTBOENBDIJOFJOUFMMJHFODF Ұఆͷ࣍ݩ͝ͱʹղɽ֤ू߹ʹ͓͚ΔશσʔλͷڑΛू ͯۙ͠୳ࡧɽσʔλͷґଘ͕Δɽ ओੳ 1$" ͳͲʹΑͬͯ࣍ݩݮΛߦ͏ɽਫ਼Λ֬อ͠ ͨݮݶք͕͋Δɽ #BCFOLP "SUFN FUBMz/FVSBMDPEFTGPSJNBHFSFUSJFWBMz&VSPQFBODPOGFSFODFPODPNQVUFS WJTJPO4QSJOHFS $IBN
3. େنECαΠτͷͨΊͷ ͱਫ਼Λཱ྆ͨ͠ ࢄՄೳͳۙࣅۙ୳ࡧΤϯδϯ
• ΫΤϦͱߴ࣍ݩϕΫτϧू߹Λҙͷ࣍ݩͰͨ͠෦ϕΫτϧ୯ҐͰฒ ߦʹۙ୳ࡧͨ݁͠Ռͷू߹Ͱ͋Δۙީิ͔Βɼ࠶ۙ୳ࡧΛߦ͏ɽ 16 ఏҊख๏ (໘) R@ R@ R@ 9@
9@ 9@ /SFDPSET // R@ Y@O Y㱨9@ // R@ Y@O Y㱨9@ // R@ Y@O Y㱨9@ \ ^ \ ^ \ ^ BSHNJOE R Y Y㱨\ ^ 㱮 㱮 ղલ ղޙ ᶃ࣍ݩۭؒͷฒߦͨۙ͠୳ࡧ ᶄݻఆͷۙީิͷू ᶅۙީิͷઢܗ୳ࡧ ᶃ ᶄ ᶅ վળ ᶃ ᶄ ᶅ 2VFSZ
• ಛੑΛΑ͘දݱ͓ͯ͠Γߴਫ਼ʹྨࣅ͕ൺֱՄೳͳߴ࣍ݩ͔ͭີͳϕΫ τϧͷू߹Λରͱͨۙ͠ࣅۙ୳ࡧ • ֶशࡁΈCNNΛಛநग़ثͱͯ͠ར༻ͯ͠ը૾͔ΒಘΒΕΔಛྔू߹ • ςΩετΛࢄදݱม͢ΔWord2vec͔ΒಘΒΕΔಛྔू߹ • ͜ΕΒ͕ɼݕࡧ࣭σʔλ(ΫΤϦ)ʹର͢Δߴ࣍ݩϕΫτϧू߹ͷۙ୳ࡧ݁ Ռͷ্Ґू߹͕ɼΫΤϦͱߴ࣍ݩϕΫτϧू߹Λҙͷ࣍ݩͰͨ͠෦
ϕΫτϧ୯ҐͰۙ୳ࡧͨ݁͠Ռͷ্Ґू߹ͱྨࣅ͍͢͜͠ͱʹண 17 ఏҊख๏ (ਫ਼໘) ෦͕ྨࣅ͢Εશମ͕ྨࣅ͢ΔՄೳੑ͕ߴ͍σʔλಛੑ
18 Sanny: ఏҊख๏ͷ࣮ 4BOOZ 4BOOZ 4BOOZ // // 㱮 //
// ᶃ ᶄ ᶅ 2VFSZ "MHPSJTN "MHPSJTN "MHPSJTN • ΫΤϦฒͼʹ୳ࡧରσʔλͷҙ࣍ݩͷͱ݁ՌͷूΛ୲͢Δ • ෦ϕΫτϧͷۙ୳ࡧΞϧΰϦζϜΘͳ͍ • ෦ϕΫτϧ͝ͱͷ୳ࡧॲཧಠཱͷͨΊࢄߏ͕Մೳ
4. ࣮ݧͱߟ
• σʔλಛੑʹΑΔఏҊख๏ͷਫ਼໘ͰͷޮՌͷࠩΛධՁ • 6ສ݅ͷ֤σʔληοτΛ4ׂɼఏҊख๏ʹΑΔۙ10݅ͷద߹Λൺֱ • ཚΛ༻͍ͨσʔληοτͰఏҊख๏༗ޮʹಇ͔ͳ͍ • Inception-v3Word2vecͷΑ͏ͳใྔ͕ѹॖ͞ΕͨσʔληοτͰ༗ޮ 20 σʔλಛੑʹΑΔ༗ޮੑ
• ׂͱ෦ϕΫτϧ͝ͱͷۙͷΈ߹ΘͤʹΑΔਫ਼ͷมԽΛධՁ • ఏҊख๏ͷޮՌ͕֬ೝ͞Εͨಛੑͷσʔληοτ100ສ݅ͰධՁ • ׂ֤Ͱۙ20͔Β1000݅Λݕূ 21 σʔλಛੑʹΑΔ༗ޮੑ
• ׂΛ૿Ճ͢ΔͱಉҰۙʹ͓͍ͯਫ਼͕Լ • ׂޙͷ࣍ݩ͕100Ҏ্ͱͳΔׂͰ࠷దͳۙΛٻΊΔ͜ͱ͕ඞཁ 22 σʔλಛੑʹΑΔ༗ޮੑ
• ఏҊख๏ʹΑͬͯɼਫ਼ͱ୳ࡧ͕ͲͷΑ͏ʹվળ͢Δ͔ΛධՁ • ୳ࡧରɼఏҊख๏ͷޮՌ͕ݟࠐΊΔInception-v3͔ΒಘΒΕͨσʔληο τ2048࣍ݩ100ສ݅ • ۙ୳ࡧͷΞϧΰϦζϜͱͦΕΒͷύϥϝλΛมԽ͠ͳ͕ΒTop10ۙ୳ࡧʹ ͓͚Δਫ਼ͱͷτϨʔυΦϑΛൺֱ͢Δ 23 ਫ਼ͱ୳ࡧͷτϨʔυΦϑ
• ॎ࣠୳ࡧඵͷٯදࣔɼ্ʹߦ͘ ΄Ͳߴɽԣ࣠ద߹ɽ • ݩͷΞϧΰϦζϜʹରͯ͠ఏҊख๏Λ ద༻ͨ͜͠ͱͰਫ਼ɼͷվળ͕ݟ ΒΕͨ 24 ਫ਼ͱ୳ࡧͷτϨʔυΦϑ
5. ·ͱΊ
• େن͔ͭߴ࣍ݩͳಛྔू߹Λରͱͨ͠ͷࣗಈఏҊػೳͷͨΊʹਫ਼ ͱΛཱ྆͢Δۙ୳ࡧͷΈ͕ඞཁ • ߴਫ਼ʹྨࣅ͕ൺֱՄೳͳߴ࣍ݩ͔ͭີͳϕΫτϧͷू߹Ͱ෦͕ྨࣅ͢ Εશମͱͯ͠ྨࣅ͢ΔՄೳੑ͕ߴ͍ಛੑΛ࣋ͭ͜ͱʹண • ෦ϕΫτϧू߹ʹର͢ΔࢄՄೳͳ୳ࡧͱूΛߦ͏ํࣜʹΑͬͯैདྷख๏ ΑΓਫ਼ͱͷ྆໘Ͱվળ͢Δ͜ͱΛ֬ೝ •
ࠓޙɼ୯७ͳͰͳ͘σʔλͷภΓΛߟྀͨ͠ޮՌతͳׂΛݕ౼ͨ͠ ͍ɽ ·ͨɼࢄՄೳͳಛੑΛ׆͔ͨ͠ߏͰͷධՁΛਐΊ͍ͯ͘ɽ 26 ·ͱΊ
None