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
組込エンジニアのための深層学習
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kmt-t
September 04, 2019
Programming
1
18
組込エンジニアのための深層学習
kmt-t
September 04, 2019
Tweet
Share
More Decks by kmt-t
See All by kmt-t
Deep Learningと超解像
kmt_t
0
22
Design by Contractとホーア論理
kmt_t
0
40
GCPと機械学習
kmt_t
1
47
進化するART
kmt_t
0
24
Other Decks in Programming
See All in Programming
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
130
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
CSC307 Lecture 02
javiergs
PRO
1
780
Fluid Templating in TYPO3 14
s2b
0
130
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
620
CSC307 Lecture 01
javiergs
PRO
0
690
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
800
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
MUSUBIXとは
nahisaho
0
140
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
並行開発のためのコードレビュー
miyukiw
0
1.2k
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Crafting Experiences
bethany
1
52
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Faster Mobile Websites
deanohume
310
31k
How to Ace a Technical Interview
jacobian
281
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
190
ラッコキーワード サービス紹介資料
rakko
1
2.3M
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
94
Transcript
ࠐΤϯδχΞͷͨΊͷਂֶश ൃදऀ kmt-t ࠐΤϯδχΞͷͨΊͷਂֶश 1
ࣗݾհ • ໊લ : kmt-t or kmt_t • ৬ۀ :
ࠐϓϩάϥϚ • ஶॻ : AndroidͷԾϚγϯ • ௗऔݝຽͰ͢ • ࠷ۙస৬͠·ͨ͠ ࠐΤϯδχΞͷͨΊͷਂֶश 2
ࣗݾհ • ઐ • ը૾ॲཧ (ओʹ࠷దԽ) • ίϯϐϡʔλάϥϑΟοΫε • ϑΝΠϧγεςϜ
• ԾϚγϯ ࠐΤϯδχΞͷͨΊͷਂֶश 3
ࠓͷׂ࣌ؒ • ಋೖ (5) • ਂֶशҰൠ (10) • ࠐਂֶश (20)
• JetsonTX1/TX2հ (10) • ͔ͳΓਐߦ͕͍ͷͰࢿྉࣄલ͠·͢ ࠐΤϯδχΞͷͨΊͷਂֶश 4
ಋೖ ࠐΤϯδχΞͷͨΊͷਂֶश 5
͜͏͍͏͜ͱͬͯ·͢ • σδλϧΧϝϥ͚ղ૾ • ίϯσδը૾ͷҰ؟ը૾ͷม • ࣄͰͳ͘झຯͰ͢ ࠐΤϯδχΞͷͨΊͷਂֶश 6
ैདྷख๏ (SRCNN) • waifu2xͷख๏ • ॖখͷٯϑΟϧλΛʮճؼʯ͢Δ • ྼԽલ૾ͱྼԽޙը૾ͷϖΞ • શ͘ಉҰඃࣸମͷը૾ϖΞ͕ඞཁ
• ը૾ϖΞ͕༻ҙͰ͖ΔΠϥετ͖ ࠐΤϯδχΞͷͨΊͷਂֶश 7
ఏҊख๏ • ߴղ૾ใΛʮੜʯ͢Δ • ը૾Λղ૾Ͱ֊Խ͢Δ • ϥϓϥγΞϯϐϥϛου • ղ૾ʙߴղ૾ͷը૾ϨΠϠ •
ಉ͡ඃࣸମͷը૾ϖΞ͕ෆཁ • ը૾ϖΞ͕༻ҙͰ͖ͳ͍σδλϧΧϝ ϥ͖ ࠐΤϯδχΞͷͨΊͷਂֶश 8
GANͷΈ • ϥϯμϜͳZ͔Βը૾ੜ • ੜ͞Εͨը૾͕ຊʹ͍͔ۙผ • ੜը૾͕ผෆՄʹͳΔΑ͏ֶश • Z͕ԿΛද੍͔͢ޚෆՄೳ ࠐΤϯδχΞͷͨΊͷਂֶश
9
Condi&onal GANͷΈ • ҙຯͷ͋ΔYΛ༩͑ͯը૾ੜ • ʮੜ͞Εͨը૾ͱYͷΈ߹Θͤʯ ͕ຊʹ͍͔ۙผ • ੜը૾͕ผෆՄʹͳΔΑ͏ֶश •
Y͕ԿΛද੍͔͢ޚՄೳ • ͜Ε͍ͬͯ·͢ ࠐΤϯδχΞͷͨΊͷਂֶश 10
ࠓͷൃදͷత • ΈΜͳձࣾͰਂֶश͏Μ͕ͪ͘Ͱ͖Δͷ͕ඪ ࠐΤϯδχΞͷͨΊͷਂֶश 11
࣭ • ਂֶशͷجຊతͳΈΛͬͯΔਓʂ ࠐΤϯδχΞͷͨΊͷਂֶश 12
ͿͬͪΌ͚ • ۀͰΔఔͷਂֶश͘͠ͳ͍ • ੈؒҰൠͷߴͳֶ͕ඞཁͱ͍͏ᷚӕ • ߴߍཧܥίʔεఔʴภඍͰे • ౷ܭֶ͕ඞཁͳͷԠ༻ ࠐΤϯδχΞͷͨΊͷਂֶश
13
ࢀߟॻ -ʮθϩ͔Β࡞ΔDeep Learningʯ - ඇৗʹ؆୯Ͱ͢ - ͍ࣜ͠ग़͖ͯ·ͤΜ - ϑϨʔϜϫʔΫ͕͔͚Δ͙Β͍ͷࣝ ʹ͖ͭ·͢
- (͑ͬͦΜͳʹ؆୯ͳͷʁ) ࠐΤϯδχΞͷͨΊͷਂֶश 14
ਂֶशҰൠ ࠐΤϯδχΞͷͨΊͷਂֶश 15
ਂֶशͷجຊతͳϞσϧ • σʔλΛࣝผ͢ΔʮྨϞσϧʯ • ؔΛۙࣅ͢ΔʮճؼϞσϧʯ • σʔλΛ፻͢ΔʮੜϞσϧʯ • ΑΓΑ͍ߦಈΛબ͢ΔʮڧԽֶशʯ •
Γ͍ͨ͜ͱ͕͜ΕΒͷͲΕʹ֘͢Δͷ͔ʁ ࠐΤϯδχΞͷͨΊͷਂֶश 16
ϓϩάϥϚ͕Βͳ͍ͱ͍͚ͳ͍͜ͱ • ϓϩάϥϛϯά • ֶश • ਪ • ࠐ։ൃऀʹͱͬͯʮਪʯ͕ॏཁ ࠐΤϯδχΞͷͨΊͷਂֶश
17
ਂֶशͷਪͷΈ • ؆୯ʹઆ໌͠·͢ ࠐΤϯδχΞͷͨΊͷਂֶश 18
શ݁߹ωοτϫʔΫ • ͍͔ͭ͘ͷϊʔυΛ࣋ͭෳͷ • ྡΓ߹͏ͷͯ͢ͷϊʔυΛଓ • ଓॏΈΛ࣋ͪɺग़ྗΛௐ͢Δ • ग़ྗ͕ҙຯͷ͋Δ݁ՌΛग़ྗ͢Δ •
ҙຯ͕͋Δ݁ՌΛग़ྗ͢ΔΑ͏ʹॏΈ Λֶश͢Δ ࠐΤϯδχΞͷͨΊͷਂֶश 19
ίϯϘϦϡʔγϣϯ • ෳνϟϯωϧը૾Ͱߏ • ྡΓ߹͏ͷνϟϯωϧΛଓ • ଓN✕NϐΫηϧͷը૾ϑΟϧλ • N✕NͷϑΟϧλͷΛֶश͢Δ ࠐΤϯδχΞͷͨΊͷਂֶश
20
ਂֶशͷֶशͷΈ • ΞϧΰϦζϜͦΕ΄ͲෳࡶͰͳ͍ • ʮภඍʯͱʮ࿈ʯ͕Ωʔϫʔυ • ࠐΤϯδχΞʹॏཁͰͳ͍ ࠐΤϯδχΞͷͨΊͷਂֶश 21
ͨΒͱߦྻ͕ग़ͯ͘Δཧ༝ • ͷଓߦྻͰදݱ͢Δ΄͏͕ѻ͍͍͢ • ϊʔυྻ͕ϕΫτϧɺॏΈ͕ߦྻ • ίϯϘϦϡʔγϣϯߦྻܭࢉͰՄೳ • ߦྻͩͱBLAS͕͑ΔͷͰ͍ ࠐΤϯδχΞͷͨΊͷਂֶश
22
ܭࢉྫ • ͕ೖྗͷ ൪ͷϊʔυग़ྗ • ͕தؒͷ ൪ͷϊʔυग़ྗ • ͕ೖྗͷ ൪ϊʔυͱதؒ
൪ Λଓ͢ΔΤοδͷॏΈ • தؒͱग़ྗͷܭࢉಉ༷ ࠐΤϯδχΞͷͨΊͷਂֶश 23
࣭ • ͜͜·Ͱͷ༰͍͠Ͱ͔͢ʁ ࠐΤϯδχΞͷͨΊͷਂֶश 24
ࠐਂֶश ࠐΤϯδχΞͷͨΊͷਂֶश 25
ڥߏங • ֶशPC (Tensorflow͔Caffe͋ͨΓ) • ਪࠐ ࠐΤϯδχΞͷͨΊͷਂֶश 26
ֶश༻PCڥ • CPU • CPUAMD RYZENγϦʔζڧྗʹਪ • ίΞ͕ଟ͍ͷ͕ਖ਼ٛ • ΄ͱΜͲͷϑϨʔϜϫʔΫ͕ฒྻԽରԠ
• ϝϞϦ ࠐΤϯδχΞͷͨΊͷਂֶश 27
ֶश༻PCڥ • GPU • GeForce͕ίεύ͕ྑ͍ • ࣌ؒಈ͔͢ͷͰϋΠΤϯυඇਪ • ϝϞϦ͕Γͳ͍ͱಈ͔ͳ͍͜ͱ͋Γ •
ྫྷ٫ʹؾΛ͚ͭΔ ࠐΤϯδχΞͷͨΊͷਂֶश 28
ֶशڥπϘ • λΠϜΠζϚωʔ • ύϥϝʔλͷௐΧοτΞϯυτϥΠ • ૿ͯ͠ผʑʹಈ͔͢ͷ͕Α͍ • ΫϥελͳͲڊେͳܭࢉࢿݯͰܭࢉͨ݁͠ՌͲ͏ͤʹ ࣮Ͱ͖ͳ͍
• ΑͬͯPC͍҆΄͏͕Α͍ ࠐΤϯδχΞͷͨΊͷਂֶश 29
ਪ • Android/LinuxͩͱTensorflow͔ΒϞσϧͷҠߦ͕Ͱ͖Δ • Tensorflow Lite • TensorRT • ͦ͏Ͱͳ͍ࠐΤϯδχΞ͕͕ΜΔ
• ਂֶशͱϑϨʔϜϫʔΫͷ͕ࣝඞཁ • ͰܭࢉՄೳͳܭࢉྔ͔Θ͔Δ͔Ͳ͏͔ ࠐΤϯδχΞͷͨΊͷਂֶश 30
࠷దԽ͕ࠐΤϯδχΞͷ໋ • ͬͯΈ͚ͨͲ͍ͷͰఘΊΔɺ͡Ό͋ବ • ΈΜͳΤϯδχΞͩ͠… • ࣗͰਪϓϩάϥϜΛॻ͘έʔεΘΓͱ͋Δ ࠐΤϯδχΞͷͨΊͷਂֶश 31
FP16ศར • ුಈখ/ූ߸1bit/ࢦ5bit/Ծ10bit • Ұ෦GPU͕HWαϙʔτ • ARM/x86ʹFP16<=>FP32ͷม໋ྩ͕͋Δ • FP32ͩͱͰ͔ա͗ΔͷͰը૾ͷුಈখදݱʹ࠷ద •
গ͠ͷΦʔόʔϔουͰϝϞϦ༻ྔ ࠐΤϯδχΞͷͨΊͷਂֶश 32
ྔࢠԽ • ྔࢠԽͱ͍͏ख๏ • ྔࢠԽͰσʔλαΠζΛখ͘͢͞Δ • GoogleͷTPUͰ࠾༻ ࠐΤϯδχΞͷͨΊͷਂֶश 33
INT8ྔࢠԽ • ߦྻͷཁૉΛ8bitͰදݱ͢Δ • ߦྻͷཁૉͷ࠷େͱ࠷খ • ࠷େͱ࠷খͷؒΛ8bitͰදݱ ࠐΤϯδχΞͷͨΊͷਂֶश 34
INT8ྔࢠԽ • ߦྻʹεΧϥΛՃࢉ͢Δ߹ • ࠷খ/࠷େʹεΧϥΛ͢ • ߦྻͷཁૉͷԋࢉ͕ෆཁ • ߦྻͱεΧϥͷࢉͷΑ͏ͳϥϯΫͷҧ͏ྻಉ࢜ͷԋࢉΛϒ ϩʔυΩϟετͱݺͿ
ࠐΤϯδχΞͷͨΊͷਂֶश 35
ྔࢠԽͷϝϦοτ • ΞΫηϥϨʔλͷফඅిྗ͕Լ͕Δ • ϝϞϦଳҬ͕FP32ͷ1/4ɺFP16ͷ1/2 • ϒϩʔυΩϟετ͕ߴ (ͳ͕࣌͋Δ) ࠐΤϯδχΞͷͨΊͷਂֶश 36
ίϯϘϦϡʔγϣϯͷ࠷దԽ • im2col • Winograd ࠐΤϯδχΞͷͨΊͷਂֶश 37
im2col • ίϯϘϦϡʔγϣϯͰσʔλͷฒͼ ͕ॏཁ 1. ը૾Λ1࣍ݩྻ (ߦํ) ʹల։͢ Δ 2.
ϐΫηϧ͝ͱʹϑΟϧλରͷϐΫ ηϧΛྻํʹల։͢Δ • ίϯϘϦϡʔγϣϯ͕ϕΫτϧͱߦྻ ͱͷੵʹͳΔ ࠐΤϯδχΞͷͨΊͷਂֶश 38
Winograd • ίϯϘϦϡʔγϣϯͷࣜΛมܗ͢Δͱࢉ͕ݮগ͢Δ • ࣗಈͰܭࢉ͢Δπʔϧ͕͋Δ • h#ps:/ /github.com/andravin/wincnn ࠐΤϯδχΞͷͨΊͷਂֶश 39
͜ΕΒҎ֎ʹ࠷దԽͷख๏ • طͷ࠷దԽͬͱͨ͘͞Μ͋Δ • ͨ͘͞Μ͋ΔͷͰΈΜͳͰߟ͑·͠ΐ͏ ࠐΤϯδχΞͷͨΊͷਂֶश 40
JetsonTX1/TX2հ ࠐΤϯδχΞͷͨΊͷਂֶश 41
࠷৽ͷධՁϘʔυ • Jetson Xavier • h/ps:/ /developer.nvidia.com/jetson- xavier • Ϟδϡʔϧܗঢ়͕มΘͬͨͷͰϚβʔ
Ϙʔυ͕TX1/2ͱޓ͡Όͳ͍ʁ • ࠓճچܕͷTX1/TX2ͷ ࠐΤϯδχΞͷͨΊͷਂֶश 42
JetsonTX1/TX2ͷೖखํ๏ • ๏ਓͷ߹ • ϚΫχΧ͋ͨΓ͔Βങ͍ͬͯͩ͘͞ • ݸਓͷ߹ • Amazon.com •
eBay • ຊͰങ͏ͱߴ͍ ࠐΤϯδχΞͷͨΊͷਂֶश 43
JetsonTX1 SE • ΩϟϯϖʔϯͰ25900ԁʂ • ී௨ʹങ͏ͱ80000ԁ͙Β͍ • TX1ͱTX2ͦΜͳʹੑೳมΘΒͳ͍ • h+ps:/
/ryoyo-direct.ryoyo-ss.jp/ register/jetson-se ࠐΤϯδχΞͷͨΊͷਂֶश 44
Jetson TX1/TX2ͷΑ͍ͱ͜Ζ • FP16ͷαϙʔτ • Jetsonͩͱഒԋࢉ • (GeForceഒʹͳΒͳ͍) ࠐΤϯδχΞͷͨΊͷਂֶश 45
Jetson TX1/TX2ͷΑ͍ͱ͜Ζ • TensorRT͕͑Δ • (GeForce͑ͳ͍) • ܾఆతʹωοτϫʔΫΛ࠷దԽ͢Δ • Tensorflow͔ΒσʔλͷΠϯϙʔτՄೳ
ࠐΤϯδχΞͷͨΊͷਂֶश 46
TensorRTͷϕϯνϚʔΫ • h#p:/ /proc-cpuinfo.fixstars.com/2018/04/tensorrt-03/ ࠐΤϯδχΞͷͨΊͷਂֶश 47
Jetson TX1/TX2ͷѱ͍ͱ͜Ζ • ඪ४ͷσΟετϦϏϡʔγϣϯ (L4T) ͕ڊେ • Linux͔ͭGUIࡌ͍ͬͯΔ • ϝϞϦ͕ͨ͘͞Μࡌ͍ͬͯΔ
• ͜ΜͳͷΈࠐΈͰ͍ͨ͘ͳ͍… ͔ͳΓؾ͕࣋ͪҤ͑Δ • ͷݕࠪஔͱ͔ʹ࠷ద͔ ࠐΤϯδχΞͷͨΊͷਂֶश 48
ݸਓతʹࢥ͏ͱ͜Ζ • ͬͱখ͍͞ྖҬʹΈࠐΈΤϯδχΞ͚ͷਂֶशͷԠ༻ ͕ଘࡏ͢Δ • த͕Θ͔͍ͬͯΕେنͳSoCͷੈք͔ΒΕΒΕΔ • NVIDIA͞Μ͕ߟ͑ͯͳ͍ྖҬʹ੨͍ւ͕͋Δ ࠐΤϯδχΞͷͨΊͷਂֶश 49
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ Կ͔࣭ʁ ࠐΤϯδχΞͷͨΊͷਂֶश 50