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
450
20201121_oldpaperreading_computing_machinery_and_intelligence
diracdiego
0
150
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
760
20180701_CVPR2018_reading_YoheiKIKUTA
diracdiego
3
1.1k
20180414_WSDM2018_reading_YoheiKIKUTA
diracdiego
0
690
20180306_NIPS2017_DeepLearning
diracdiego
4
5.8k
20180215_MLKitchen7_YoheiKIKUTA
diracdiego
0
380
Other Decks in Technology
See All in Technology
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
1
2.3k
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Can We Measure Developer Productivity?
ewolff
1
150
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
TypeScript、上達の瞬間
sadnessojisan
46
13k
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
720
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
100
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
How GitHub (no longer) Works
holman
310
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Rails Girls Zürich Keynote
gr2m
94
13k
Facilitating Awesome Meetings
lara
50
6.1k
Bash Introduction
62gerente
608
210k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Teambox: Starting and Learning
jrom
133
8.8k
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/