Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
スマートフォンのモーションセンサを利用した,個人認証アプリケーションの開発に関する研究
Search
Kensuke Kosaka
February 16, 2017
Programming
79
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スマートフォンのモーションセンサを利用した,個人認証アプリケーションの開発に関する研究
2017年2月16日(木)の修士論文口頭試問・公聴会にて用いたスライド
Kensuke Kosaka
February 16, 2017
More Decks by Kensuke Kosaka
See All by Kensuke Kosaka
How to make your first mechanical keyboard
arkenous
0
76
スマートフォンのモーションセンサを利用した個人認証アプリケーションの開発に関する研究
arkenous
0
89
スマートフォンのモーションセンサを利用した個人認証アプリケーションの開発
arkenous
0
67
Random number, PRNG
arkenous
0
180
Another Digital Signature, How to attack digital signature
arkenous
0
60
SHA3, Cryptographic hash function
arkenous
0
140
Coin Locker - Time Operation
arkenous
0
54
CMC SemiFinal Introduce
arkenous
0
72
CMC Introduce
arkenous
0
81
Other Decks in Programming
See All in Programming
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
110
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
180
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
3.9k
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
AmebaブログはKMPから卒業します
kmars0605
0
200
golang-bob.pdf
iwatsukayura
0
130
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
33k
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.6k
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
Thoughts on Productivity
jonyablonski
76
5.4k
RailsConf 2023
tenderlove
30
1.6k
Design in an AI World
tapps
1
350
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Un-Boring Meetings
codingconduct
0
460
BBQ
matthewcrist
90
10k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Code Reviewing Like a Champion
maltzj
529
40k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Transcript
εϚʔτϑΥϯͷϞʔγϣϯηϯαΛར༻ͨ͠ɼ ݸਓೝূΞϓϦέʔγϣϯͷ։ൃʹؔ͢Δݚڀ 20172݄16ʢʣ म࢜จޱ಄ࢼɾެௌձ ؔେֶେֶӃ ૯߹ใֶݚڀՊ ࣝใֶઐ߈ খྛݚڀࣨ ∁ࡔ ݡ༎ɹ
1
ൃදͷྲྀΕ • ݚڀഎܠ • طଘͷೝূํࣜͱͦͷ • ؔ࿈ݚڀͷհͱɼຊݚڀͷඪ • ຊݚڀͷհ •
ධՁ࣮ݧͱͦͷߟ • ຊݚڀͷ՝ • ·ͱΊ 2
ݚڀഎܠ • εϚʔτϑΥϯͷීٴʹΑΓɼϑΟʔνϟʔϑΥϯͱൺֱͯ͠ଟ छଟ༷ͳαʔϏεΛར༻Ͱ͖ΔΑ͏ʹ • εϚʔτϑΥϯଟ͘ͷݸਓใΛแ͓ͯ͠Γɼݸਓೝূ͕ܽ ͔ͤͳ͍ • εϚʔτϑΥϯͰҰൠతʹར༻͞Ε͍ͯΔೝূํࣜ •
ύείʔυೝূ • ࢦೝূ 3
ύείʔυೝূ • ॴ༗ऀ͕ύείʔυ Λొ • ར༻࣌ʹӈਤը໘͕ දࣔ͞Εɼೖྗ͞Εͨίʔ υͱൺֱͯ͠ೝূ 4
ࢦೝূ • ʹࡌ͞ΕͨࢦεΩϟφͰॴ༗ऀ ͷࢦΛ͍͔ͭ͘ొ • ༻࣌ʹࢦεΩϟφʹࢦΛ͋ͯͯɼొ ͞Εͨࢦใͱൺֱͯ͠ೝূ 5
طଘೝূͷ • ύείʔυೝূͷ • ύείʔυͷܻʹΑͬͯɼೝূ࡞ۀ͕ࡶ • γϣϧμʔϋοΫͷةݥੑ • ݶΒΕͨจࣈछͷத͔ΒύείʔυΛߏங͢Δ͜ͱ͔Βɼύλʔϯʹ੍ݶ •
ࢦೝূͷ • ʹࢦεΩϟφ͕ࡌ͞Ε͍ͯΔඞཁ͕͋Δ • ࢦใมߋͰ͖ͳ͍ͨΊɼࢦใ͕࿙Ӯ͢ΔͱࠓޙͦͷࢦΛ༻͍ͯͷ ೝূ͕Ͱ͖ͳ͍ 6
ݚڀ֓ཁ • ݸਓೝূͷࡶ͞Λܰݮ • 伴ใ͕࿙Ӯͯ͠มߋ͕Մೳ • 伴ͷࣗ༝͕ߴ͘ɼײతͳݸਓೝূ • εϚʔτϑΥϯʹࡌ͞Ε͍ͯΔՃɾ ֯ηϯαΛ༻͍ͨಈ࡞ʢϞʔγϣϯʣʹΑΔೝ
ূΛ࣮ݱ 7
ؔ࿈ݚڀͱͦͷ՝ • ࡔຊͷݚڀ [1] • ՃηϯαΛ༻͍ɼ͋Β͔͡Ίอଘͨ͠ෳछྨͷδΣενϟύλʔϯͱϢʔβͷೖྗσʔλΛൺ ֱͯ͠ೝࣝΛௐͨ • ѻ͏δΣενϟʹΑͬͯೝ͕ࣝߴ͍ͷͱ͍ͷʹೋԽ͢Δ •
⅓Βͷݚڀ [2] • ՃηϯαʹՃ͑ͯ֯ηϯαΛ༻͍ͨδΣενϟಈ࡞ʹΑΔೝূख๏ΛఏҊ͠ɼࣗ༝্ͱ ͳΓ͢·͠ೝূʹର͢Δڧͷ্ΛՄೳʹͨ͠ • ॳճͷೝূͰͷຊਓڋ൱͕61%ͱൺֱతߴ͍ • ୯७ͳδΣενϟͰɼͳΓ͢·͠ೝূʹऑ͍ [1] ࡔຊᠳ, “ϢʔβͷײతͳೖྗΛͱΒ͑ΔͨΊͷ3࣠ՃηϯαʹΑΔδΣενϟೝࣝͷݚڀ”, 2009ެཱͩͯ͜ະདྷେֶଔۀจ. [2] ⅓խ࢙, ৽ҪΠεϚΠϧ, “ՃηϯαɾδϟΠϩ ηϯαΛซ༻ͨ͠εϚʔτϑΥϯͷར༻ೝূख๏ͷఏҊ”, ใॲཧֶձݚڀใࠂ, Vol.2014- MBL-70, No.17, Vol2014-UBI-41, No.17,2014. 8
ຊݚڀͷඪ • Λ্ԼʹৼΔͳͲɼ୯७Ͱৗతͳೖ ྗ͕Մೳͳಈ࡞Ͱͷར༻͕ՄೳͳγεςϜͷ ࣮ • ਓχϡʔϥϧωοτϫʔΫΛ༻͍ͯϞʔγϣ ϯͷಛΛֶश͠ɼॴ༗ऀʹΑΔೖྗͱ ͳΓ͢·͠ʹΑΔೖྗͷࣝผΛࢦ͢ 9
ຊγεςϜͷྲྀΕɿొ ҙճͰϞʔγϣϯೖྗ ೖྗ͕͢ ͗ͳ͍͔֬ೝ σʔλͷՃ CUDAαʔόʹσʔλૹ৴ σʔλΛඪ४Խ AndroidͰύϥϝʔλड৴ Denoising Autoencoderͷֶश
μϛʔσʔλͷੜ ࣝผ༻χϡʔϩϯͷֶश ֶशࡁΈࣝผثͷύϥϝʔλૹ৴ ύϥϝʔλΛ҉߸Խͯ͠อଘ 10
ຊγεςϜͷྲྀΕɿೝূ 1ճ͚ͩϞʔγϣϯೖྗ ೖྗ͕͢ ͗ͳ͍͔֬ೝ σʔλͷՃ CUDAαʔ όʹଓͰ͖Δ͔ CUDAαʔόʹσʔλ ͱύϥϝʔλͷૹ৴ σʔλΛඪ४Խ
ࣝผثΛߏங σʔλ͔Βࣝผثͷग़ྗΛಘΔ ग़ྗΛAndroid ʹૹ৴ 0.5ະຬͳΒೝূޭɼҎ্ͳΒࣦഊ 11
Ϟʔγϣϯσʔλͷऔಘ • 3࣠Ճηϯα ʢTYPE_LINEAR_ACCELERATIONʣͱ3࣠֯ ηϯαʢTYPE_GYROSCOPEʣΛ༻ • औಘִؒSENSOR_DELAY_FASTESTɼ Nexus5Ͱ5ϛϦඵִؒ • Nexus5Ͱͷ֤ηϯαͷҬ
• Ճɿ-19.613297~19.613297 • ֯ɿ-34.906586~34.906586 • ΞϓϦ্ʹ༻ҙͨ͠ϘλϯΛԡ͍ͯ͠Δ ؒɼσʔλΛऔಘ͠ଓ͚Δ X Z Y 12
ϞʔγϣϯσʔλͷՃ • ϞʔγϣϯσʔλΛγεςϜͰ༻͍͍͢Α͏ʹՃ • σʔλΛἧ͑Δ • ϑʔϦΤมΛ༻͍ͨϩʔύεϑΟϧλ • Ճ͔ΒมҐɼ͔֯Β֯ͷม •
มҐσʔλΛ֯σʔλͰճస • σʔλͷ૿෯ 13
σʔλΛἧ͑Δ • Ϟʔγϣϯೖྗҙͷ࣌ؒͰߦ͑Δ • σʔλͷࠩҟΛղܾ͢ΔͨΊɼ0ͰύσΟϯά͔ඌͷ Γམͱ͠Λߦ͏ • ج४ • ొͰೖྗ࣌ؒͷ࠷͔ͬͨͷ
• ೝূͰొ࣌ʹ༻͍ͨͷ 14
ϑʔϦΤมΛ༻͍ͨ ϩʔύεϑΟϧλ • Ϟʔγϣϯೖྗ࣌ͷखͷ ͑ʹΑΔӨڹΛݮগ͞ ͤΔ -4 -3 -2 -1
0 1 2 0.5 1 Time (s) before after 15
Ճ͔ΒมҐɼ͔֯Β ֯ม • xɿมҐɼaɿՃɼtɿऔಘִؒ yɿ֯ɼgɿ֯ 16
มҐσʔλΛ֯σʔλͰ ճస • XɼYɼZ࣠ͷॱͰมҐσʔλΛ֯σʔλͰճస • มҐ͋Δ͍͍֯ͣΕ͔ͷσʔλͷมԽ͕খ͍͞߹ʹ ੜ͡ΔࣝผͷԼΛ͙ 17
σʔλͷ૿෯ • ηϯα͔ΒಘΒΕͨͷʹલ ड़ͷՃΛߦͬͨσʔλɼ ܻ͕ඇৗʹখ͘͞ͳΔ • ͜ͷσʔλΛͦͷ··ࣝผث ͷೖྗͱͨ͠߹ɼࣝผثͷ ֶशࣝผ্͕ख͍͔͘ͳ͍ ߹͕͋ͬͨ
• શͯͷσʔλΛ1000ഒ͠ɼ σʔλΛ૿෯͢Δ -4x10-6 -2x10-6 0 2x10-6 4x10-6 6x10-6 8x10-6 1x10-5 0 50 100 150 200 250 300 350 Sensor value Data dimension NN input data 18
σʔλͷඪ४Խ • χϡʔϥϧωοτϫʔΫʹೖྗ͢Δσʔλɼࣄલʹ ඪ४Խͨ͠ͷΛ༻͍ͨ΄͏͕ྑ͍݁ՌΛಘΒΕΔ • ϞʔγϣϯσʔλΛฏۉ0ɼࢄ1ͷඪ४ਖ਼نʹै ͏Α͏ʹඪ४Խ͢Δ 19
CUDAʹΑΔॲཧ • Ϟʔγϣϯσʔλ͕ॴ༗ऀʹΑΔͷ͔ɼͳΓ͢·͠ʹΑΔͷ ͔ࣝผ͢ΔͨΊɼਓχϡʔϥϧωοτϫʔΫʹΑΔࣝผثΛ༻͍Δ • CPUʹΑΔԋࢉͰߦྻԋࢉʹ͔ͳΓͷ࣌ؒΛཁ͢Δ • NVIDIAࣾͷThrustͰCUDAʹΑΔԋࢉॲཧΛ࣮͠ɼGPUʹΑΔ GPGPUͰߴʹߦྻԋࢉͤ͞Δ •
ొ࣌ٴͼωοτϫʔΫଓ͕Մೳͳೝূ࣌ʹɼCUDAԋࢉՄೳͳ αʔό্ͰॲཧΛߦ͏ 20
ຊγεςϜͷࣝผث • Denoising Autoencoderͱ ࣝผ༻ͷχϡʔϩϯΛܨ ͛ͯࣝผثΛߏங͢Δ • ͡ΊʹDenoising AutoencoderΛֶश͠ɼ࣍ ʹύϥϝʔλΛݻఆͯ͠
ࣝผ༻χϡʔϩϯͷֶश Λߦ͏ɽ Denoising Autoencoder ࣝผ༻χϡʔϩϯ 21
DENOISING AUTOENCODER ͷֶश • தؒͷχϡʔϩϯΛ50%ݮ͠ɼதؒͷ׆ੑԽؔʹγάϞΠυ ؔɼग़ྗͷ׆ੑԽؔʹ߃ؔΛ༻͍ͨͷΛߏங͢Δ • ඪ४Խͨ͠σʔλͷ30%ʹɼฏۉ͕0Ͱࢄ͕1ͷΨγΞϯϊΠζʹΑ ΔϊΠζՃΛߦ͍ɼϊΠζՃͨ͠σʔλΛೖྗσʔλɼՃ͢Δલ ͷσʔλΛڭࢣ৴߸ͱͯ͠༩͑Δ
• ଛࣦؔʹ࠷খೋޡࠩΛ༻͍ɼதؒͷ50%ΛϥϯμϜʹDropoutͯ͠ 200ճͷΦϯϥΠϯֶशΛߦ͏ • ޡ͕ࠩ0.1ະຬͷ߹ֶशΛεΩοϓ͢Δ 22
ࣝผ༻χϡʔϩϯͷֶश • ֶशࡁΈͷDenoising AutoencoderͷύϥϝʔλΛݻఆ͠ɼͦͷޙΖʹγ άϞΠυؔΛ׆ੑԽؔʹ༻͍ͨࣝผ༻χϡʔϩϯΛҰͭՃ͢Δ • ֤Ϟʔγϣϯσʔλ͝ͱʹ30%Λ0Ͱ্ॻ͖ͨ͠μϛʔσʔλΛ࡞͠ɼ ඪ४Խ͢Δ • ֶशσʔλʹඪ४Խͨ͠Ϟʔγϣϯσʔλͱμϛʔσʔλɼڭࢣ৴߸ʹ
ͦΕͧΕ0.0ͱ1.0Λ༩͑ɼଛࣦؔʹަࠩΤϯτϩϐʔޡࠩΛ༻͍ͯ500 ճͷΦϯϥΠϯֶशΛߦ͏ • ޡ͕ࠩ0.1ະຬͷ߹ֶशΛεΩοϓ͢Δ 23
ࣝผثͷֶशޙ • ֤͝ͱʹɼχϡʔϩϯ͕࣋ͭύϥϝʔλΛ จࣈྻͱͯ͠࿈݁͠ɼAndroidʹૹ৴ • 伴128bitͷAESͷCBCϞʔυɼύσΟϯάํ ࣜʹPKCS5Λ༻͍ͯ҉߸Խ͠ɼଞΞϓϦ͔Β ͷಡΈॻ͖͕Ͱ͖ͳ͍ܗͰʹอଘ 24
ೝূॲཧ • CUDAαʔόʹωοτϫʔΫଓՄೳͳ߹ɼՃࡁΈͷϞʔγϣϯσʔλͱ ొϞʔυͰอͨࣝ͠ผثͷύϥϝʔλΛૹ৴ • ଓͰ͖ͳ͍߹ɼAndroidͰॲཧ • ϞʔγϣϯσʔλΛฏۉ͕0ɼࢄ͕1ʹͳΔΑ͏ʹඪ४Խ • ࣝผثͷύϥϝʔλΛݩʹࣝผثΛߏங͠ɼࣝผثʹσʔλΛ༩͑ͯग़ྗΛಘΔ
• αʔόΛ༻͍ͨ߹ग़ྗΛAndroidʹૹ৴ • ग़ྗ͕0.5ະຬͳΒೝূޭɼ0.5Ҏ্ͳΒೝূࣦഊ 25
ධՁ • ࣝผثͷύϥϝʔλௐ • ࣝผਫ਼ͷධՁ࣮ݧ • ొٴͼೝূͷॲཧ࣌ؒܭଌ • ͦΕͧΕͷ࣮ݧʹ͍ͭͯɼΛ্࣋ͪ͛ΔϞʔγϣϯΛର ͱ͠ɼ6໊ͷඃݧऀ͔ΒϞʔγϣϯσʔλΛ࢛ͭऩू
• චऀ͕ࣗಉ༷ͷϞʔγϣϯΛೖྗͯ͠ಘͨϞʔγϣϯσʔλ ΛɼͳΓ͢·͠ೝূͷϞʔγϣϯσʔλͱͯ͠༻͍ͨ 26
ࣝผثͷύϥϝʔλௐ • Denoising Autoencoderͷ࣍ݩݮͱࣝผ༻χϡʔϩϯͷֶश࣌ʹ༻͍Δμϛʔσʔλͷμ ϛʔׂ߹ΛܾΊΔͨΊɼ2໊ͷඃݧऀ͔ΒಘͨϞʔγϣϯσʔλͰௐ • Denoising AutoencoderͷDropoutϊΠζׂ߹ɼҰൠతͳਪͱ͞ΕΔ50%ͱ30%ʹઃఆ • ֶशճͱڐ༰ޡࠩɼ͜ͷௐ࣌ͷֶशͷਐΈ۩߹ͱɼݱ࣮తͳ࣌ؒͰֶश͕ऴΘΔ͜ͱ
Λߟྀ͠ɼDenoising Autoencoder200ճͱ0.1ɼࣝผ༻χϡʔϩϯ500ճͱ0.1Λઃఆ • ඃݧऀͷϞʔγϣϯσʔλͱͱʹɼͳΓ͢·͠ೝূͷϞʔγϣϯσʔλೖྗ͠ɼඃݧऀ ͷͷͰग़ྗ͕͘ɼͳΓ͢·͠ೝূͷͷͰग़ྗ͕ߴ͘ͳΔΑ͏ʹௐ • ඃݧऀͷͷʹΑΔग़ྗ͕0.5ҎԼͰͳΓ͢·͠ೝূͷͷʹΑΔग़ྗ͕0.5Ҏ্ɼ͔ͭ࣍ ݩݮ͕50%લޙͱ͍͏݅Ͱ߹கͨ͠ɼ࣍ݩݮ50%Ͱμϛʔׂ߹͕30%ͷΈ߹ ΘͤΛ࠾༻ 27
ࣝผਫ਼ͷධՁ࣮ݧ • ඃݧऀ͔ΒಘͨϞʔγϣϯσʔλͷ࠷ॳͷࡾͭΛ ొ࣌ͷֶशσʔλɼ࠷ޙͷҰͭΛೝূ࣌ͷೖྗ σʔλͱ͠ɼࣝผثͷֶशͱࣝผΛඃݧऀຖʹ10 ճͣͭࢼߦ • ͦΕͧΕͷࢼߦ࣌ʹͳΓ͢·͠ೝূσʔλೖྗ • ಘΒΕͨ݁ՌΛฏۉ͠ɼࣝผਫ਼ΛධՁ
28
ࣝผਫ਼ͷධՁ࣮ݧ݁Ռ ඃݧऀ ͳΓ͢·͠ A 0.313607 0.999820 B 0.472281 0.787281 C
0.374718 0.539652 D 0.453637 0.557697 E 0.795578 0.642317 F 0.458756 0.466918 29
ࣝผਫ਼ͷධՁ࣮ݧ݁Ռ • ඃݧऀEͱFΛআ͍ͯࣝผͰ͖͍ͯΔ • ඃݧऀEͱFɼऴ࢝σʔλͷมಈ͕ܹ͠ ͘ɼೖྗճຖʹҰக͍ͯ͠Δ෦͕গͳ͍ • ࣝผثͷֶश͕ਐ·ͳ͔ͬͨՄೳੑ • ॴ༗ऀͷϞʔγϣϯσʔλ͕0ʹ͍ۙ
Λଟؚ͘Ή߹ɼ0Ͱ্ॻ͖ͯ͠ҧ͍ ͕ग़ʹࣝ͘͘ผثͷग़ྗ͕ߴΊʹ • ॴ༗ऀͷϞʔγϣϯσʔλͷҬ͕ ͘มಈ͕ܹ͍͠߹ɼ0Ͱ্ॻ͖͢Δ͜ͱ Ͱҧ͍͕ग़ա͗ͯ͠·͍ࣝผثͷग़ྗ͕ Ίʹ -2x10-5 -1.5x10-5 -1x10-5 -5x10-6 0 5x10-6 1x10-5 1.5x10-5 2x10-5 2.5x10-5 0 20 40 60 80 100 120 140 160 180 Sensor value Data dimension E0 E1 E2 E3 -1.5x10-5 -1x10-5 -5x10-6 0 5x10-6 1x10-5 1.5x10-5 2x10-5 2.5x10-5 0 50 100 150 200 250 300 Sensor value Data dimension F0 F1 F2 F3 30
ొٴͼೝূͷॲཧ࣌ؒܭଌ • Androidͷϩάग़ྗ༻APIͰ͋ΔLogΫϥεΛ༻͍ͯॲཧ࣌ؒΛܭଌ • ొॲཧϞʔγϣϯೖྗޙ͔Βɼࣝผثͷֶश͕ऴΘΓύϥϝʔλΛड৴͢Δ·Ͱ • ೝূॲཧϞʔγϣϯೖྗޙ͔Βɼࣝผثͷग़ྗΛड͚औͬͯೝূ݁ՌΛදࣔ͢Δ·Ͱ • NVIDIAࣾͷGeForce GTX1080Λࡌͨ͠CUDAαʔόͰͷొॲཧ͓Αͦ38ඵɼೝূॲཧ2ඵ
• Ͱͷೝূॲཧ͓Αͦ2.2ඵ • Ϟʔγϣϯσʔλͷ࣍ݩ͕ଟ͍߹ɼαʔόΛଟͷϢʔβͰར༻͢Δ߹ΑΓ͍ॲཧ ࣌ؒΛཁ͢Δ • SIMDΛҙࣝ͠ɼGPGPUʹΑΔԋࢉॲཧʹ࠷దԽͨ͠ϓϩάϥϜʹվྑ͢Δ • NVIDIA SLIΛར༻͠ɼॲཧೳྗͷߴ͍GPUΛ2ຕར༻ͯ͠ߴԽ͢Δ 31
՝ • ࣝผਫ਼ͷධՁ࣮ݧ͔ΒɼҰ෦ͷඃݧऀʹ্͍ͭͯखࣝ͘ผ͕ߦ͍͑ͯͳ͍ • ॴ༗ऀ͕ೖྗͨ͠Ϟʔγϣϯσʔλʹ0ʹ͍͕ۙଟؚ͘·ΕΔ߹μϛʔσʔλͱ ͷ͕ࠩग़ͳ͍͜ͱ͕ɼҬ͕͘มಈ͕ܹ͍͠߹μϛʔσʔλͱͷ͕ࠩग़ա͗Δ͜ͱ ͕͋Γɼࣝผ্͕ख͍͔͘ͳ͍Մೳੑ͕͋Δ • σʔλͷมಈ͕ܹ͘͠ɼϞʔγϣϯσʔλຖʹҰக͍ͯ͠Δ෦͕ݟΒΕͳ͍߹ʹࣝผ ثͷֶश͕͋·Γਐ·ͣࣝผ্͕ख͍͔͘ͳ͍Մೳੑ͕͋Δ
• ࣝผثͷਫ਼্ͷͨΊʹڐ༰ޡࠩΛݫ͘͠͠ɼֶशճΛ૿͢ͱɼֶशʹ͞ΒͳΔ࣌ؒΛ ཁͯ͠͠·͏ • ΈࠐΈχϡʔϥϧωοτϫʔΫͳͲͷΑΓߴͳਓχϡʔϥϧωοτϫʔΫΛ༻͍ɼ ॴ༗ऀͷϞʔγϣϯͷಛΛΑΓଟࣝ͘ผثʹֶशͤ͞Δ͜ͱͰɼࣝผਫ਼Λ্Ͱ͖ΔՄೳ ੑ͕͋Δ 32
·ͱΊ • εϚʔτϑΥϯͷՃٴͼ֯ηϯαΛ༻͍ɼಈ࡞ͰݸਓΛೝূ͢ΔγεςϜΛ։ൃ • ೖྗσʔλ͕ॴ༗ऀʹΑΔͷ͔ɼͳΓ͢·͠ೝূʹΑΔͷ͔Λࣝผ͢ΔͨΊʹਓ χϡʔϥϧωοτϫʔΫʹΑΔࣝผثΛ༻͍ͨ • ࣝผثͷֶशʹɼॴ༗ऀʹΑΔσʔλͷଞʹɼσʔλͷ30%Λ0Ͱ্ॻ͖ͨ͠μϛʔ σʔλΛ༻͍ͨ •
ৗతͳೖྗ͕Մೳͳಈ͖Ͱͷೝূ͕Մೳͳ͜ͱΛ֬ೝͨ͠ͷͷɼҰ෦ͷඃݧऀʹ͍ͭ ͯࣝผ্͕ख͘Ͱ͖ͳ͔ͬͨ • ΈࠐΈχϡʔϥϧωοτϫʔΫͳͲͷΑΓߴͳਓχϡʔϥϧωοτϫʔΫΛ༻͍ͯɼ ॴ༗ऀͷϞʔγϣϯͷಛΛΑΓଟࣝ͘ผثʹֶशͤ͞Δ͜ͱͰࣝผਫ਼Λ্Ͱ͖ ΔՄೳੑ͕͋Δͷͷɼֶशʹ͔͔Δ࣌ؒͱͷτϨʔυΦϑͱͳΔ͜ͱ͕༧͞ΕΔ 33