Slide 1

Slide 1 text

ݚڀͱ։ൃͷ૬৐ޮՌ ࡾ୐ ༔հ / Pepabo R&D Institute, GMO Pepabo, Inc. 2018.01.19 ߳઒େֶ SLP ϖύϘʹ͓͚Δݚڀॴͷ໾ׂ

Slide 2

Slide 2 text

ϓϦϯγύϧΤϯδχΞ ࡾ୐ ༔հ / @monochromegane 2 http://blog.monochromegane.com Yusuke Miyake ϖύϘݚڀॴ ݚڀһ

Slide 3

Slide 3 text

• େֶଔۀޙɺ஍ݩ෱ԬͷSIerۈ຿Λܦͯɺ2012೥ΑΓגࣜձࣾ paperboy&co.(ݱGMOϖύϘגࣜձࣾ)ʹۈ຿ɻ • ϜʔϜʔυϝΠϯɺminneͱ͍ͬͨαʔϏεͷӡ༻։ൃͷ๣Βɺϩά׆༻ج൫ BigfootͷߏஙʹऔΓ૊ΈɺαʔϏεΛಈతʹվળ͍ͯͨ͘͠Ίͷ࢓૊Έͮ͘ ΓͱػցֶशʹڵຯΛ࣋ͭɻ • ·ͨɺOSS׆ಈͱͯ͠ओʹGoݴޠʹΑΔπʔϧ։ൃΛߦ͍ͬͯΔɻ୅දϓϩ μΫτͱͯ͠the_platinum_searcherͳͲ͕͋Δɻ 3 Career

Slide 4

Slide 4 text

4 Activity ♕ 3 GitHub Awards Go ranking in Japan :) http://git-awards.com/users?country=japan&language=go

Slide 5

Slide 5 text

1. ϖύϘݚڀॴʹ͍ͭͯ 2. ݚڀࣄྫͷ঺հ 3. ։ൃऀࢹ఺͔Βݚڀऀࢹ఺΁ɻ͋Δ͍͸ͦͷཱ྆ɻ 5 ໨࣍

Slide 6

Slide 6 text

1. ϖύϘݚڀॴʹ͍ͭͯ

Slide 7

Slide 7 text

ϖύϘݚڀॴͷϛογϣϯ

Slide 8

Slide 8 text

8 ϖύϘݚڀॴ(ུশʮϖύݚʯ)͸ɺࣄۀΛࠩผԽ Ͱ͖Δٕज़Λ࡞Γग़ͨ͢ΊʹʮͳΊΒ͔ͳγες Ϝʯͱ͍͏ίϯηϓτͷԼͰݚڀ։ൃʹऔΓ૊Ή ૊৫Ͱ͢ɻ ❝ ϖύϘݚڀॴʹ͍ͭͯ http://rand.pepabo.com/

Slide 9

Slide 9 text

ͳͥݚڀ͔

Slide 10

Slide 10 text

• ݚڀ͸ɺࣄ࣮΍ཧ࿦Λ໌Β͔ʹ͢Δʹ͋ͨΓɺ৽نੑɺ༗ޮੑɺ৴པੑΛ٬؍ తʹࣔ͞ͳ͚Ε͹ͳΒͳ͍ • طଘख๏ͷௐࠪɺ뱌ɺ࿦จԽΛܦͯɺख๏΁ͷঢ՚ʹࢸΔ • ݚڀతΞϓϩʔνͷ൓෮ʹΑͬͯɺཧ࿦΍ख๏͕લਐ͢Δ • ٕज़͕ҰൠԽ͢Δ࣌୅Ͱ͸ɺݚڀΛ௨ͯ͋͠Δख๏ʹ͓͚Δ৽نੑΛݗҾͰ͖ ΔଘࡏͱͳΔ͜ͱ͕ɺࠩผԽͰ͖Δٕज़Λ࣋ͭ͜ͱʹͭͳ͕Δ 10 ͳͥݚڀ͔ ࠩผԽͰ͖Δٕज़Λ࡞Γग़ͨ͢Ίʹ͸ɺݚڀతΞϓϩʔν͕༗ޮ

Slide 11

Slide 11 text

ͳΊΒ͔ͳγεςϜ

Slide 12

Slide 12 text

12 γεςϜͷ֤ཁૉ͕໌ࣔతͳૢ࡞Λܦͣʹಛ௃Λ ೝࣝ͠ɺͦͷಛ௃΍ؔ܎ੑʹج͖ͮɺͦͷ࣌ʑͷ ঢ়گʹԠͨ͡࠷దͳαʔϏεΛఏڙ͢Δ ❝ ͳΊΒ͔ͳγεςϜ http://rand.pepabo.com/

Slide 13

Slide 13 text

