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.2k
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
490
20201121_oldpaperreading_computing_machinery_and_intelligence
diracdiego
0
170
20200906_ACL2020_metric_for_ordinal_classification_YoheiKikuta
diracdiego
1
1.3k
20191102_ACL2019_adversarial_examples_in_NLP_YoheiKIKUTA
diracdiego
2
1.4k
20190223_nlpaperchallenge_CV_4.3to5.5
diracdiego
2
830
20180701_CVPR2018_reading_YoheiKIKUTA
diracdiego
3
1.2k
20180414_WSDM2018_reading_YoheiKIKUTA
diracdiego
0
720
20180306_NIPS2017_DeepLearning
diracdiego
4
5.9k
20180215_MLKitchen7_YoheiKIKUTA
diracdiego
0
440
Other Decks in Technology
See All in Technology
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
170
知覚とデザイン
rinchoku
1
480
事業開発におけるDify活用事例
kentarofujii
5
1.4k
Biz職でもDifyでできる! 「触らないAIワークフロー」を実現する方法
igarashikana
5
3k
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
230
What's new in OpenShift 4.20
redhatlivestreaming
0
140
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
180
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
3
450
OSSで50の競合と戦うためにやったこと
yamadashy
3
960
生成AIを安心して活用するために──「情報セキュリティガイドライン」策定とポイント
gree_tech
PRO
1
350
MCP ✖️ Apps SDKを触ってみた
hisuzuya
0
330
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
110
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Bash Introduction
62gerente
615
210k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
How to Ace a Technical Interview
jacobian
280
24k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Gamification - CAS2011
davidbonilla
81
5.5k
Automating Front-end Workflow
addyosmani
1371
200k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Code Reviewing Like a Champion
maltzj
526
40k
Designing for humans not robots
tammielis
254
26k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
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/