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
kmt-t
September 04, 2019
Programming
0
22
Deep Learningと超解像
kmt-t
September 04, 2019
Tweet
Share
More Decks by kmt-t
See All by kmt-t
組込エンジニアのための深層学習
kmt_t
1
18
Design by Contractとホーア論理
kmt_t
0
37
GCPと機械学習
kmt_t
1
47
進化するART
kmt_t
0
24
Other Decks in Programming
See All in Programming
マイコンでもRustのtestがしたい その2/KernelVM Tokyo 18
tnishinaga
2
2.3k
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
280
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
12
2.6k
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
1
230
대규모 트래픽을 처리하는 프론트 개발자의 전략
maryang
0
120
TROCCO×dbtで実現する人にもAIにもやさしいデータ基盤
nealle
0
240
Vibe coding コードレビュー
kinopeee
0
450
生成AI、実際どう? - ニーリーの場合
nealle
0
110
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
2
140
STUNMESH-go: Wireguard NAT穿隧工具的源起與介紹
tjjh89017
0
380
AIレビュアーをスケールさせるには / Scaling AI Reviewers
technuma
2
200
ゲームの物理
fadis
5
1.2k
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Music & Morning Musume
bryan
46
6.7k
Why Our Code Smells
bkeepers
PRO
338
57k
Speed Design
sergeychernyshev
32
1.1k
A better future with KSS
kneath
239
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Facilitating Awesome Meetings
lara
55
6.5k
We Have a Design System, Now What?
morganepeng
53
7.7k
Visualization
eitanlees
146
16k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Transcript
Deep Learningͱղ૾ ൃදऀ দӬ 1/57
ࣗݾհ • ໊લ : দӬ (kmt_t) • ৬ۀ :
ϓϩάϥϚ • ஶॻ : AndroidͷԾϚγϯ 2/57
ࣗݾհ • ઐ • ը૾ॲཧ (ओʹ࠷దԽ) • ίϯϐϡʔλάϥϑΟοΫε • ϑΝΠϧγεςϜ
• ԾϚγϯ • σΟʔϓϥʔχϯάͷࣄͨ·ʹͬͯ·͢ 3/57
σΟʔϓϥʔχϯά؆୯ͩʂ 4/57
ൃදͷҙࣄ߲ • ൃදऀ͕ࠐ։ൃऀͳͷͰࠐલఏͰ͠·͢ • ࣜɺܭࢉ΄ͱΜͲলུ͠·͢ • ಠࣗͷղऍɺཧతཪ͚ͷബ͍༰ؚ͕·Ε·͢ • εϥΠυͷຕ͕ଟ͍ͷͰएׯૣ͍ਐߦʹͳΓ·͢ 5/57
ൃදͷΞτϥΠϯ • લఏࣝ • σΟʔϓϥʔχϯάʁ • SRCNN • ೋޡࠩ •
ίϯϘϦϡʔγϣϯ 6/57
ൃදͷΞτϥΠϯ • վળ • ܭࢉྔͷ࠷దԽ • ͞ΒͳΔը࣭ͷվળ • ͱԠ༻ •
ੑೳධՁ 7/57
લఏࣝ 8/57
σΟʔϓϥʔχϯάʁ • ز͔ͭͷ͕͋Γɺ֊ʹͳ͍ͬͯΔ • ʹϊʔυ͕ͨ͘͞Μ͋Δ • Լͷͱͻͱ্ͭͷͷͯ͢ͷϊʔ υଓ͞Ε͍ͯΔ (શ݁߹) 9/57
σΟʔϓϥʔχϯάʁ • ଓॏΈΛ࣋ͪɺೖྗͷϊʔυͷ׆ ੑʹॏΈΛ͔͚ͨͷ͕ग़ྗͷϊʔυ ʹՃࢉ͞ΕΔ • ଓͷॏΈֶशʹΑΓௐ͞Εɺҙ ຯͷ͋Δग़ྗ͕ಘΒΕΔΑ͏ʹ͢Δ • ͜ΕΛχϡʔϥϧωοτϫʔΫͱݺͼɺ
֊͕ਂ͍ͷΛʮσΟʔϓϥʔχϯ άʯͱݺͿ 10/57
σΟʔϓϥʔχϯάͷֶश • ωοτϫʔΫͷग़ྗͱಘ͍ͨ݁ՌͷࠩΛʮޡࠩʯͱݺͿ • ޡ͕ࠩগͳ͘ͳΔΑ͏ʹωοτϫʔΫʹൖͤ͞ɺௐ͢Δ • ͜ͷௐΛʮόοΫϓϩύήʔγϣϯʯͱݺͿ 11/57
SRCNN 12/57
SRCNNͷհ • SRCNNχϡʔϥϧωοτϫʔΫΛͬͨղ૾ٕज़ • จʮImage Super-Resolution Using Deep Convolutional Networksʯ
• http://arxiv.org/abs/1501.00092 ※ waifu2xͰരൃతʹ༗໊ʹͳͬͨख๏ ※ waifu2x @ultraist ࢯ͕࡞ͬͨιϑτΣΞͰ͢ʂ 13/57
SRCNNͷޮՌ 14/57
SRCNNͷޮՌ 15/57
SRCNNจཁ ʮίϯϘϦϡʔγϣϯͯ͠ೋޡࠩΛͱΔͱղ૾Ͱ͖ΔΑʯ • ೋޡࠩͬͯʁ • ίϯϘϦϡʔγϣϯͬͯʁ 16/57
ೋޡࠩ • ೋޡࠩඪσʔλͱωοτϫʔΫͷग़ྗσʔλͷࠩͷೋ • ೋޡࠩͰͲΕ͙Β͍ඪͱҧ͏͔ܭࢉͰ͖Δ • ޡ͕ࠩখ͘͞ͳΔΑ͏ʹόοΫϓϩύήʔγϣϯͰֶश͢Δ • ༗໊ͳʮΦʔτΤϯίʔμʯೋޡࠩΛ͔ͭͬͯωοτϫʔ Ϋͷग़ྗ͔Βೖྗ͕෮ݩͰ͖ΔΑ͏ʹֶश͢Δ
17/57
ೋޡࠩΛֶͬͨशͷԠ༻ • ղ૾ • ϊΠζϦμΫγϣϯ • ৭ਂϋΠϏοτԽ • ௨ৗը૾ͷHDRԽ •
ϞϊΫϩը૾ͷϑϧΧϥʔԽ • ըॲཧҎ֎Ͱෆશͳσʔλ͔Βશͳσʔλ͕༧ଌͰ͖Δ 18/57
ίϯϘϦϡʔγϣϯ • ίϯϘϦϡʔγϣϯͱपลͷըૉʹ ॏΈΛ͔͚ͯ͢ • ݫີͳίϯϘϦϡʔγϣϯͷܭࢉํ ๏ޙͰઆ໌ • ੵܭࢉ͢Δը૾ͷൣғΛΟϯυ ͱݺͿ
• ίϯϘϦϡʔγϣϯσδλϧϑΟϧλ • ϑΟϧλͷ (ॏΈ) ΛόοΫϓϩ ύήʔγϣϯͰֶश͢Δ 19/57
SRCNNΞϧΰϦζϜ (ֶश) 1.ཧը૾ͱαΠζΛʹͯ͠2ഒʹֶͨ͠शը૾Λ༻ҙ 2.ֶशը૾ΛωοτϫʔΫͰͻͨ͢ΒίϯϘϦϡʔγϣϯ 3.ίϯϘϦϡʔγϣϯͨ͠ը૾ͱཧը૾ͷೋޡࠩΛͱΔ 4.όοΫϓϩύήʔγϣϯͰޡࠩௐ 20/57
SRCNNΞϧΰϦζϜ (ղ૾) 1.֦େ͍ͨ͠ը૾ͷαΠζΛ2ഒʹ͢Δ 2.ݩը૾Λֶशͨ͠ωοτϫʔΫͰͻΒ͢ΒίϯϘϦϡʔγϣϯ 3.͓ΘΓ 21/57
SRCNNͷΈ • ཧͷը૾ • ը૾ΛྼԽͤ͞Δؔ • Ϩϯζͷ৭ऩࠩ • ϞΞϨࢭ༻ͷϩʔύεϑΟϧλ •
JPEGϊΠζ • ྼԽͨ͠ը૾ 22/57
SRCNNͷΈ • ྼԽͨ͠ը૾Λݩʹ͢ ٯؔ • ͕͋Ε Λ ʹ͢͜ͱ͕Ͱ͖Δ • 23/57
SRCNNͷΈ • ٯؔ ͳΜͯଘࡏ͢Δͷ͔ʁܭࢉग़དྷΔͷ͔ʁ • ΛχϡʔϥϧωοτϫʔΫͰۙࣅ͢Δ • ΛٻΊΔͷʹԿͷςΫχοΫ͍Βͳ͍SRCNN • ٯؔ
ΛٻΊΔղ૾ͷख๏ଞʹ͋Δ 24/57
ܭࢉྔͷ࠷దԽ 25/57
ίϯϘϦϡʔγϣϯͷ ܭࢉྔ Οϯυ෯ ɹɹɹɹ× Οϯυ෯ ɹɹɹɹ× ೖྗνϟϯωϧ ɹɹɹɹ× ग़ྗνϟϯωϧ ɹɹɹɹʹ
1ϐΫηϧ͋ͨΓͷੵܭࢉճ 26/57
SRCNNܭࢉྔͷݮΒ͠ํ • ίϯϘϦϡʔγϣϯͷܭࢉྔΛܶతʹݮΒ͢ʹɺ • Οϯυ෯Λখ͘͢͞Δ (Ұ൪ޮՌ͋Γ) • ೖྗνϟϯωϧΛߜΔ • ग़ྗνϟϯωϧΛߜΔ
• ࠷ѱͳͷͯ͢ͷύϥϝʔλ͕େ͖͍έʔε • ܭࢉྔΛؾʹ͢ΔͳΒ͍ͣΕ͔ͷύϥϝʔλΛߜΔ 27/57
SRCNN࠷దԽ • ίϯϘϦϡʔγϣϯϑΟϧλͷՄࢹԽ • νϟωϧؒͷ݁߹ͷධՁ 28/57
SRCNN࠷దԽͷίπ • ֊͕ઙ͍΄͏͕ޡ͕ࠩೖྗଆͷ·Ͱ͏·͘ൖ͢Δ • ग़ྗଆͷνϟϯωϧ͕ଟ͗͢Δͱೖྗଆʹޡ͕ࠩ͠ͳ͍ • ೖྗଆ·ͰޡࠩΛൖͤ͞ΔʹֶशճΛ૿͢ • ೖྗଆͷΟϯυ͍ํ͕͍͍͕͗͢Δͱֶशࠔ •
࣍ͷʹࢀর͞Εͳ͍νϟϯωϧ͕͋Δͱνϟϯωϧ͕ଟ͗͢ 29/57
waifu2xͷωοτϫʔΫઃܭ • ܭࢉྔͷ߹ܭʹ • ͨͩ͠ը૾Λ2ഒʹ͢Δ߹ܭࢉྔ͕΄΅1/4 30/57
࠷దԽޙͷωοτϫʔΫߏ • 7͔Β4ʹมߋ • PSNRྼԽ͢Δ͕ࢹ֮తʹڐ༰ൣғ (ओ؍ʹΑΔ) 31/57
ܭࢉྔ͕۩ମతʹΠϝʔδग़དྷͳ͍ • 1TFLOPSͷܭࢉػͰϑϧHDը૾Λॲཧ͢ΔͱԿඵʁ • GeForce GTX 480 ͩͱ 1.345TFLOPS •
ͻͱੲલͷGPU͕ͩͦΕͰࠓͷΈࠐΈDSPͳͲΑΓڧྗ 32/57
ܭࢉྔ͕۩ମతʹΠϝʔδग़དྷͳ͍ • waifu2x • 54ສੵܭࢉ/ϐΫηϧ • 1920x1080ϐΫηϧ/1133ms@1TFLOPS • ࠷దԽޙ •
2.3ສੵܭࢉ/ϐΫηϧ • 1920x1080ϐΫηϧ/48ms@1TFLOPS 33/57
ͦΕͰଟ͗͢Δܭࢉྔ • ࠷దԽޙͰΈࠐΈʹΈࠐΉʹͭΒ͍ܭࢉྔ • ͱ͍͏ͷͷϥϯμϜΞΫηεͳ͠ɺ͔ͭฒྻԽ૬؆୯ 34/57
ΈࠐΈ։ൃͷԠ༻ͷ՝ • ଳҬͳϝϞϦ͕ͳ͍ͱͭΒ͍ • ղ૾ΑΓ؆୯ͳλεΫͳΒܭࢉྔ·ͩݮΒͤΔ • ؆୯ͳλεΫʹ৭ௐิਖ਼ɺϊΠζআڈɺϋΠϏοτԽ͋ͨΓ • ϓϩάϥϜ։ൃඇৗʹ؆୯ͳͷͰͳ͍ 35/57
͞ΒͳΔը࣭ͷվળ 36/57
ࣝผϞσϧͱੜϞσϧ • ࣝผϞσϧ • ର͕Կ͔Λྨɺࣝผ͢ΔͨΊͷϞσϧ • ੜϞσϧ • ༩͑ΒΕͨύϥϝʔλ͔ΒσʔλΛੜ͢Δ •
ҰൠతʹࣝผϞσϧΛ͔ͭͬͨԠ༻͕ଟ͍ • ࣮ੜϞσϧ͕͍ʂ 37/57
Generative Adversarial Networks • GANͰ༩͑ΒΕͨύϥϝʔλ͔Βը૾ Λੜ͢Δ • ύϥϝʔλ͝ͱʹҙຯ͕͋Γɺੜ͞ ΕΔը૾ͷ੍ޚՄೳ •
http://qiita.com/rezoolab/ items/5cc96b6d31153e0c86bc 38/57
GANͷΞϧΰϦζϜ • ύϥϝʔλ͔ΒσʔλΛੜ͢Δੜث • σʔλͷຊͬΆ͞Λఆ͢Δࣝผث 39/57
GANͷΞϧΰϦζϜ 1.ੜث༩͑ΒΕͨύϥϝʔλ͔ΒσʔλΛੜ͢Δ 2.ࣝผثੜ͞ΕͨσʔλͷຊͬΆ͞Λఆ͢Δ 3.ຊͬΆ͘ͳ͍߹͍Λޡࠩͱͯ͠ੜثʹֶशͤ͞Δ 4.ࣝผثಉ࣌ʹຊͬΆ͞ͷఆΛֶश͢Δ Ҏ্Λ܁Γฦ͢ͱͦΕͬΆ͍σʔλ͕ੜ͞ΕΔ 40/57
ੜϞσϧͷԠ༻ • ఏҊख๏ : SRCNNʴੜϞσϧ • ࣮ͳ༧ʴΑΓߴͳωοτϫʔΫ͔ΒͷΞυόΠε • ΞϧΰϦζϜ •
SRCNNͷޡࠩʹࣝผثͷఆΛՃࢉ͢Δ 41/57
SRCNNʴGANͷޮՌ • SRCNNݻ༗ͷบ͕Ωϟϯηϧ͞ΕΔ • ਓͷ͔Βݟͨࣗવ͞ͷվળ • पಛੑͷվળ • ୯ମͷωοτϫʔΫͰࠔͳֶश͕Մೳ •
ωοτϫʔΫͷදݱྗͷݶքΛҾ͖ग़͢ 42/57
SRCNNʴGANͷ • ֶशʹ͕͔͔࣌ؒ͘͢͝Δ • ࣝผثͷֶशͷ΄͏͕ॏ͍ • ࣝผثͷஅͰੜث͕ߟ͑͜ΉͷͰऩଋͮ͠Β͍ • ࣝผثͷੑೳͰը࣭ͷ͕ܾ·Δ •
ղ૾ʹ͔͔Δ࣌ؒΛֶशʹసՇ͍ͯ͠Δ 43/57
SRCNNʴGANͷޮՌ 44/57
SRCNNʴGANͷޮՌ 45/57
SRCNNʴGANͷ෭࡞༻ • ߴपΛେ෯ʹΔͨΊɺϦοϓϧ͕ൃੜ͍͢͠ • ϦοϓϧܰݮʹࣝผثʹϦοϓϧΛݟഁΒͤ͞Δ • ࣝผثੜثΑΓݡ͘͢Δ • ࣝผثֶशϑΣʔζʹ͔͠ΘΕͳ͍ •
ࣝผثͷॲཧ͕ͯ͘ղ૾ॲཧʹແؔ 46/57
ͱԠ༻ 47/57
SRCNNͷ • ωοτϫʔΫ͕ಛఆͷλεΫɺը૾δϟϯϧʹґଘ͢Δ • ΠϥετͰֶशͨ͠ωοτϫʔΫΛࣸਅͰ͏ͱഁ͢Δ • ը૾δϟϯϧ͝ͱʹωοτϫʔΫΛมߋ͢Δඞཁ͋Δ 48/57
SRCNNͷ • ΠϥετϨʔγϣϯͱࣸਅͷҧ͍ • Πϥετཧঢ়ଶͷը૾Λ༻ҙ͢Δͷ͕ඇৗʹ༰қ • ͦͷͨΊSRCNNͷαϯϓϧը૾Πϥετ͕ଟ͍ • ཧͷը૾ΛࡱӨͰ͖ΔΧϝϥ࣮ࡏ͠ͳ͍ 49/57
ࣸਅͷԠ༻ • ཧͷࣸਅը૾࡞ • ΧϝϥϝʔΧʔͰͳ͚Εແཧ • झຯͰΔ͜ͱͰͳ͍ • ࣗఘΊͨ 50/57
ࣸਅͷԠ༻ • ཧը૾ΛྼԽͤͯ͞ղ૾લը૾ͱ͢Δ • ཧը૾Λղ૾લͷը૾ʹม͢Δ • JPEGͰྼԽͤ͞Δ • ϊΠζΛՃ͢Δ 51/57
ࣸਅͷԠ༻ • पಛੑΛσδλϧϑΟϧλͰྼԽͤ͞Δ • ϨϯζͳͲΧϝϥͷಛੑʹґଘ͢Δ • ղ૾͍ͨ͠ΧϝϥͷϨϯζಛੑΛܭଌ͢Δ • ଌఆͨ͠ಛੑΛσδλϧϑΟϧλͰ࠶ݱ͢Δ •
ۚଐεϦοτࡱӨʁ • ϗϫΠτϊΠζࡱӨʁ 52/57
ੑೳධՁ 53/57
ൃදख๏ͷੑೳධՁ 54/57
ൃදख๏ͷੑೳධՁ • ը࣭ධՁʹPSNR͕Α͘ΘΕΔ • ࠷େըૉʹରͯ͠ޡ͕ࠩͲΕ͙Β͍͋Δ͔ • ͕େ͖͍΄Ͳը࣭͕Α͍ • • 55/57
ൃදख๏ͷੑೳධՁ • SRCNN+GANఆྔతͳੑೳత͕ѱ͍ • SRCNN+GANੜϞσϧͳͷͰৄࡉ Ͷͭ 56/57
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ Կ͔࣭ʁ 57/57