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サイトのための精度と速度を両立した分散可能な近似近傍探索エンジン/io...
Search
monochromegane
June 28, 2018
Technology
0
980
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
ベクトル検索システムの気持ち
monochromegane
33
11k
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
180
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
250
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
910
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
550
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
2
960
Go言語でMac GPUプログラミング
monochromegane
1
620
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
1.1k
迅速な学習機構を用いて逐次適応性を損なうことなく非線形性を扱う文脈付き多腕バンディット手法/extreme_neural_linear_bandits
monochromegane
0
2.2k
Other Decks in Technology
See All in Technology
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
420
自分を理解するAI時代の準備 〜マイプロフィールMCPの実装〜
edo_m18
0
110
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
170
DenoとJSRで実現する最速MCPサーバー開発記 / Building MCP Servers at Lightning Speed with Deno and JSR
yamanoku
1
120
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
230
Securing your Lambda 101
chillzprezi
0
300
「どこにある?」の解決。生成AI(RAG)で効率化するガバメントクラウド運用
toru_kubota
2
450
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
49
29k
OpenTelemetry Collector internals
ymotongpoo
5
560
上長や社内ステークホルダーに対する解像度を上げて、より良い補完関係を築く方法 / How-to-increase-resolution-and-build-better-complementary-relationships-with-your-bosses-and-internal-stakeholders
madoxten
13
7.8k
(新URLに移行しました)FASTと向き合うことで見えた、大規模アジャイルの難しさと楽しさ
wooootack
0
740
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
470
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Unsuck your backbone
ammeep
671
58k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Ace a Technical Interview
jacobian
276
23k
The Cult of Friendly URLs
andyhume
79
6.4k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Rails Girls Zürich Keynote
gr2m
94
14k
Making Projects Easy
brettharned
116
6.2k
Adopting Sorbet at Scale
ufuk
77
9.4k
Thoughts on Productivity
jonyablonski
69
4.7k
Facilitating Awesome Meetings
lara
54
6.4k
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