ϖύݚͱαʔϏεͷؔ܎

Slide 14

Slide 14 text

14 ΞΧσϛοΫͳਫ४ʹ͓͚Δ৽نੑɾ༗ޮੑɾ৴ པੑΛ௥ٻ͢ΔݚڀΛߦ͏ͱͱ΋ʹɺݚڀ։ൃ͠ ٕͨज़Λ࣮ࡍͷγεςϜͱ࣮ͯ͠૷ɾఏڙ͢Δ͜ ͱΛ௨ͯ͠ɺࣄۀͷ੒௕ʹߩݙ͠·͢ɻ ❝ ϖύϘݚڀॴʹ͍ͭͯ http://rand.pepabo.com/

Slide 15

Slide 15 text

15 ϖύݚͱαʔϏεͷؔ܎ ࣄۀΛࠩผԽ͢ΔͨΊʹ͸ɺݚڀॴͱαʔϏεͷ࿈ܞ͕ඞਢ ݚڀ ։ൃ ӡ༻ ՝୊ͷڞ༗ ݚڀʹΑΔղܾ ಋೖ࣌ͷΤϯδχΞؒ࿈ܞ ݚڀ։ൃ݁ՌΛଈ࣌αʔϏεʹಋೖ͢Δ࢓૊ΈͱɺಋೖޙͷϑΟʔυόοΫʹΑΔαΠΫϧͷߴ ଎ԽʹΑͬͯɺݚڀ։ൃͷߴ౓ԽͱࣄۀͷࠩผԽʹͭͳ͛Δ

Slide 16

Slide 16 text

2. ݚڀ։ൃࣄྫͷ঺հ

Slide 17

Slide 17 text

ಛ௃நग़ثͷֶशͱߪങཤྺΛ ඞཁͱ͠ͳ͍ྨࣅը૾ʹΑΔ ؔ࿈঎඼ݕࡧγεςϜ

Slide 18

Slide 18 text

18 ՝୊ͷڞ༗ େ͖ͳ୯ҐͰͷ՝୊ʢઓུʣͷڞ༗ • minneʹ͓͍ͯɺ࡞඼ͱͷग़ձ͍ͷ֬཰Λ্͛Δ͜ͱ͕ઓུͷͻͱͭͱ্ͯ͠ ͛ΒΕ͍ͯΔɻݱࡏɺminneʹ͸਺ඦສ఺ͷ࡞඼͕ొ࿥͞Ε͓ͯΓɺαʔϏε ར༻ऀͷ௨ৗͷߦಈͰ͸શͯͷ࡞඼ΛݟͯճΔ͜ͱ͸ࠔ೉Ͱ͋Δɻ • ඞવతʹαʔϏεར༻ऀ͕ߪೖ͍ͨ͠ͱࢥ͏࡞඼ͱग़ձ͏֬཰͸௿Լ͖ͯͯ͠ ͓Γɺ͜ͷ֬཰Λ্͛Δ͜ͱ͕ɺ͓ങ͍෺ମݧͷ࠷େԽͷͨΊʹٻΊΒΕ͍ͯ Δɻ

Slide 19

Slide 19 text

• ճ༡ͷಋઢΛ૿΍͢ඞཁ͕͋ΔɻAmazon΍ָఱͱ͍ͬͨECαΠτͰ͸ؔ࿈ ࡞඼Λఏࣔ͢Δ͜ͱͰ঎඼ͷݕ౼Λܧଓͤ͞Δճ༡͕͋ΓɺͦͷͨΊʹ͸ͳΜ Β͔ͷ؍఺Ͱؔ࿈͍ͯ͠Δ͜ͱΛγεςϜతʹѻ͑Δঢ়ଶʹ͢Δඞཁ͕͋Δ 19 ண؟఺ͱํࣜ • ௨ৗɺDB্ʹؚ·ΕΔ৘ใʢߏ଄Խͨ͠৘ใʣʹΑͬͯಉҰࢹͰ͖Δ΋ͷ ʢminneͰݴ͑͹ಉ͡ΧςΰϦɺಉ͡৭ʣͳͲΛ༻͍Δ͕ɺ͜Ε·Ͱʹͳ͍ؔ ࿈࡞඼ͷಋઢΛ૿΍ͨ͢Ίɺ·ͩߏ଄Խ͞Ε͍ͯͳ͍৘ใΛminne಺ͰऔΓѻ ͑ΔΑ͏ʹ͍ͯ͘͠ɻ

Slide 20

Slide 20 text

