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
NIIKURA Ryota
October 07, 2017
Technology
2
3.9k
PHPでニューラルネットを作った話
PHPカンファレンス2017 発表資料
NIIKURA Ryota
October 07, 2017
Tweet
Share
More Decks by NIIKURA Ryota
See All by NIIKURA Ryota
SwooleでLaravelを高速化してみる
niisantokyo
0
4.7k
新人さんでもテストを書くべきだっていう話
niisantokyo
1
850
一次元畳み込みフィルターによる音声データのオートエンコーダ
niisantokyo
1
3.2k
タグ付けデプロイの話
niisantokyo
1
1k
TensorFlow.jsに保存機能が実装された件
niisantokyo
1
290
PHP-FPMのコンテナログ2重出力問題
niisantokyo
0
240
Laradockの紹介
niisantokyo
0
970
deeplearnjsの紹介
niisantokyo
1
230
ひたすら楽して、PHPアプリをコンテナ運用の縮小版
niisantokyo
0
790
Other Decks in Technology
See All in Technology
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
840
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
180
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
180
CustomCopを使ってMongoidのコーディングルールを整えてみた
jinoketani
0
220
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
370
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
5分でわかるDuckDB
chanyou0311
10
3.2k
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
630
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
180
Featured
See All Featured
For a Future-Friendly Web
brad_frost
175
9.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Designing for humans not robots
tammielis
250
25k
Optimising Largest Contentful Paint
csswizardry
33
3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
510
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Done Done
chrislema
181
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
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
͏·͍͔͘ͳͯ͘୰͔ͳ͍
͝ਗ਼ௌ͋Γ͕ͱ͏͟͝ ͍·͢ʂ