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
Deep Learningライブラリ 色々つかってみた感想まとめ
Search
Takanori Ogata
April 17, 2016
Technology
17k
18
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Deep Learningライブラリ 色々つかってみた感想まとめ
Takanori Ogata
April 17, 2016
More Decks by Takanori Ogata
See All by Takanori Ogata
ACCELStarsピッチ資料
conta
0
150
Convolutional Pose Machines
conta
0
1.4k
Other Decks in Technology
See All in Technology
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
320
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
170
水を運ぶ人としてのリーダーシップ
izumii19
2
220
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
370
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
550
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
270
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
770
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
1.4k
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
200
徹底討論!ECS vs EKS!
daitak
3
1.1k
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
5
1.5k
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
250
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
4 Signs Your Business is Dying
shpigford
187
22k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
140
Designing Experiences People Love
moore
143
24k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.8k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Designing for Timeless Needs
cassininazir
1
260
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The agentic SEO stack - context over prompts
schlessera
0
820
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Mind Mapping
helmedeiros
PRO
1
260
Transcript
Deep LearningϥΠϒϥϦ ৭ʑ͔ͭͬͯΈͨײ·ͱΊ @conta_
Self Introduction ॹํɹول (twitter: @conta_) CTO@ABEJA, Inc. Computer Visionͱ͔ɺMachine LearningΛͬͨ
ϓϩμΫτ։ൃΛ͍ͬͯ·͢ɻ
Deep Learning Library?
None
ʊਓਓਓਓਓਓਓਓਓʊ ʼɹଟ͗ͯͭ͢Β͍ɹʻ ʉY^Y^Y^Y^Y^Y^Y^Yʉ
Dive into Deep Learning
ˎײ͡ํʹݸਓ͕ࠩ͋Γ·͢
ࠓճհ͢ΔϥΠϒϥϦ
Caffe Caffe: UC Berkleyͷਓ͕࡞ͬͯΔɻDeepLearningք۾Ͱ͔ͳΓฮͳϥΠϒϥϦͰɺ ޭେ͖͍ ݴޠ: ɾCoreC++ɻPython, MatlabͷWrapper͕͋Δ ಛ: ɾجຊతʹProtocol
BufferͰωοτϫʔΫΛهड़
▪͍͍ͱ͜Ζ(ݸਓతײ) ɾModel ZooʹֶशࡁΈϞσϧ͕ͨ͘͞Μެ։͞ΕͯΔ ʢطʹCVPR2016ͷจͷϞσϧެ։͞ΕͯΔʣ ɾݚڀऀׂ͕ͱͬͯΔͷͰ࠷৽ͷݚڀՌ͕CaffeͰ࣮͞ΕͯͨΓ͢Δ ɾMulti-GPUʹରԠͨ͠ͷͰɺઃఆ̍ͭͰෳͷGPUΛར༻Մೳ ɾ࣮ߦׂ͕Γͱૣ͍ ɾωοτϫʔΫͷύϑΥʔϚϯεςετ͕Ͱ͖Δ(caffe testίϚϯυ)
▪ͭΒ͍ͱ͜Ζ(ݸਓతײ) ɾΧελϚΠζ͕c++ͱProtocol BufferɻɻɻϚξͭΒ͌Ηɻɻɻʢˎ̍ʣ =>ਓ͕ΧελϚΠζͨ͠ͷɺΘ͔ΒΜɻ ɾωοτϫʔΫΛProtocol BufferͰॻ͘ͷ͕ͭΒ͍ʢˎ̎ʣ =>GoogLeNet2000ߦɺResNet7000ߦɻɻɻ ʢProtocol Buffer৬ਓܳʣ ɾσʔληοτΛ࡞͢Δͷ͕େม
ɾΤϥʔ͕Θ͔Γʹ͍͘ ɾιʔείʔυΛಡΊͳ͍ͱશػೳ͑ͳ͍ɺಈ͖͕Θ͔Βͳ͍ ʢυΩϡϝϯτߋ৽͠Ζʂʣ ɾΠϯετʔϧ͕ͭΒ͍ ʢੲʹൺΔͱґଘؔͷOnOffͷΦϓγϣϯ͕͍ͨͨΊɺ ͍ͩͿϚγʣ ɾRNNΛѻ͏͜ͱͰ͖ͳ͍ʢຐվ͞ΕͨCaffeϕʔεͷͷ͋Δ͚Ͳɻɻɻʣ
▪༨ஊʢˎ̍ʣ ɾ࠷ۙPython Layer͕Ճ͞ΕͯPython͚ͩͰΧελϚΠζ Ͱ͖ΔΑ͏ʹຐվ͍ͯ͠Δ(No Documentation)
▪༨ஊʢˎ̎ʣ ɾPythonͰProtocol BufferΛੜ Ͱ͖ΔΑ͏ʹͳͬͨͨΊɺ ϧʔϓͨ͠هड़ׂ͕ͱ؆୯ʹͳͬͨ (No Documentation)
▪͜Μͳͻͱʹ͓͢͢Ί ɾ·ͣԿ͔ಈ͔͍ͨ͠ਓ ɾͱΓ͋͑ͣݚڀՌΛࢼ͍ͨ͠ਓ ɾ͕ඞཁͳਓ ɾC++ͱProtocol BufferΛษڧ͍ͨ͠ਓ ɾࠜؾڧ͘Կ͔ͱઓ͍͍ͨਓ
Tensorflow: G̋̋gleͷࢄߦྻܭࢉϥΠϒϥϦɻ ผʹDeep͚ͩ͡Όͳ͍Μ͔ͩΒͶʂ ݴޠ: ɾCoreC++ɻPythonͱC++ͲͪΒͰಈ͘ɻ ಛ: ɾࢄॲཧ͕؆୯ʹͰ͖Δ ɾGoogleͷϓϩμΫτͰԿར༻͞Ε͍ͯͯɺ҆ఆײ͕͋Δ
▪͍͍ͱ͜Ζ(ݸਓతײ) ɾࢄॲཧ͕ΊͬͪΌ؆୯ʹͰ͖Δ(Distributed Tensorflow) ɾGoogle͕MLϓϥοτϑΥʔϜΛఏڙ։࢝ ɾ࠷ۙɺTensorflow͍·ͨ͠จ͕Α͘Ͱ͖͍ͯͯΔ ɾίΞ͕C++ͳͷͰAndroidͰಈ࡞͢Δ ɾDocker Container͕མͪͯΔͷͰɺDocker͑ΔͳΒ ΠϯετʔϧʹࠔΒͳ͍ ɾTensorboard͕ΦγϟϨ
▪ͭΒ͍ͱ͜Ζ(ݸਓతײ) ɾݰਓ͚ϥΠϒϥϦ =>Έ͕ͪΐͬͱෳࡶͳͷͰཧղ͠ͳ͍ͱ͍͜ͳͤͳ͍ =>ωοτϫʔΫΛॻ͘ͷʹҰ͔Βهड़͢Δඞཁ͕͋ΔɺTheanoతͳཱͪҐஔ ɾιʔείʔυ͕େنͳͨΊվ͕େมͦ͏ ʢҰԠυΩϡϝϯτ͋Δ͚Ͳʣ ɾDistributed TensorflowΛݸਓͷࢿݯͰ׆༻͢ΔͷࠔͳͷͰɺGoogleͷϓϥοτ ϑΥʔϜΛΘͳ͍ͱԸܙΛड͚ʹ͍͘ =>ࢄίϯϐϡʔςΟϯάͷIOϘτϧωοΫɺInfiniBandΛ͍ͬͺ͍ങ͑Δ͓ۚ࣋ͪ
ͳΒԸܙΛड͚ΒΕΔ͔
▪͜Μͳͻͱʹ͓͢͢Ί ɾΈͷ෦͔ΒDeep LearningΛษڧ͍ͨ͠ਓ ɾDeep Learningɹதʙ্ڃऀ͚ͷਓ ɾେنػցֶशΛͬͯΈ͍ͨਓ ɾେنػցֶशج൫Λ࡞Γ͍ͨਓ ɾMobileʹΈࠐΈ͍ͨਓ
Chainer: PFNͷDeep LearningϥΠϒϥϦɻ ݴޠ: ɾPython(+Cuda) ಛ: ɾDefine-by-Runͱ͍͏ख๏Λͱ͍ͬͯͯɺωοτϫʔΫΛޙ͔Βղ ऍ ɾ͢Β͍͠
▪͍͍ͱ͜Ζ(ݸਓతײ) ɾωοτϫʔΫͷهड़ͷॊೈੑ͕ߴ͍ ʢಛʹRNNܥඇৗʹॻ͖͍͢ʣ ɾ෦ͷಈ࡞͕Ͳ͏ͳͬͯΔ͔ඇৗʹΘ͔Γ͍͢ ɾσόοΫ͍͢͠ ɾφ͍ΞϧΰϦζϜ͕͍ͪૣ࣮͘͞ΕͯΔ ɾCupyͱ͍͏Cuda͕؆୯ʹ͑ΔߦྻԋࢉϥΠϒϥϦؚ͕·Ε͍ͯ ͯɺࣗલͷΞϧΰϦζϜΛൺֱత؆୯ʹߴԽͰ͖Δ (C++Ͱॻ͍ͯϥούʔͱ͔ͭ͘Βͳ͍͍ͯ͘) ɾதͷਓ͕͍͢͝
▪ͭΒ͍ͱ͜Ζ(ݸਓతײ) ɾωοτϫʔΫҎ֎ͷهड़ྔ͕ଟ͘ͳͬͯ͠·͏ʢֶशͷίʔυͱ͔ʣ ɾ࣮ߦʢ࠷ۙͦͦ͜͜ૣ͍ͬΆ͍ʣ ɾDeep Learning͔ͬͯͳ͍ͱଟ͍͜ͳͤͳ͍
▪͜Μͳͻͱʹ͓͢͢Ί ɾDeep LearingΛҰ͔ΒΨοπϦษڧ͍ͨ͠ਓ ɾDeep Learningɹதʙ্ڃऀͷਓ ɾݚڀͰTry and ErrorΛ܁Γฦ͠ͳ͕ΒΞϧΰϦζϜΛ։ൃ͍ͨ͠ਓ ɾෳࡶͳωοτϫʔΫΛهड़͍ͨ͠ਓ ʢωοτϫʔΫͰ݅จॻ͖͍ͨɺσʔλʹΑͬͯॲཧΛ͚͍ͨʣ
ɾRNNͱ͔NLPͱ͔Λॻ͖͍ͨ
▪MXNet: DMLC(Distributed (Deep) Machine Learning Community)͕࡞ͬͯ ΔɻXGBoostͷ࡞ݩͱͯ͠༗໊ɻ ▪ݴޠ: ɾCoreC++ɻWrapper͕ͨ͘͞Μ͋ΓɺPythonɺC++ɺScalaɺ RɺMatlabɺJuliaͱଟݴޠରԠɻ
▪ಛ: ɾଟݴޠʂ ɾ͕͔ͳΓૣ͍ʢॴײʣ ɾmshadow(ߦྻԋࢉ)ɺps-lite(ࢄॲཧ)ͷϥΠϒϥϦ͕ϕʔε
▪͍͍ͱ͜Ζ(ݸਓతײ) ɾࢄॲཧ(1Node, Multi-GPUɺMulti-NodeɺMulti-GPUͲͪΒ ʣ͕ΊͬͪΌ؆୯ʹͰ͖Δ(Example͋Γ) ɾS3ϞσϧσʔλΛอଘ͢Δػೳ͕͋Δ ɾૣ͍ʢImageNet full datasetΛGeForce GTX 980*4Ͱ8.5)
ɾͳͥૣ͍͔͕υΩϡϝϯτͰྗઆ͞Ε͍ͯΔ ɾଟ࠷ଟݴޠ͕ਐΜͰ͍Δ ɾC++Ͱॻ͔ΕͯΔͷͰ Mobile(iOS, Android)Ͱಈ͘
▪ͭΒ͍ͱ͜Ζ(ݸਓతײ) ɾΤϥʔ͕Θ͔Γʹ͍͘ɺຊʹΘ͔Γʹ͍͘ ɾυΩϡϝϯτ͕গͳ͍ =>ಛघͳֶशσʔλΛ࡞ͬͨΓ͢Δͷେม =>͍͜͠ͱΛ͠Α͏ͱ͢ΔͱιʔεΛಡ·ͳ͚ΕͳΒͳ͍
▪͜Μͳͻͱʹ͓͢͢Ί ɾDeep Learningɹதʙ্ڃऀ͚ͷਓ ɾΛٻΊ͍ͯΔਓ ɾPythonɺC++Ҏ֎Ͱར༻͍ͨ͠ਓ
▪Keras: PythonͷDeep LearningϥΠϒϥϦɻ ࠷ۙv1.0͕ϦϦʔε͞Εͨɻ ▪ݴޠ: ɾPython ▪ಛ: ɾTorchʹࣅͨهड़ํ๏ɻ ɾߦྻԋࢉͷόοΫΤϯυTheanoͱTensorFlowΛར༻͍ͯͯ͠ɺ Γସ͑Δ͜ͱ͕Ͱ͖Δ
▪͍͍ͱ͜Ζ(ݸਓతײ) ɾωοτϫʔΫهड़͕؆୯ɺॊೈ ϕʔεͷAPI͕ͨ͘͞Μ४උ͞Ε͍ͯΔͨΊɺهड़ྔগͳ͘ࡁ Ήɻ؆୯ͳωοτϫʔΫͰ͋ΕAPIΈ߹ΘͤͰͳΜͱ͔ͳΔɻ v1.0.0͔Β functional APIͳΔͷ͕ग़དྷͯɺ ඇৗʹײతʹωοτϫʔΫΛهड़Ͱ͖ΔΑ͏ʹͳͬͨ ɾֶश͕؆୯ ScikitͷΑ͏ʹfit()ؔݺͼग़ͤΑΖͬͯ͘͘͠ΕΔ
ɾιʔε͕ಡΈ͍͢
▪ͭΒ͍ͱ͜Ζ(ݸਓతײ) ɾMulti-GPUඇରԠ TheanoΛBackendͱͯͬͯ͠ΔͱMulti-GPUͭΒ͍ɻ Tensorflowͷ͓͔͛ͰMulti-GPU͕؆୯ʹͰ͖ΔΑ͏ʹͳͬͨʁ ɾPython͔͠ରԠ͍ͯ͠ͳ͍
▪͜Μͳͻͱʹ͓͢͢Ί ɾDeep LearningΛΓ͍ͨਓશൠ ɾ͋·Γࡉ͔͍͜ͱؾʹͤͣʹαΫοͱωοτϫʔΫΛ࡞ Γ͍ͨਓ ˎݸਓతʹҰ൪͓͢͢Ί
·ͱΊ ▪Caffe ɾͱΓ͋͑ͣDeep LearingʢCNNʣΓ͍ͨਓ ɾݚڀՌΛࢼ͍ͨ͠ਓ ▪Tensorflow ɾࢄίϯϐϡʔςΟϯάΓ͍ͨਓ ▪Chainer ɾΞϧΰϦζϜ։ൃ͍ͨ͠ਓ ɾຊؾͰDeep
LearningΛษڧ͍ͨ͠ਓ ▪MXNet ɾ͕ඞཁͳਓ ɾMobileͰಈ͔͍ͨ͠ਓ ▪Keras ɾͱΓ͋͑ͣDeep Learingษڧ͍ͨ͠ਓ ɾΊΜͲ͍͘͞ͷͰ͋Δఔڥ͕४උ͞Ε͍ͯͯཉ͍͠ͱࢥ͏ਓ
We are hiring! → https://www.wantedly.com/companies/abeja