• ߪങཤྺ౳ͷ৘ใ͕ෆཁͰ෼ྨ༻ͷ௥Ճ৘ใͱͯ͠Ͱ͸ͳ͘ɺৗʹઃఆ͞ΕΔ ঎඼ը૾Λର৅ • ಋೖઌͷECαΠτͷ঎඼ʹґଘ͠ͳֶ͍शෆཁͰ൚༻తͳֶशࡁΈωοτ ϫʔΫΛಛ௃நग़ثͱͯ͠࠾༻ • ಛ௃நग़ث͔ΒಘΒΕͨಛ௃ྔΛ΋ͱʹۙࣅۙ๣୳ࡧʹΑΓྨࣅը૾Λݕࡧ 20 ఏҊख๏

Slide 21

Slide 21 text

ಛ௃நग़ث

Slide 22

Slide 22 text

• m࣍ݩͷϕΫτϧxΛn࣍ݩͷϕΫτϧy΁ࣸ૾͢Δؔ਺fΛਪఆ͢Δֶशख๏ 22 χϡʔϥϧωοτϫʔΫ: Ϟσϧ x1 x2 xm b W y1 y2 yn 1 2 o1 = σ( m ∑ i=0 w1i xi + b1 ) h 3 o = σ (Wx + b) w11 w12 . . w1m w21 w22 . . w2m . . wh1 wh2 . . whm x1 x2 . . xm + b1 b2 . . bh x f y h wh1 wh2 x1 x2 ೖྗ͝ͱʹॏΈXΛ৐ࢉόΠΞε ͨ͠΋ͷΛ׆ੑԽؔ਺ʹ௨͢ શϊʔυʹର͢Δॲཧ͸ߦྻͱͯ͠ૢ࡞Ͱ͖Δ

Slide 23

Slide 23 text

23 χϡʔϥϧωοτϫʔΫ: ֶश x1 x2 xm y1 y2 yn x f y • m࣍ݩͷϕΫτϧxΛn࣍ݩͷϕΫτϧy΁ࣸ૾͢Δؔ਺fΛਪఆ͢Δֶशख๏ t tn t2 t1 W(1) W(2) b(1) b(2) ✓(i+1) = ✓(i) ↵rEk E = 1 2 X n (yn tn)2 E = X n tn ln yn rEk = ( @Ek @✓1 , .. @Ek @✓V ) ग़ྗͱਖ਼ղͷޡࠩΛද͢ଛࣦؔ਺Λఆٛ͢Δɻ ೋ৐࿨ޡࠩʢࠨʣɺަࠩΤϯτϩϐʔޡࠩʢӈʣ ଛࣦؔ਺ʹର͢Δ֤ύϥϝλͷภඍ෼ͷ஋ͷू·Γʢޯ഑ʣΛ༻ ͍ͯଛࣦؔ਺ͷ஋͕খ͘͞ͳΔΑ͏ʹύϥϝλΛߋ৽͢Δ͜ͱΛ ޯ഑߱Լ๏ͱݺͿɻಛʹҰ෦ͷ݁ՌͷΈΛར༻͢Δ֬཰తޯ഑߱ Լ๏͕Α͘༻͍ΒΕΔɻ Αͬͯޯ഑͕ফ͑ͳ͍Α͏ͳͳΊΒ͔ͳ׆ੑԽؔ਺͕޷·ΕΔɻ ·ͨɺ֤ύϥϝλͷภඍ෼ΛݸผʹٻΊΔͷͰ͸ͳ͘ɺχϡʔϥ ϧωοτϫʔΫΛදؔ͢਺GΛ߹੒ؔ਺ͱݟཱͯΔ͜ͱͰɺ্ྲྀ ͷޡࠩͱࣗ਎ͷೖྗ஋ͷΈΛ࢖ͬͯܭࢉྔΛ཈͑ͳ͕Βޮ཰తʹ ޯ഑ΛٻΊΔख๏Λޡࠩٯ఻೻๏ͱݺͿɻ

Slide 24

Slide 24 text

