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
20180210_Cookpad_TechConf2018_YoheiKIKUTA
Search
yoppe
February 10, 2018
Technology
5
1.1k
20180210_Cookpad_TechConf2018_YoheiKIKUTA
Talk at Cookpad TechConf 2018 (
https://techconf.cookpad.com/2018/
).
yoppe
February 10, 2018
Tweet
Share
More Decks by yoppe
See All by yoppe
20211023_recsys2021_paper_reading_YoheiKikuta
diracdiego
2
430
20201121_oldpaperreading_computing_machinery_and_intelligence
diracdiego
0
140
20200906_ACL2020_metric_for_ordinal_classification_YoheiKikuta
diracdiego
1
1.2k
20191102_ACL2019_adversarial_examples_in_NLP_YoheiKIKUTA
diracdiego
2
1.4k
20190223_nlpaperchallenge_CV_4.3to5.5
diracdiego
2
740
20180701_CVPR2018_reading_YoheiKIKUTA
diracdiego
3
1.1k
20180414_WSDM2018_reading_YoheiKIKUTA
diracdiego
0
680
20180306_NIPS2017_DeepLearning
diracdiego
4
5.8k
20180215_MLKitchen7_YoheiKIKUTA
diracdiego
0
350
Other Decks in Technology
See All in Technology
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
380
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
公共領域から学ぶ クラウド移行についてエンジニアが意識していること
kawakawa2222
0
140
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
Azure AI ことはじめ
tsubakimoto_s
0
130
AWSサービスメニュー開発をしていてAWSを好きだ!と感じた瞬間
toru_kubota
0
130
[I/O Extended Android 2024] What`s new in Android 2024
kyeongwan
0
220
クラウド利用者の「責任」をどう果たす?AWSセキュリティ対策のススメ #AWSSummit
hiashisan
0
280
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
190
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024
cho0o0
1
420
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
190
Featured
See All Featured
Speed Design
sergeychernyshev
9
270
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
19k
GitHub's CSS Performance
jonrohan
1026
450k
Designing for Performance
lara
604
67k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
Making Projects Easy
brettharned
111
5.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
357
18k
GraphQLとの向き合い方2022年版
quramy
36
13k
Design by the Numbers
sachag
277
18k
Transcript
٠ా ངฏ ݚڀ։ൃ෦ Solve “unsolved” image recognition problems in service
applications Cookpad Inc. Feb 10th, 2018
ࣗݾհ → https://github.com/yoheikikuta/resume ɾ໊લɿ٠ా ངฏ @yohei_kikuta ɾॴଐɿݚڀ։ൃ෦ ɾݞॻɿϦαʔνΤϯδχΞ ɹɹɹɹത࢜ʢཧֶʣ ɾઐɿը૾ੳ
ɾɿম͖ᰤࢠɺण࢘ɺDr Pepper 2
࣍ 3 ɾݚڀ։ൃ෦ͷհ ɾ࣮ۀʹ͓͚Δը૾ੳͷࠔ ɾΫοΫύουͰ۩ମతʹը૾ੳʹऔΓΜͰ͍Δࣄྫͷհ - ྉཧ͖Ζ͘ɿҙͷը૾ͷྉཧ/ඇྉཧྨ - Ϩγϐྨɿྉཧը૾ͷϨγϐΧςΰϦྨ -
ϞόΠϧ࣮ɿϞόΠϧͰಈ͘ྉཧը૾ྨͷϞσϧߏங ɾ·ͱΊ
ݚڀ։ൃ෦ͷϝϯόʔ 4 ৽نٕज़Λ׆༻ͨ͠αʔϏεͷ։ൃɾվળ [ରྖҬ] σʔλ࡞ɺը૾ੳɺࣗવݴޠॲཧ ରɺ৯จԽɺIoTσόΠεɺ։ൃج൫උ
ݚڀ։ൃ෦ͷऔΓΈ 5
ݚڀ։ൃ෦ͷऔΓΈɿը૾ੳ 6 ྉཧ/ඇྉཧఆ http://techlife.cookpad.com/entry/2017/09/14/161756 http://techlife.cookpad.com/entry/2017/11/08/132538 ྉཧ/ඇྉཧྨɺϨγϐྨɺղ૾ɺϑΟϧλ࡞ɺͳͲ
ݚڀ։ൃ෦ͷऔΓΈɿࣗવݴޠॲཧ 7 http://techlife.cookpad.com/entry/2015/09/30/170015 http://techlife.cookpad.com/entry/2017/10/30/080102 MYϑΥϧμͷࣗಈཧɺࡐྉදهͷਖ਼نԽɺͳͲ
ݚڀ։ൃ෦ͷऔΓΈɿAmazon Echo ͚ͷΫοΫύουεΩϧ http://techlife.cookpad.com/entry/2017/11/21/181206 http://techlife.cookpad.com/entry/2017/11/22/alexa-skilldesign
ݚڀ։ൃ෦ͷऔΓΈɿΠϯϑϥڥͱαʔϏεͷܨ͗ࠐΈ 9 https://youtu.be/Jw9CpQkCvpM
ݚڀ։ൃ෦ͷऔΓΈɿ৯จԽݚڀ 10 https://cookpad.com/kitchen/14604664 https://info.cookpad.com/pr/news/press_2016_1208
ݚڀ։ൃ෦ͷऔΓΈɿֶज़ํ໘ͷߩݙ 11 ɾ֤छֶձͷจߘεϙϯαʔ ɹ IJCAI, SIGIR, JSAI, ALNP, IPSJ, CEA,
XSIG2017, … ɾݚڀ༻ʹσʔληοτΛఏڙ ɹ https://www.nii.ac.jp/dsc/idr/cookpad/cookpad.html ɾίϯϖςΟγϣϯ༻ʹઃఆͱσʔληοτΛఏڙ ɹ- ਓೳٕज़ઓུձٞओ࠵ ୈ1ճAIνϟϨϯδίϯςετ ɹ https://deepanalytics.jp/compe/31 20170331ऴྃ ɹ- JSAI Cup 2018 ਓೳֶձσʔλղੳίϯϖςΟγϣϯ ɹ https://deepanalytics.jp/compe/59 20180329క
ࠓը૾ੳͷΛ͠·͢
࣮ۀʹ͓͚Δը૾ੳͷࠔɿͦͦղ͚͍ͯΔͰʁ 13 ྨʮղ͚ͨʯ 0 7.5 15 22.5 30 2010 2011
2012 2013 2014 2015 2016 2017 2.25 2.99 3.57 7.41 11.2 15.3 25.8 28.2 Classification error [%] Deep Learning !! human ability
࣮ۀʹ͓͚Δը૾ੳͷࠔɿͦͦղ͚͍ͯΔͰʁ 14 ྨʮղ͚ͨʯ※ཧతͳঢ়گԼͰ ɾదͳϥϕϧͷ༩ ɹ ҰఆҎ্ͷ࣭Ͱ֤ը૾ʹϥϕϧ͕༩͞Ε͍ͯΔ ɾదͳΧςΰϦͷઃܭ ɹ ࢹ֮తʹྨͰ͖ΔΑ͏ͳΧςΰϦʹ͚ΒΕ͍ͯΔ ɾclosed
set ɹ ֶशσʔλͷͱςετσʔλͷ͕͍͠
࣮ۀʹ͓͚Δը૾ੳͷࠔɿͦͦղ͚͍ͯΔͰʁ 15 ཧ ≠ ݱ࣮ ɾదͳϥϕϧͷ༩ɿ˚ ͋ΔఔσʔλྔͰΧόʔՄೳ ɾదͳΧςΰϦͷઃܭɿ☓ {ϥʔϝϯ, ύελ,
ΧϧϘφʔϥ} ͳͲ ɾclosed setɿ☓ ςετσʔλଟ༷Ͱ͔ͭಈత ࣮ͦͦαʔϏεͰղ͖͘ଟ͘ͷ߹ ”ؒҧ͍ͬͯΔ” → trial & error Ͱղ͖͕͘Կ͔Λ໌Β͔ʹ͍ͯ͘͠ͷ͕ओ
զʑ͕ͲͷΑ͏ʹͦΕΒͷʹऔΓΜͰ͍Δ͔ʁ ɾྉཧ͖Ζ͘Ͱͷػೳ ɹ Ϣʔβͷ࣋ͭը૾Λྉཧ/ඇྉཧྨ ɾϨγϐྨͰͷػೳ ɹ ྉཧࣸਅΛదͳϨγϐʹྨ ɾྉཧ/ඇྉཧྨϞσϧͷϞόΠϧ࣮ ɹ ϞσϧΛϞόΠϧʹҠ২ͯ͠ϓϥΠόγʔͷͳͲΛղܾ
16 ۩ମతͳࣄྫͷհ
۩ମతͳࣄྫɿྉཧ͖Ζ͘Ͱͷྉཧ/ඇྉཧྨ ɾTechConf2017 Ͱհ ɾྉཧͷࣸਅΛࣗಈతʹྨͯ͠දࣔɹ ɹ- CNNʹΑΔྨͰྉཧը૾Λநग़ ɹ- ৯ࣄͷৼΓฦΓͭ͘ΕΆͷଅਐ ɾ20180206࣌Ͱ ɹ-
Ϣʔβɿ19ສਓҎ্ ɹ- ྦྷੵྉཧຕɿ1900ສຕҎ্ 17 ྉཧ͖Ζ͘ͷਐԽͱݱࡏ https://speakerdeck.com/ayemos/real-world-machine-learning
۩ମతͳࣄྫɿྉཧ͖Ζ͘Ͱͷྉཧ/ඇྉཧྨ 18 ػցֶशͷ؍͔Βॏཁͳ ɾΫΠοΫελʔτ ɹը૾ੳͷݟ͕ෆेͳͱ͖͔Β CaffeNet Ͱૉૣ࣮͘ ɾϞσϧͷվળͱۤखͳΧςΰϦͷߟྀ ɹ Inception
V3 ͷ༻ multi-class Ϟσϧͷ༻ ɾςετσʔλͷ֦ॆ ɹࣾһ͔ΒσʔλΛूΊ࣮ͯڥʹ͍ۙঢ়گͰݕূ ɾہॴੑΛऔΓࠐΉͨΊͷύονԽ ɹࣸਅͷҰ෦ʹྉཧ͕͍ࣸͬͯΔঢ়گʹదԠ http://techlife.cookpad.com/entry/2017/09/14/161756 http://techlife.cookpad.com/entry/2017/11/08/132538
۩ମతͳࣄྫɿྉཧ͖Ζ͘Ͱͷྉཧ/ඇྉཧྨ 19 ɾہॴੑΛऔΓࠐΉͨΊͷύονԽ ɹ- ෦తͳྉཧը૾Λर͍͍ͨʢsegmentation ·Ͱ͍Βͳ͍ʣ ɹ- ը૾Λύονʹ͚ͯͦΕͧΕͰྨ͢ΔϞσϧΛߏங
۩ମతͳࣄྫɿྉཧࣸਅͷϨγϐΧςΰϦྨ ɾྉཧࣸਅΛదͳϨγϐΧςΰϦʹྨ ɾ୯७ͳྨʹݟ࣮͑ͯඇৗʹ͍͠ ɹ- open set ʹ͓͚Δ༧ଌ ɹ- ༧ଌରͷΧςΰϦͷઃܭ ɹ-
ྨࣅΧςΰϦͷଘࡏ ɾ༷ʑͳ࣮ݧΛܦͯϞσϧΛ࡞ ɹ- ྨࣅΧςΰϦͷྨͱ precision ʹྗ 20 ྉཧ͖Ζ͘ͷͦͷઌ
۩ମతͳࣄྫɿྉཧࣸਅͷϨγϐΧςΰϦྨ 21 ػցֶशͷ؍͔Βॏཁͳ ɾྨͷରͱͳΔΧςΰϦͷઃܭ ɹαʔϏεͱ݉Ͷ߹͍ΛਤΓͭͭ༧ଌରΧςΰϦΛબఆ ɾྨࣅΧςΰϦʹର͢Δྨ ɹ ΧςΰϦؒͷྨࣅ͕େ͖͘ҟͳΔͷͰఆྔతͳධՁ๏ΛߟҊ ɾopen set
ͳྨʹ͓͚Δ precision ͷ֬อ ɹOne vs. Rest ྨثΛΈ߹Θͤͯ precision ΛߴΊΔΑ͏ௐ ɾධՁํ๏ͷઃܭ ɹΦϯϥΠϯͰϑΟʔυόοΫɺΦϑϥΠϯͰσʔλ࡞ จ : https://arxiv.org/abs/1802.01267
۩ମతͳࣄྫɿྉཧࣸਅͷϨγϐΧςΰϦྨ 22 ɾΧςΰϦߏͱΧςΰϦؒྨࣅͷఆࣜԽ ɹ- ੜϞσϧͷ؍ɺϥϕϧ͚ͷ֬ੑɺ༧ଌϥϕϧͱͷؔ ɹ- ֶशϞσϧͷ ”ޡྨ” ͔ΒΧςΰϦؒྨࣅΛఆٛ
۩ମతͳࣄྫɿྉཧࣸਅͷϨγϐΧςΰϦྨ 23 ɾ࣮ࡍͷΧςΰϦઃܭͷεςοϓ ɹ- ϝλσʔλ͔ΒશΧςΰϦΛநग़ʢશ෦Ͱ1,000ΧςΰϦఔʣ ↓ ɹ- ࢹ֮తͰͳ͍ͷ͕গͳ͍ͷΛআ֎ʢେࡼྉཧͳͲʣ ↓ ɹ-
αʔϏεʹ͓͍ͯ༗༻ͦ͏ͳͷΛਓྗͰநग़ʢ͜͜ॏཁʣ ↓ ɹ- ޡྨʹجͮ͘ྨࣅͰ౷ഇ߹ʢ࠷ऴతʹ50ΧςΰϦఔʣ ྫʣ͖ͦͱϏʔϑϯΛಉ͡ΧςΰϦͱͯ͠౷߹
۩ମతͳࣄྫɿྉཧࣸਅͷϨγϐΧςΰϦྨ 24 ɾprecision ΛߴΊΔͨΊʹ One vs. Rest ྨثʹΑΔϞσϧΛߏங ɹ- རɿݸʑͷΧςΰϦʹ߹Θͤͨॊೈͳઃܭ͕Մೳ
ɹ- ܽɿॱ൪ᮢͳͲ hand crafted ͳ෦গͳ͘ͳ͍ feature extractor for c in {αϥμ, ύελ, …} 0 1 ྉཧը૾Ͱ pre-train ͨ͠ Inception V3 1 0 αϥμ next next f2 ྨࣅ͕ߴ͍ΧςΰϦ ͚ͩΛूΊֶͯशͨ͠ One vs. Rest ྨث
۩ମతͳࣄྫɿը૾ྨϞσϧͷϞόΠϧͷҠ২ ɾղܾ͍ͨ͠·ͩ·ͩ͋Δ ɹ- ଈ࣌ੑɿࡱͬͨࣸਅ͕Ͱ͖Δ͚ͩૣ͘ө͞Εͯཉ͍͠ ɹ- ػີੑɿϢʔβͷࣸਅݟ͍ͯͳ͍͕৺ཧత߅Δ ɹ- ֦େੑɿܭࢉࢿݯΛ؆୯ʹεέʔϧ͍ͤͨ͞ ɹ- Ԡ༻ੑɿΞϓϦͰྨ༷ͯ͠ʑͳαʔϏεʹԠ༻͍ͨ͠
ɾϞόΠϧ࣮ͷػӡ ɹ - ܰྔͰߴੑೳͳϞσϧ͕֤छଘࡏ ʢSqueezeNet MobileNetʣ ɹ - ֤छϥΠϒϥϦͷॆ࣮ʢCore ML TensorFlow Liteʣ 25 ϞόΠϧͷҠߦ
۩ମతͳࣄྫɿը૾ྨϞσϧͷϞόΠϧͷҠ২ 26 ػցֶशͷ؍͔Βॏཁͳ ɾਫ਼Λग़དྷΔݶΓམͱͣܰ͞ྔͳϞσϧΛ࡞Δ ɹܰྔԽΛతͱͨ͠ߏྔࢠԽͳͲͷཧղ ɾϞόΠϧଆͱͷ࿈ܞ ɹ iOS Android
ଆͷݟ͕ෆՄܽ ɾใ͕গͳ͍தͰͷϓϩδΣΫτਪਐ ɹ ػցֶशͱϞόΠϧͷͦΕͧΕͷྖҬͰਂ͍ཧղ͕ॏཁ ɾϥΠϒϥϦͷόʔδϣϯґଘੑͳͲΛదʹѻ͏ ɹྫʣcoremltools 201802 ·Ͱ python 2.7 ܥͰͷΈར༻Մ
۩ମతͳࣄྫɿը૾ྨϞσϧͷϞόΠϧͷҠ২ 27 ɾྉཧ/ඇྉཧྨϞσϧΛϞόΠϧʹҠ২ ɹ- MobileNet ͱہॴԽͷͨΊͷύονԽΛ߹Θͤͨߏ ɹ- αʔό্ͷ࣮ݧʢը૾20,000ຕఔʣͰ 1% ఔͷਖ਼ͷࠩ
ɹ- iOS, Android ڞʹ࣮ػͰݕূ͓ͯ͠Γಉఔͷੑೳ ɾBristol ΦϑΟεͷग़ு࣌ʹਐΊͨϓϩδΣΫτ ɹ- iOS, Android ΤϯδχΞʹڠྗͯ͠Β͍ҰؾʹਐΜͩ ɹ- ࠃ֎ͰਐΊ͍͚ͯͦ͏ͳτϐοΫ
۩ମతͳࣄྫɿը૾ྨϞσϧͷϞόΠϧͷҠ২ 28 ɾAndroid (Pixel 2 at Bristol) Ͱͷ࣮ݧ݁Ռ Original Quantized
Model Size 12 [MB] 3.3 [MB] Accuracy 0.97 0.97 Precision 0.98 0.98 Recall 0.96 0.96 CPU Usage 40-60 [%] 40-60 [%] Memory Usage 120 [MB] 90 [MB] FPS 7.54 [FPS] 7.72 [FPS] DEMO
ը૾ੳͷίϯϖͬͯ·͢ʂ JSAI Cup 2018 క : 20180329 https://deepanalytics.jp/compe/59
·ͱΊ 30 Λఆٛ͠ɺͦΕΛਵ࣌ߋ৽ͯ͠ղ͍͍ͯ͘ ɾ࣮ۀͰͷը૾ੳͷ·ͩ·ͩ “ղ͚ͯͳ͍“ ɹ ਖ਼֬ʹղ͖͕͘໌֬ʹఆٛͰ͖͍ͯΔ͜ͱ͕গͳ͍ ɾࢼߦࡨޡͷʹͦΕΛݱঢ়ͷٕज़Ͱղ͚Δʹམͱ͠ࠐΉ ɹ ը૾ੳͷཁૉٕज़ख़͖͍ͯͯͯ͜͠Ε͕ॏཁͳϑΣʔζ
ɹ ΫοΫύουͰྉཧ͖Ζ͘Ϩγϐྨʹը૾ੳΛಋೖ ɾϞόΠϧͷҠ২ಈըͳͲ͕ը૾ੳͷ࣍ͷ໘നͦ͏ͳྖҬ
࠷ޙʹɿΫοΫύουʢগͳ͘ͱࣗʹͱͬͯʣಇ͖͍͢ 31 ݚڀ։ൃ෦Ͱಇ͘͜ͱ = ྑήʔ ɾྑετʔϦʔ ɹʮຖͷྉཧΛָ͠Έʹ͢Δʯͱ͍͏ϛογϣϯͷԼͰڠಇ ɾߴࣗ༝ ɹ৽͍͠ઓʹॏ͖Λஔ͍͍ͯͯ trial
& error Λਪ ɾָγεςϜ ɹैۀһ͕ಇ͖͘͢ύϑΥʔϚϯεΛग़͍͢͠ڥ
[એ] ਓೳֶձओ࠵ͷNIPS2018ใࠂձͰൃද͠·͢ 32 https://www.ai-gakkai.or.jp/no74_jsai_seminar/