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
990
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
不確実性下における目的と手段の統合的探索に向けた連続腕バンディットの応用 / iot70_gp_rff_mab
monochromegane
1
82
なめらかなシステムと運用維持の終わらぬ未来 / dicomo2025_coherently_fittable_system
monochromegane
0
1.7k
ベクトル検索システムの気持ち
monochromegane
35
11k
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
190
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
270
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
970
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
600
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
2
990
Go言語でMac GPUプログラミング
monochromegane
1
650
Other Decks in Technology
See All in Technology
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
9
2.1k
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
7
750
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
900
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
230
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
140
Findy Freelance 利用シーン別AI活用例
ness
0
350
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
120
AWS DDoS攻撃防御の最前線
ryutakondo
1
140
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
6
2.3k
猫でもわかるQ_CLI(CDK開発編)+ちょっとだけKiro
kentapapa
0
3.4k
SRE新規立ち上げ! Hubbleインフラのこれまでと展望
katsuya0515
0
170
【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~
cygames
PRO
1
300
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Being A Developer After 40
akosma
90
590k
Docker and Python
trallard
45
3.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Statistics for Hackers
jakevdp
799
220k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
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