χϡʔϥϧωοτϫʔΫ: ֶश 24 • ࢀߟ (PʹΑΔޯ഑߱Լ๏ཧ࿦ͱ࣮ફ IUUQTTQFBLFSEFDLDPNNPOPDISPNFHBOFHSBEJFOUEFTDFOUJOHPMBOH θϩ͔Β࡞Δ%FFQ-FBSOJOH

Slide 25

Slide 25 text

৞ΈࠐΈχϡʔϥϧωοτϫʔΫ 25 ੵ࿨ԋࢉ ৞ΈࠐΈ ࠷େ஋ ೖྗσʔλʹରͯ͠ੵ࿨ԋࢉΛߦ͏ϑΟϧλΛద༻͠ɺ ಛ௃Ϛοϓͱͯ͠ग़ྗ͢Δɻۭؒ৘ใΛߟྀͰ͖Δɻ ࠷దͳϑΟϧλͷॏΈ͸ֶशʹΑͬͯ֫ಘ͢Δɻ • ۭؒత৘ใΛߟྀͨ͠χϡʔϥϧωοτϫʔΫ ϓʔϦϯά ೖྗσʔλʹରۭͯؒ͠ͷू໿Λߦ͏ϑΟϧλΛద༻ ͢Δɻ࠷େ஋΍ฏۉ஋Λར༻͢ΔͷͰֶश͕ෆཁɻ ࡉ͔ͳҐஔมԽʹର͢Δؤڧੑʹߩݙ͢Δɻ ಛ௃நग़ث ࣝผث

Slide 26

Slide 26 text

26

Slide 27

Slide 27 text

ಋೖ

Slide 28

Slide 28 text

ಛ௃ྔม׵ 28 Service Object Storage GCP image to data data to feature vectorizer by Inception-v3 Annoy Workers • ͋Δ࣌఺·Ͱͷ࡞඼ը૾ҰཡΛಛ௃ྔʹม׵͢Δ • ม׵ͨ͠ಛ௃ྔҰཡΛۙࣅۙ๣୳ࡧσʔλϕʔεʹ౤ೖ͢Δ

Slide 29

Slide 29 text

• ۙࣅۙ๣୳ࡧσʔλϕʔεΛmruby-annoy + ngx_mrubyʹͯAPIԽ • ࡞඼ৄࡉʹྨࣅը૾Λ༻͍ͨؔ࿈࡞඼Λදࣔ͢Δ 29 ྨࣅը૾ݕࡧ Nyah mruby-annoy on ngx_mruby products#show product_id nearest products CTR Analytics NNS ˞ۙࣅۙ๣୳ࡧ࣌ʹେ෦෼ͷΠϯσο Ϋε΁ͷΞΫηε͕ൃੜ͢ΔͨΊ࣮༻ తͳ଎౓ΛಘΔͨΊʹ͸σʔλϕʔε ϑΝΠϧ͕શͯϖʔδΩϟογϡʹࡌ ΔαΠζͷϝϞϦ͕ඞཁ

Slide 30

Slide 30 text

ྨࣅը૾ʹΑΔؔ࿈࡞඼ݕࡧ 30

Slide 31

Slide 31 text

ྨࣅը૾ʹΑΔؔ࿈࡞඼ݕࡧ 31

Slide 32

Slide 32 text

ΫϦοΫ཰ͱίϯόʔδϣϯ཰ 32 طଘ ఏҊ $53 $73 ˞ఏҊख๏ʹΑΔબఆ͕ߦ͑ͳ͍৔߹ʹαʔϏεͷ ػձଛࣦΛආ͚ΔͨΊطଘख๏ʹΑΔબఆΛߦͬͯ ͍ΔͨΊݕূظؒதͷ֤ख๏ͷදׂࣔ߹͸طଘ ɺఏҊͰ͋ͬͨ ˞ίϯόʔδϣϯ཰͸ΫϦοΫ਺ʹର͢Δߪೖ਺͔ ΒٻΊͨ طଘ ఏҊ ૉࡐɾࡐྉγΣϧ ૉࡐɾࡐྉϦϘϯɾςʔϓ ૉࡐɾࡐྉϘλϯ ͵͍͙ΔΈɾਓܗ͋Έ͙ΔΈ χοτɾฤΈ෺ηʔλʔɾΧʔσΟΨϯ ఏҊख๏͕༗ޮͰ͋ͬͨΧςΰϦ

Slide 33

Slide 33 text

ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ 33 ࡾ୐ ༔հ, দຊ ྄հ, ྗ෢ ݈࣍, ܀ྛ ݈ଠ࿠, ಛ௃நग़ثͷֶ शͱߪങཤྺΛඞཁͱ͠ͳ͍ྨࣅը૾ʹΑΔؔ࿈঎඼ݕࡧγ εςϜ, ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ, Vol.2017-IOT-37(4), pp.1-8, May 2017 http://id.nii.ac.jp/1001/00178892/

Slide 34

Slide 34 text

ϑΟʔυόοΫ

Slide 35

Slide 35 text

Gannoy Approximate nearest neighbor search server and dynamic index written in Golang. https://github.com/monochromegane/gannoy

Slide 36

Slide 36 text

GannoyʹΑΔಈతΠϯσοΫεߋ৽+ྨࣅը૾ݕࡧ 36 Features Similar items Gannoy [2048]float64 query by http find similar features mapping similar features to items response Deep CNN index Features [2048]float64 Deep CNN register by http

Slide 37

Slide 37 text

ΞΫηεස౓༧ଌʹجͮ͘ Ծ૝αʔόͷܭըతΦʔτεέʔϦϯά

Slide 38

Slide 38 text

38 ՝୊ͷڞ༗

Slide 39

Slide 39 text

• ैྔ՝ۚͷԾ૝αʔόӡ༻ʹ͓͍ͯ࠷దͳϦιʔεधཁͷ༧ଌ͸ίετΧοτʹͭͳ͕Δ • WebαʔϏεͷϦιʔεधཁ͸ϦΫΤετॲཧ݅਺ɺͭ·ΓΞΫηε਺ͱ૬͕ؔ͋Δ͸ͣ • Ϧιʔεͷ૿ݮʹ΋͋Δఔ౓ͷ͕͔͔࣌ؒΔͨΊɺϦΞϧλΠϜͰ͸ͳ͘ҰఆִؒͰͷΞ Ϋηε਺༧ଌͰे෼ͱߟ͑Δ 39 ண؟఺ͱํࣜ ΞΫηε਺Λ༧ଌͰ͖ΔΑ͏ʹͳΕ ͹ɺϐʔΫλΠϜʹ͋Θͤͨ୆਺ݟੵ ΋Γ͔Β࣌ؒ͝ͱͷ࠷దʢͱࢥΘΕ Δʣ୆਺ݟੵ΋Γ͕ՄೳʹͳΔ

Slide 40

Slide 40 text

• WebαʔϏεશମͰҰఆ࣌ؒʹॲཧͨ͠ΞΫηεස౓Ͱ͋ΔεϧʔϓοτΛ ࢦඪͱ͠ɺӡ༻্ɺܦݧతʹ೺Ѳ͞Ε͍ͯΔ҆ఆͯ͠ӡ༻Մೳͳ஋Λ໨ࢦ͢ • աڈͷΞΫηεස౓܏޲ͱෆఆظͳมಈཁҼ͔Β༧ଌϞσϧΛಋ͘ • ༧ଌతͳߏ੒มߋΛ՝ۚ୯ҐͰ͋Δ1࣌ؒΛ୯Ґʹߦ͏ 40 ఏҊख๏

Slide 41

Slide 41 text

41 ఏҊख๏

Slide 42

Slide 42 text

42 ΞΫηεස౓༧ଌϞσϧ ΞΫηεස౓༧ଌϞσϧ ֶशσʔλ͸Ϋϥ΢υαʔϏεͷඪ४՝ ۚ୯ҐͰ͋Δ࣌ؒΛཻ౓ͱ͢Δ 8FCαʔϏεͷ࠷୹ఆৗੑΛ֬ೝͰ͖Δ࣌ؒ෼ͷσʔλ Λೖྗͱ͠ɺ࣍ͷ࣌ؒ෼ͷΞΫηεස౓༧ଌΛग़ྗͱ͢Δ ˞࣌ؒޙҎ߱͸༧ଌ෼ΛؚΊͨظΛೖྗͱ͢Δ

Slide 43

Slide 43 text

࠶ؼܕχϡʔϥϧωοτϫʔΫ 43 • ܥྻ৘ใΛѻ͏χϡʔϥϧωοτϫʔΫ f W(1) W(2) W x1 x2 xt y1 y2 yt z z1 z2 zt x y zt 1 zt xt ҎલͷೖྗʹӨڹΛड͚ΔΑ͏ͳॱংʹҙຯ͕͋Δܥྻσʔλ ΛऔΓѻ͏ͨΊɺதؒ૚ͷग़ྗΛࣗ਎ʹ໭͢ɻಈతʹ૚਺͕ม ΘΔωοτϫʔΫͱଊ͑ΒΕΔɻ ๨٫ήʔτ ग़ྗήʔτ ೖྗήʔτ ૚਺ͷਂ͍ωοτϫʔΫͱͯ͠ల։͞ ΕΔܥྻσʔλΛѻ͏ͨΊɺ3//ͷ ϊʔυΛϝϞϦϢχοτʹஔ͖׵͑ͨ -45.͕ఏҊ͞Εͨɻ ೖग़ྗήʔτʹΑΓબ୒తʹσʔλΛ ௨աɺ๨٫ήʔτʹΑΓෆཁͳ৘ใΛ Ϧηοτ͢Δ͜ͱͰঢ়گมԽΛଊ͑ͳ ͕Β௕ظґଘͷܥྻσʔλΛѻ͑Δɻ

Slide 44

Slide 44 text

44 Ծ૝αʔό୆਺ࢉग़ • ༧ଌͨ͠ΞΫηεස౓ΛجʹɺWebαʔϏεΛ҆ఆͯ͠ӡ༻ Ͱ͖Δ໨҆ͱͳΔεϧʔϓοτ஋Λ֬อͰ͖Δ୆਺ΛٻΊΔ ༧ଌΞΫηεස౓ʹର͠εϧʔϓοτΛ ֬อͰ͖Δ୆਺Λࢉग़͢Δ 5<ΞΫηεස౓෼> 1<༧ଌΞΫηεස౓࣌> -αʔό୆਺Լݶ஋

Slide 45

Slide 45 text

ಋೖ

Slide 46

Slide 46 text

• ࠓճͷධՁͰ͸ɺର৅ͷ WebαʔϏεʹ͓͍ͯཌ೔ ͕ฏ೔ͷ৔߹ɺ໷ؒʹΞΫ ηεස౓͕૿Ճ͢Δͱ͍͏ ܦݧଇΛཁҼͱͯ͠Ճ͑ͨ 46 ඇఆৗͷཁҼͷՃຯʹΑΔ༧ଌਫ਼౓ͷධՁ

Slide 47

Slide 47 text

47 ඇఆৗͷཁҼͷՃຯʹΑΔ༧ଌਫ਼౓ͷධՁ ໷ؒʹීஈͱҟͳΔ܏޲ͱͳΔಛੑΛଊ ͑ͨ༧ଌ͕ߦΘΕ͍ͯΔɻ

Slide 48

Slide 48 text

48 ܭըతΦʔτεέʔϦϯάͷධՁ Ծ૝αʔό୆਺ͷਪҠ ೔͋ͨΓͷαʔό૯ىಈ࣌ؒ͸"܈ ը૾্ Ͱ͔࣌ؒΒ࣌ؒʹɺ#܈ ը૾Լ Ͱ ͸ ͔࣌ؒΒ࣌ؒʹ࡟ݮ ˞"܈ͷ࣌͸ࢉग़୆਺͕୆਺Լݶ஋ΛԼ ճͬͨͨΊɺ୆਺ͷมಈ͸ݟΒΕͳ͍

Slide 49

Slide 49 text

49 ܭըతΦʔτεέʔϦϯάͷධՁ ΞΫηεස౓ͷਪҠ ೔͋ͨΓΞΫηεස౓ͷඪ४ภࠩ͸"܈ ը ૾্ Ͱ໿͔Β໿ʹɺ#܈ ը ૾Լ Ͱ͸໿͔Β໿ʹมԽɻ ख๏ద༻ޙʹεϧʔϓοτ͕҆ఆ͍ͯ͠Δ ͜ͱ͕Θ͔Δɻ ˞"܈ͷ૿Ճ͸Լݶ୆਺ӡ༻ͱͳͬͨ࣌ؒଳ ͷ୆͋ͨΓͷεϧʔϓοτ஋૿ՃʹΑΔ΋ ͷͱߟ͑ΒΕΔ

Slide 50

Slide 50 text

ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ 50 ࡾ୐ ༔հ, দຊ ྄հ, ྗ෢ ݈࣍, ܀ྛ ݈ଠ࿠, ΞΫηεස౓༧ ଌʹجͮ͘Ծ૝αʔόͷܭըతΦʔτεέʔϦϯά, ݚڀใࠂ Πϯλʔωοτͱӡ༻ٕज़ʢIOTʣ, Vol.2017-IOT-38(13), pp.1-8, June 2017 http://id.nii.ac.jp/1001/00182375/

Slide 51

Slide 51 text

ݚڀॴͱαʔϏεͷ࿈ܞ

Slide 52

Slide 52 text

1. ج൫ԽɺAPIԽʹΑΔݚڀ؀ڥͱαʔϏεͷγʔϜϨεͳ࿈ܞ 2. ίʔυ؅ཧɺόʔδϣϯ؅ཧʹΑΔݚڀͱӡ༻ͷฒߦ 52 ݚڀ݁ՌͷαʔϏεಋೖ ݚڀ݁ՌͷαʔϏεಋೖ͸ଈ͔࣌ͭશࣾల։Ͱ͖Δ͜ͱ͕๬·͍͠

Slide 53

Slide 53 text

ػցֶशج൫

Slide 54

Slide 54 text

1. ϩά΍DBͳͲͷαʔϏεࢿ࢈ͱ࿈ܞͰ͖Δ 2. ൺֱత༰қʹϞσϧͷߏஙͱࢼߦ͕ߦ͑Δ 3. ֶश݁ՌΛར༻͢ΔͨΊͷखஈͱͯ͠APIΛఏڙ͢Δ 1. ֶश݁ՌͷϩʔΧϧར༻͕Ͱ͖Δͱͳ͓Α͍ 4. ্هͷ࢓૊Έ͕εέʔϥϒϧͰ͋Δ͜ͱ 54 ػցֶशج൫ʹٻΊΒΕΔ΋ͷ

Slide 55

Slide 55 text

1. ೖग़ྗ͕Cloud Storageܦ༝ 2. ܇࿅ϓϩάϥϜͱͯ͠TensorFlowΛ࠾༻ 3. ΦϯϥΠϯ༧ଌαʔϏεʹΑΓϞσϧͷAPIԽ 1. ֶश݁Ռ͸Cloud StorageʹอଘɺϩʔΧϧͰͷར༻΋ 4. ෼ࢄܕͷτϨʔχϯάΠϯϑϥͱෛՙ෼ࢄαʔϏεͱͷ࿈ܞ 55 Google Cloud ML EngineͰߟ͑Δ ※ ݕ౼ʹؔ͢Δৄࡉ: 
 http://rand.pepabo.com/article/2017/01/18/pepabo-ml-platform-and-workflow/

Slide 56

Slide 56 text

StarChart StarChart is a tool to manage Google Cloud Machine Learning training programs and model versions https://github.com/monochromegane/starchart

Slide 57

Slide 57 text

• όʔδϣϯ؅ཧͷ੾ସʹ͓͚Δ൑அج४ͱͳΔ܇࿅ϓϩάϥϜɺύϥϝλɺδϣ ϒ৘ใ·ͰؚΊͯίʔυͰ؅ཧ • ֶश࣌ͷδϣϒID΍Cloud Storageͷύεɺόʔδϣϯʹඥͮ͘ύϥϝλ৘ใ ͷऔಘʹ·ͭΘΔCloud MLͷࡉ͔ͳ࢖͍উख΋վળ 57 StarChart

Slide 58

Slide 58 text

ϩάج൫

Slide 59

Slide 59 text

ϩάج൫ 59 IDFA/GAID UID rack-bigfoot Service Request Activity log Services DB Attribute Big Cube Cube https://icons8.com BI Recommendation Bandit algorithm Re-marketing Feedback Name identification Cookie Sync

Slide 60

Slide 60 text

SBDLCJHGPPU w3BJMTΞϓϦέʔγϣϯͱ'MVFOUEΛͭͳ͙3BDLϛυϧ΢ΣΞ w#JHGPPUʹඞཁͳڞ௨ύϥϝλΛϦΫΤετɾϨεϙϯεϔομ͔Βऔಘ wαʔϏεݻ༗ͷύϥϝλΛ෇༩͢Δ͜ͱ΋Մೳ Rails.application.config.app_middleware.insert_after ActionDispatch::Callbacks, Rack::Bigfoot do |config| config.service = 'minne' config.environment = Rails.env config.enable_fluent = Rails.env.production? || Rails.env.staging? config.ignore_path_patterns << %r(\A/healthcheck) config.headers << 'HTTP_X_CLIENT_VERSION' end

Slide 61

Slide 61 text

5SFBTVSF%BUB wΫϥ΢υܕσʔλϚωδϝϯταʔϏε wIUUQTXXXUSFBTVSFEBUBDPN wେ༰ྔͷϩάอଘɺ෼ࢄॲཧʹΑΔߴ଎ͳϩάૢ࡞ log Plasma DB HiveQL export SQL aggregate Data Tanks

Slide 62

Slide 62 text

ϫʔΫϑϩʔ w5SFBTVSF%BUBͷεέδϡʔϧΫΤϦΛར༻ wΫΤϦͷίʔυ؅ཧ༻ʹ1FOEVMVNΛ։ൃ wIUUQTHJUIVCDPNNPOPDISPNFHBOFQFOEVMVN w%4-ʹΑͬͯεέδϡʔϧΫΤϦΛهड़͠ɺίʔυ؅ཧ Scheduled queries Queries on GitHub Apply Pendulum

Slide 63

Slide 63 text

3. ։ൃऀࢹ఺͔Βݚڀऀࢹ఺΁ɻ ͋Δ͍͸ͦͷཱ྆ɻ

Slide 64

Slide 64 text

ݚڀͬͯͳΜͩ

Slide 65

Slide 65 text

• ։ൃऀͱͯ͠ͷ೰Έ • ط஌ͷػցֶशख๏ΛαʔϏε՝୊ʹద༻͢ΔΞϓϩʔν • ৽نੑΛࣔ͠ʹ͍͘ͷͰ͸ͳ͍͔ • ط஌ͷػցֶशख๏ͷධՁͱͳͬͯ͠·͏ͷͰ͸ͳ͍͔ 65 ݚڀͬͯͳΜͩ

Slide 66

Slide 66 text

• ݚڀͱ͸ɺ໨తͰ΋खஈͰ΋ͳ͘ʮաఔʯͰ͸ͳ͍͔ 66 ݚڀͬͯͳΜͩ ͋Δ΂͖ੈքʹ޲͚ͯɺ٬؍తʹ࣮֬ʹҰาਐΜͩূ͕ ݚڀใࠂͰ͋Γɺ࿦จͰ͋Γɺ੒ՌͰ͋Δ • ͋Δ΂͖ੈքͷఆٛ • ͋Δ΂͖ੈքΛఆٛ͢Δɺ·ͨ͸ͦ͜ʹࢸΔख๏Λ࣮֬ʹਐΊΔͨΊͷ
 ઌߦݚڀͷཧղ • ͨΏ·͵ࢥߟʹΑΔ஍ಓͳҰาͮͭͷલਐ

Slide 67

Slide 67 text

ྨࣅը૾ݕࡧɺ࠶ߟ

Slide 68

Slide 68 text

• ৘ใ୳ࡧϓϩηε͸γεςϜଆͷ ٕज़ৄࡉ͚ͩͰ͸ͳ͘ɺ͜ͷϓϩ ηεΛۦಈ͢ΔओମͰ͋Δར༻ऀ ͕ଘࡏ͢Δ • ར༻ऀαΠυΛத৺ͱͨ͠৘ใ୳ ࡧϓϩηεϞσϧͷઌߦݚڀʹΑ Γɺ৘ใཁٻ͸ɺ༷ʑͳจ຺ʹΑ ΓมԽ͍ͯ͘͜͠ͱ͕Θ͔͍ͬͯ Δ 68 ͳΊΒ͔ͳϚονϯάʹ޲͚ͯ ৘ใཁٻΛऔΓרٕ͘ज़ͱϓϩηεϞσϧؔ࿈ਤ จ຺ʹΑΓ࠷దͳԠ౴͕มԽ͢ΔͷͰ͋Ε͹ɺ ٕज़ؒͰͷ༏ҐੑධՁͰ͸ͳ͘ɺ ঢ়گʹԠͨ͡બ୒͕ྑ͍ͷͰ͸ͳ͍͔

Slide 69

Slide 69 text

• ར༻ऀͷऔΓ͏Δߦಈ͕จ຺ʹΑΓมԽ͢ΔͱԾఆ্ͨ͠Ͱɺਫ਼៛ͳจ຺ͷ೺ Ѳฒͼʹ՝୊ઃఆͷ໌֬ԽࢧԉΛ௨ͯ͠ɺ௚ײతͳ໰͍߹ΘͤʹԠ౴Ͱ͖Δ࢓ ૊Έ 69 ͳΊΒ͔ͳϚονϯάʹ޲͚ͯ 1. จ຺ʹΑΓԠ౴ͷධՁ͕มΘΔ͜ͱͷ֬ೝ 2. ར༻ऀͷจ຺ͷύλʔϯ෼ྨͱࣝผख๏ͷཱ֬ 3. ඞཁʹԠͯ͡௚ײతͳ໰͍߹ΘͤʹԠ౴Ͱ͖Δݕࡧ৘ใٕज़ͷಋೖ 4. ՝୊ઃఆͷ໌֬Խࢧԉͷݕ౼

Slide 70

Slide 70 text

ݚڀͱ։ൃͷཱ྆

Slide 71

Slide 71 text

• ͋Δ΂͖ੈքʹ޲͚ͯ٬؍తɺ࣮֬ʹาΜͰ͍ͨ͘ΊͷݚڀऀεΩϧ • ՝୊Λղܾ͠ɺαʔϏεʹద༻͢ΔͨΊͷ։ൃऀεΩϧ • ͜ΕΒͷ૬৐ޮՌ͕ɺࣄۀΛࠩผԽ͢ΔͨΊͷٕज़Λ࡞Γग़͠ɺࣄۀͷ੒௕ʹ ߩݙ͢Δʂ 71 ݚڀͱ։ൃͷཱ྆

Slide 72

Slide 72 text

ݚڀһɺੵۃతʹืूதʂ http://rand.pepabo.com/

Slide 73

Slide 73 text

• ϖύϘݚڀॴ • http://rand.pepabo.com/ • ಛ௃நग़ثͷֶशͱߪങཤྺΛඞཁͱ͠ͳ͍ྨࣅը૾ʹΑΔؔ࿈঎඼ݕࡧγεςϜ • http://rand.pepabo.com/article/2017/06/19/iot37-miyakey/ • ΞΫηεස౓༧ଌʹجͮ͘Ծ૝αʔόͷܭըతΦʔτεέʔϦϯά • http://rand.pepabo.com/article/2017/06/28/iot38-miyakey/ • αʔϏεʹدΓఴ͏ϩάج൫ • https://speakerdeck.com/monochromegane/pepabo-log-infrastructure-bigfoot • Google Cloud ML Λ༻͍ͨػցֶशج൫ͷߏஙͱӡ༻ • https://speakerdeck.com/monochromegane/pepabo-ml-infrastructure-starchart 73 ࢀߟ