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
PHPでニューラルネットを作った話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
NIIKURA Ryota
October 07, 2017
Technology
4k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPでニューラルネットを作った話
PHPカンファレンス2017 発表資料
NIIKURA Ryota
October 07, 2017
More Decks by NIIKURA Ryota
See All by NIIKURA Ryota
SwooleでLaravelを高速化してみる
niisantokyo
0
5.2k
新人さんでもテストを書くべきだっていう話
niisantokyo
1
1.1k
一次元畳み込みフィルターによる音声データのオートエンコーダ
niisantokyo
1
3.8k
タグ付けデプロイの話
niisantokyo
1
1.2k
TensorFlow.jsに保存機能が実装された件
niisantokyo
1
330
PHP-FPMのコンテナログ2重出力問題
niisantokyo
0
280
Laradockの紹介
niisantokyo
0
1.1k
deeplearnjsの紹介
niisantokyo
1
250
ひたすら楽して、PHPアプリをコンテナ運用の縮小版
niisantokyo
0
880
Other Decks in Technology
See All in Technology
強化学習「理論」入門
enakai00
3
3.6k
システム思考で問題に対処する
yussak
0
270
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
140
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
750
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
200
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
150
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
20分でわかるセキュアAPI
nwiizo
2
270
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
100
Sets in Go
ramalho
1
520
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
380
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Accessibility Awareness
sabderemane
1
170
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
New Earth Scene 8
popppiees
3
2.5k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
What's in a price? How to price your products and services
michaelherold
247
13k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
940
How STYLIGHT went responsive
nonsquared
100
6.2k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Transcript
1)1Ͱཧղ͢Δχϡʔϥϧ ωοτϫʔΫΛͬͨ ػցֶश !OJJTBOUPLZP ৽ྋଠ
OJJTBOUPLZP w ΤϯδχΞྺ͘Β͍ w ݩಓ࿏ࣄ Χολʔ w 1)1FSྺΤϯδχΞྺ w
ͨ·ʹ2JJUBʹهࣄΛ্͛ͨΓ͍ͯ͠Δ w Α͘ίϯςφͷΛ͢Δਓ
ࠓճͷςʔϚɺχϡʔ ϥϧωοτϫʔΫΛͬ ͨػցֶशΛɺ1)1Ͱ࣮ ͪ͠ΌͬͨΈ͍ͨͳ
͓ॻ͖ w ߨԋͷత w ਓೳͱػցֶश w 1)1ͰػցֶशܥΛ࡞Δ w ࡞ֶͬͨशܥΛಈ͔ͯ͠ΈΔ w
·ͱΊ
͓ॻ͖ w ߨԋͷత w ਓೳͱػցֶश w 1)1ͰػցֶशܥΛ࡞Δ w ࡞ֶͬͨशܥΛಈ͔ͯ͠ΈΔ w
·ͱΊ
1)1 w શੈքͷύϒϦοΫͳ8FCαΠτͷҎ্͕1)1 Ͱॻ͔Ε͍ͯΔ ͑ʁXPSEQSFTT ૉΒ͍͠1)1ΞϓϦͰ͢ΑͶ w ͭ·ΓɺੈքதͰΓऔΓ͞Ε͍ͯΔσʔλͷଟ͘ ͕ɺ1)1Λհ͍ͯ͠Δ
w 1)1ΤϯδχΞͷਓޱͱͯଟ͍ (PPHMFઌੜ Ͱݕࡧ͢Δͱɺຊ͚ͩͰສਓΛ͑ΔΒ͍͠
1)1ք۾େྔͷσʔλͱͦΕΛѻ͏େྔͷ ΤϯδχΞΛแ͍ͯ͠Δ 1)1ɺେྔͷσʔλͱਓһΛඞཁͱ͢Δ ػցֶशͱੑͷߴ͍ྖҬͰ͋Δ
࣮ ࠓճͷΧϯϑΝϨϯεͰͷػցֶशωλͷൃද Θ͔ͣ̍݅ ͭ·Γίί
࣮ ༗໊ॴͷϑϨʔϜϫʔΫ͕1ZUIPO ҰԠɺ5FOTPS'MPXΛ1)1Ͱಈ͔ͦ͏Έ͍ͨͳͷ͕͋ Δ͚Ͳɺ͍ͯ͠ͳ͍
ػցֶशͷࢀೖোน w 1ZUIPOΘ͔ΒΜ w ֶΘ͔ΒΜ w ࣮Θ͔ΒΜ w Θ͔Βͳ͍ͷ৮Δͷ͕ා͍ͷͰɺΖ͏ͱࢥ͑ͳ ͍
ߨԋͷత w ਓೳػցֶश͕Կͳͷ͔ΛՄೳͳݶΓΘ͔Γ ͘͢ฏқͳݴ༿Ͱઆ໌Ͱ͖ΔΑ͏ʹ͍ͨ͠ w 1)1ͰχϡʔϥϧωοτϫʔΫΛͬͨػցֶशΛ Πν͔Β࣮͠ɺͦͷߟ͑ํͱڍಈΛཧղ͢Δ w ػցֶशͰԿ͕Ͱ͖Δ͔͕Θ͔ͬͨ ͱࢥ͏
ͷͰɺ ػցֶशք۾ʹେྔͷ1)1FS͕ྲྀೖ͢Δ w ػցֶशք۾ʹܹΛى͜͢
͓ॻ͖ w ߨԋͷత w ਓೳͱػցֶश w 1)1ͰػցֶशܥΛ࡞Δ w ࡞ֶͬͨशܥΛಈ͔ͯ͠ΈΔ w
·ͱΊ
ਓೳ w ਓؒͷΔ͜ͱΛػցʹಉ͡Α͏ʹΒͤΑ͏ͱ͍ ͏ࢼΈ w ඬ͏ສೳײͱະདྷײ w ݱ࣮ʹ࡞ΒΕ͍ͯΔͷԿΒ͔ͷೖྗใΛݩʹ༧ ଌ͢ΔͳΓྨ͢ΔͳΓ͢Δஔ w
ͭ·Γؔ
Կॲ͔ͰݟͨΑ͏ͳήʔϜͷʮ"*ʯ ࣗͷମྗ ؒͷମྗ ఢͷঢ়ଶ ࡞ઓɿ໋Λ େࣄʹ ߈ܸ͢Δ ͜͜Λܾఆ͢ΔΞϧΰϦζϜ͕ "*ͷ֩ʹͳ͍ͬͯΔ
ػցֶश w ػց͕ਓؒͷΑ͏ʹࣄΛֶΜͰ͍͖ਓೳ͕ ͢Δ͜ͱ w ඬ͏ສೳײͱະདྷײ w ͔͠͠ɺਓೳؔͩͬͨ w ͭ·Γɺؔͷࣗಈௐઅ
ػցֶशͷํ๏ͱత ೖྗ ग़ྗ ೖྗ ग़ྗ ೖྗ ग़ྗ طͷσʔλ܈ ؔ
๏ଇ ೖྗ ग़ྗ ༧ଌ ๏ଇΛൃݟ͢Δ͜ͱʂ
ཧՊͷ࣮ݧͱਓೳ ྫ͑ɺ͜Μͳײ͡ͷ࣮ݧσʔλ͕༗ͬͨͱ͢Δ
ཧՊͷ࣮ݧͱਓೳ ཧՊͷ࣮ݧͩͱखͰ͍͍ײ͡ͷઢΛҾ͘
ཧՊͷ࣮ݧͱਓೳ ਓೳతͳΞϓϩʔνͩͱɺ·ͣɺదͳؔΛ࡞Δ
ཧՊͷ࣮ݧͱਓೳ ಘΒΕ͍ͯΔσʔλΛͱʹؔΛௐઅ͢Δ
ػցֶशͷඞཁੑ ʁ ʁ Θ͔Δ͔ Θ͔Δؾ͕͠ͳ͍ w ೖྗύϥϝʔλٴͼग़ྗύϥϝʔ λͷ͕গͳ͚Εɺ๏ଇͷ ൃݟͦΜͳʹ͘͠ͳ͞
ͦ͏ w ύϥϝʔλ͕ଟ͘ͳΔͱɺ ๏ଇΛද͕ؔ͢ෳࡶԽ͠ɺ ༧ଌࠔʹͳΔ w ػցʹࣗಈతʹؔܗΛ࡞ͬ ͯΒͬͨ΄͏ָ͕ʹͳΔ
χϡʔϥϧωοτ w ਓؒͷͷಈ͖Λ฿͠ ͯ࡞ΒΕͨʮදݱྗͷߴ ͍ʯؔ w ӈਤͷΑ͏ʹز͔ͭͷϢ χοτΛଂͨ͠ز͔ͭ ͷʹΑͬͯΓཱͭ w
ͱΓ͋͑ͣɺௐઅ͕͖͖ ͍͢ਓೳ͚ͷؔ ͩͱࢥ͍͍͑ JOQVU PVUQVU O χϡʔϥϧωοτ
͜͜·Ͱ·ͱΊ w ਓೳؔ w ػցֶशؔΛࣗಈͰௐઅ͢Δػೳ w χϡʔϥϧωοτࣗಈௐઅ͍ؔ͢͠ w ػցֶशͷతσʔλΛͱʹʮ๏ଇʯΛൃݟ ͢Δ͜ͱ
͓ॻ͖ w ߨԋͷత w ਓೳͱػցֶश w 1)1ͰػցֶशܥΛ࡞Δ w ࡞ֶͬͨशܥΛಈ͔ͯ͠ΈΔ w
·ͱΊ
࣮ํ w 1)1Ͱॻ͘ w ֎෦ϥΠϒϥϦۃྗΘͳ͍ 1)1.-ΒΜ͔ͬͨ͠ɻɻɻ w σʔλΛͱʹௐઅՄೳͳ ֶशͰ͖Δ
ؔ ਓೳ Λ࡞Δ w χϡʔϥϧωοτϞσϧΛ͏
࣮ࡍʹ࡞ͬͨͭ IUUQTHJUIVCDPNOJJTBOUPLZPQIQOO ґଘੑϓϩάϨεόʔΛ ग़͢ϥΠϒϥϦ͚ͩʂ
QIQOOͷ༻ํ๏ ˑͱΓ͋͑ͣʮؔʯͱͯͬͯ͠ΈΔ χϡʔϥϧωοτϫʔΫͷ֎ Λ࡞Δ ωοτϫʔΫΛߏ͢ΔΛ Ճ͍ͯ͘͠ ඪ४ೖྗ͔ΒಘΒΕͨύϥϝʔ λΛݩʹɺҙͷग़ྗΛฦ͢
˞͜ͷؔͳΜͷ ௐೖΕ͍ͯͳ͍ ͷͰɺग़ྗʹԿ͔ҙ ຯ͕͋ΔΘ͚Ͱͳ ͍ ˞औΓग़͍ͨ͠ʹ Λࢦఆ͢Δͱɺؔ ͷ݁Ռ͕औಘͰ͖ Δ
QIQOOͷ༻ํ๏ ˑطͷσʔληοτΛֶͬͯशͯ͠ΈΔ σʔληοτͷऔಘ ෮ճ ֶश࣌ͷύϥϝʔλͷมಈ෯ ͔ͳΓॏཁ σʔληοτΛͬͯɺ ωοτϫʔΫΛमਖ਼ ֶशͨ͠ঢ়ଶΛϑΝΠ ϧʹอଘ͢Δ
None
ग़ྗ͞ΕͨϑΝΠϧ γϦΞϥΠζԽͨ͠ ΦϒδΣΫτͷմ ϑΝΠϧͷେ෦ɺ̎࣍ݩྻͷΛද͍ͯ͠Δ ػցֶशʹ͓͍ͯɺ͜ͷ͕ௐઅ͞ΕΔ
QIQOOͷ༻๏ ˑֶशޙͷؔΛͬͯΈΔ
͓ॻ͖ w ߨԋͷత w ਓೳͱػցֶश w 1)1ͰػցֶशܥΛ࡞Δ w ࡞ֶͬͨशܥΛಈ͔ͯ͠ΈΔ w
·ͱΊ
໌֬ͳత͕ඞཁ w ػցֶशͷతɺͭ·Δͱ͜Ζ๏ଇͷൃݟͰ͋Δ w ԿΛೖྗʹͯ͠ԿΛग़ྗʹ͢Δͷ͔ɺͱ͍͏ઃ ఆ͕ඞཁʹͳΔ w ๏ଇΛൃݟ͢ΔͨΊͷσʔλ ೖྗͱग़ྗͷηο τ
͕͋Δఔͷݸඞཁ
ྖҬఆ ࠲ඪΛࢦఆͨ͠ͱ͖ɺͦͷ࠲ඪ͕͋ΔྖҬʹ͋Δ͔ͳ ͍͔Λఆ͢Δ ࠓճυʔφπܕͷྖҬΛରʹͯ͠ΈΔ w ೖྗ ࠨਤͷ Y Z ࠲ඪͷ
w ग़ྗ ྖҬʹೖ͍ͬͯΕ ͦ ͏Ͱͳ͚Ε
ྖҬఆ ૣؔΛΜͰΈΔ
ྖҬఆ σʔλΛ༻ҙ͢Δ ˞զʑਖ਼ղͷܗΛ͍ͬͯΔ͕ɺઌఔΜͩωοτϫʔ ΫʹͦͷܗΛʮΒͳ͍ʯ
ྖҬఆ ಘΒΕͨσʔληοτΛݩʹɺؔΛௐઅ͢Δ ͜͜ͰɺύϥϝʔλҎ ԼͷҙຯΛ࣋ͭ UFTU͏·͘ௐઅ͕ਐΜͰ͍Δ ͔Λผ͢ΔͨΊͷςετσʔ λ CBUDI@TJ[F͍ͭ͘σʔλΛൺ ֱͨ͠Βɺ࣮ࡍʹௐઅΛ࣮ࢪ͢ Δ͔
ྖҬఆ ͔ؔΒͷग़ྗʹ͍ͭͯɺେࡶʹɺग़ྗ͕ ͷͰ͋ͬ ͨΒྖҬɺͷͰ͋ͬͨΒྖҬ֎Ͱ͋Δͱ͢Δ
ྖҬఆ ࣮ߦͯ͠ΈΔ తதྑ͞ ͛ͳײ͕͢͡ Δ ޡࠩগͳ͘ ͳ͍ͬͯΔ
ྖҬఆ ྖҬͱఆ͍ͯ͠Δ ෦Λਤࣔͤͯ͞Έͨɻ ֎प͕ͪΐͬͱΈग़ ͍ͯ͠Δ͔
࣌ܥྻσʔλͷ༧ଌ w ࣌ܥྻͰมԽ͢Δ ͷ༧ଌΛػցֶ शͰղ͍ͯΈΔ w גՁͱ͔'9ͷ νϟʔτ༧ଌͱ͔ʹ Ԡ༻Ͱ͖Δ͔͠Ε ͳ͍
࣌ܥྻσʔλͷ༧ଌ άϥϑͷ࣌ܥྻσʔλ͔ΒऔΓग़͠ɺͦ ͷσʔλΛͱʹɺ࣍ͷΛ༧ଌͯ͠ΈΔ ͜ͷσʔλΛͱʹ ͜ͷ෦Λ༧ଌ
࣌ܥྻσʔλͷ༧ଌ ݸͷ ࿈ଓͨ͠ ܥྻσʔλ ؔ ࣍ͷݸͷܥྻσʔλ
࣌ܥྻσʔλͷ༧ଌ ֶशܥͷੜ IUUQTHJTUHJUIVCDPNOJJTBOUPLZP DCGBDCEFCG
࣌ܥྻσʔλͷ༧ଌ ੨ɿ࣮ଌ ɿ༧ଌ
͓ॻ͖ w ߨԋͷత w ਓೳͱػցֶश w 1)1ͰػցֶशܥΛ࡞Δ w ࡞ֶͬͨशܥΛಈ͔ͯ͠ΈΔ w
·ͱΊ
σʔλઃܭͷॏཁੑ ઌͷ࣌ܥྻσʔλ͕ɺגՁͷνϟʔτͩͬͨͱ͢Δͱ
ֶश༰ͷ̎ͭͷΞϓϩʔν ݱࡏʹࢸΔ·ͰͷਪҠΛݩ ʹɺ࣍ͷঢ়ଶΛ༧ଌ͢Δ ۀ ैۀһ ൃߦגࣜ ܠؾ ֎෦ͷύϥϝʔ λʹΑΓɺ͜ͷ νϟʔτ͕ߏங
͞ΕΔ
ೖྗ ग़ྗ ೖྗ ग़ྗ ೖྗ ग़ྗ طͷσʔλ܈ ؔ ๏ଇ
ೖྗ ग़ྗ ༧ଌ w ػցֶशͷΓํࣗମɺΞ ϓϩʔνʹ͔͔ΘΒͣಉ͡ w طͷσʔλ܈͔Β๏ଇΛಋ ͖ग़͢ͷΈ w ؔ෦ɺೖྗBEE͞Ε Δɺग़ྗ͕ҧ͏͕ɺ֎ܗ มΘΒͳ͍
σʔλઃܭͷॏཁੑ w ػցֶशͷํ๏ɺͲͷΑ͏ͳೖྗɺͲͷΑ͏ͳग़ ྗͰ͋ͬͯɺ΄ͱΜͲมΘΒͳ͍ w Ұํɺσʔλͷઃܭ࣍ୈͰֶश༰ͷͭҙຯ͕େ ͖͘ҟΔ w ٻΊ͍ͯΔग़ྗ͕ͲͷΑ͏ͳҙຯΛ͔࣋ͭʹ͋Θͤ ͯɺσʔλઃܭΛ͢Δ͖
1)1FS͕উෛͰ͖ͦ ͏ͳྖҬ
ػցֶशͷෆࢥٞ ಥવֶश͕͏·͍͖࢝͘ΊΔ͜ͱ͕͋Δ ޡ͕ࠩ͘Β͍͠ ͔վળ͞Εͯͳ͍ ޡ͕ࠩΨϯΨϯվળ ͞Ε࢝ΊΔ
ػցֶशͷෆࢥٞ ؒҧ͍Λ͍ٙͨ͘ͳΔϨϕϧ ͔͠͠ɺͳ͔ͬͨɻɻɻ
ػցֶशͷෆࢥٞ ͏·͍͔͘ͳ͍͜ͱ͋Δ ճϧʔϓճͯ͠ɺతதࢭ·Γʂʂ ͳΜͯͬͨ͜ɻɻɻ
ػցֶशͷෆࢥٞ Լख͢ΔͱϝνϟΫνϟͳ͜ͱʹͳΔ ༷ࢠ͕͓͔͍͠ɻɻɻ
ʊਓਓਓਓਓਓʊ ʼɹಥવͷࢮɹʻ ʉ:?:?:?:?:ʉ ̍ ग़ྗ͕શ෦ʹͳͬͯΔ
·ͱΊ w ػցֶशσʔλ͔ΒԿΒ͔ͷ๏ଇΛಋ͖ग़͢ख๏ Ͱ͋Δ w χϡʔϥϧωοτϫʔΫΛͬͨػցֶशػߏΛ 1)1Ͱ࣮ͨ͠ w ػցֶशʹݩʹͳΔσʔλͷઃܭ͕େͰ͋Δ w
͏·͍͔͘ͳͯ͘୰͔ͳ͍
͝ਗ਼ௌ͋Γ͕ͱ͏͟͝ ͍·͢ʂ