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
tech boost_deeplearning
Search
Takehiro Yamaguchi
February 03, 2019
Technology
0
99
tech boost_deeplearning
tech boost_deeplearning
Takehiro Yamaguchi
February 03, 2019
Tweet
Share
More Decks by Takehiro Yamaguchi
See All by Takehiro Yamaguchi
【 tech boost】AI/DSエキスパート(ニューラルネットワーク)
takexhero
0
110
開発業務について
takexhero
0
600
セキュリティについて
takexhero
0
440
問題解決力について
takexhero
0
570
データベースについて
takexhero
0
1.2k
ネットワークについて
takexhero
0
620
オブジェクト指向について
takexhero
0
1.3k
Other Decks in Technology
See All in Technology
One engineer company with Ruby on Rails
rstankov
2
430
成長をサポートするピープルマネジメントのやり方
sioncojp
9
1.1k
require(ESM)とECMAScript仕様
uhyo
4
970
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
610
How to do well in consulting–Balkan Ruby 2024
irinanazarova
0
140
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
150
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
230
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
400
How to Lead? Testimonial of a Lead Android Engineer
oleur
1
110
DMM.com アルファ室採用案内資料
hsugita
1
230
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
190
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
2
360
Featured
See All Featured
Faster Mobile Websites
deanohume
300
30k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Building Effective Engineering Teams - LeadDev
addyosmani
32
1.9k
How to train your dragon (web standard)
notwaldorf
75
5.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Being A Developer After 40
akosma
66
580k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Design by the Numbers
sachag
274
18k
GraphQLの誤解/rethinking-graphql
sonatard
55
9.3k
Product Roadmaps are Hard
iamctodd
45
9.7k
Designing for humans not robots
tammielis
248
25k
Transcript
$POpEFOUJBM $ #SBOEJOH&OHJOFFS*OD
$ #SBOEJOH&OHJOFFS*OD tech boost AI/DS Expert 第9回講義 ディープラーニング
$ #SBOEJOH&OHJOFFS*OD ⾃⼰紹介 蛭⽥ 興明 慶應義塾⼤学⼤学院 理⼯学研究科 専⾨:時系列解析、深層学習 趣味 読書、筋トレ、スノボ
$ #SBOEJOH&OHJOFFS*OD ディープラーニング ɾޡࠩٯ๏ʹ͍ͭͯ ɾΈࠐΈχϡʔϥϧωοτϫʔΫ(CNN) ɾ࠶ؼχϡʔϥϧωοτϫʔΫ(RNN) ɾGoogle ColaboratoryΛ༻͍࣮ͨફਂֶश
$ #SBOEJOH&OHJOFFS*OD ディープラーニングとは? χϡʔϥϧωοτϫʔΫ ୈճߨٛͰઆ໌ Λ ଟ ̏Ҏ্ ʹͨ͠ͷ ଟԽ
χϡʔϥϧωοτϫʔΫ σΟʔϓϥʔχϯά σʔλΛ༩͑Δ͚ͩͰɼಛྔΛࣗಈతʹநग़͢Δ͜ͱ͕Ͱ͖Δػցֶशख๏
$ #SBOEJOH&OHJOFFS*OD ディープラーニングとは? ୈ̏࣍"*ϒʔϜͷݗҾ ग़యɿIUUQTJPUOFXTKQBSDIJWFT
$ #SBOEJOH&OHJOFFS*OD ディープラーニング ɾޡࠩٯ๏ʹ͍ͭͯ ɾΈࠐΈχϡʔϥϧωοτϫʔΫ(CNN) ɾ࠶ؼχϡʔϥϧωοτϫʔΫ(RNN) ɾGoogle ColaboratoryΛ༻͍࣮ͨફਂֶश
$ #SBOEJOH&OHJOFFS*OD 誤差逆伝播法 ҰൠతʹɼχϡʔϥϧωοτϫʔΫͰɼ ৴߸ೖྗ͔Βग़ྗͱྲྀΕΔ Z Y Y X X
$ #SBOEJOH&OHJOFFS*OD 誤差逆伝播法 ग़ྗͱ࣮ࡍͷਖ਼ղͷޡࠩΛɼ ग़ྗ͔Βೖྗͱͤ͞Δ Z Y Y X X
ग़ྗʔਖ਼ղ ग़ྗͷޡࠩ
$ #SBOEJOH&OHJOFFS*OD 誤差逆伝播法がなぜ必要なのか? χϡʔϥϧωοτϫʔΫͷֶशͰɼ ʮޯ߱Լ๏ʯΛ༻͍Δ ୈճߨٛ
$ #SBOEJOH&OHJOFFS*OD 勾配降下法 ޡࠩؔ& ॏΈύϥϝʔλX ֤ͷޡࠩؔͷ͖ ޯͱٯ͖ʹύϥϝʔλΛௐ͍ͯ͘͠ ඍ͕ʹͳΔ·Ͱ܁Γฦ͢ X X
X ޡࠩؔͷ͖ ֶश େ͖͘͢ΔͱҰճͷֶशͰͷ ॏΈͷมԽ͕େ͖͘ͳΔ
$ #SBOEJOH&OHJOFFS*OD 勾配降下法 ࣍ͷΑ͏ͳೋྨχϡʔϥϧωοτϫʔΫʹޯ߱Լ๏Λద༻͢Δ ೖྗϢχοτ̑ɼதؒϢχοτ̏ͷ߹ ޡࠩؔ & ਖ਼ղσʔλ
$ #SBOEJOH&OHJOFFS*OD 勾配降下法 ࣍ͷΑ͏ͳೋྨχϡʔϥϧωοτϫʔΫʹޯ߱Լ๏Λద༻͢Δ ೖྗϢχοτ̑ɼதؒϢχοτ̏ͷ߹ & ਖ਼ղσʔλ ޡࠩؔ&࣍ͷࣜͰදͤΔ ޡࠩؔ
$ #SBOEJOH&OHJOFFS*OD 勾配降下法 ޡࠩؔ&࣍ͷࣜͰදͤΔ ͜ͷχϡʔϥϧωοτϫʔΫʹ͓͍ͯɼॏΈύϥϝʔλݸଘࡏ͢Δ ७ਮʹޯ߱Լ๏Λద༻͢ΔͱɼճඍΛ͢Δඞཁ͕͋Δ ͜ͷܭࢉΛ௨Γߦ͏ඞཁ͕͋Δ
$ #SBOEJOH&OHJOFFS*OD 勾配降下法 ޡࠩؔ&ͷɹɹͷޯɹɹɹΛٻΊΔ & ޡࠩؔ ਖ਼ղσʔλ
$ #SBOEJOH&OHJOFFS*OD Y Y Y X X X G V
ೖྗͷ ૯ V ग़ྗ G V VXY XY XY GΛ࡞༻ͤ͞Δ ࣮ࡍʹɼ֤ೖྗʹ׆ੑԽ͕ؔ࡞༻͞Ε͍ͯΔ ׆ੑԽؔ ̔ষͰઆ໌
$ #SBOEJOH&OHJOFFS*OD [ G [ Ұఆͷ ͖͍͠ G [
׆ੑԽؔ ̔ষͰઆ໌
$ #SBOEJOH&OHJOFFS*OD 勾配降下法 ޡࠩؔ&ͷɹɹͷޯΛٻΊΔ & ޡࠩؔ ਖ਼ղσʔλ ͚ͩͰͳ͘ʹΑΔӨڹΛߟ͑Δඞཁ͕͋Γɼ ܭࢉ͕ඇৗʹࡶʹͳΔ େͳ߹ؔͷඍ͕ඞཁ
$ #SBOEJOH&OHJOFFS*OD 誤差逆伝播法 Z Y Y X X & ޡࠩؔ
[ [XY XY ৽ͨͳه߸ɹɹΛಋೖ͢Δ
$ #SBOEJOH&OHJOFFS*OD 誤差逆伝播法を導⼊するメリット & ޡࠩؔ ਖ਼ղσʔλ ޡࠩؔ&ͷޯΛผͳه߸Ͱஔ͖͑Δ͜ͱͰɼ ඍܭࢉճΛݮΒ͢͜ͱ͕Ͱ͖Δ
$ #SBOEJOH&OHJOFFS*OD ドロップアウト:ディープラーニングの学習上の⼯夫 աֶशΛ͙ͨΊʹɼ χϡʔϥϧωοτϫʔΫͷ݁߹Λ͍͔ͭ͘औΓআֶ͍ͯशͤ͞Δํ๏
$ #SBOEJOH&OHJOFFS*OD ディープラーニング ɾޡࠩٯ๏ʹ͍ͭͯ ɾΈࠐΈχϡʔϥϧωοτϫʔΫ(CNN) ɾ࠶ؼχϡʔϥϧωοτϫʔΫ ɾGoogle ColaboratoryΛ༻͍࣮ͨફਂֶश
$ #SBOEJOH&OHJOFFS*OD ΈࠐΈχϡʔϥϧωοτϫʔΫͱʁ ʮΈࠐΈʯͱʮϓʔϦϯάʯͷ ֊తΈ߹ΘͤͰߏங͞ΕΔ ը૾ೝࣝʹಛԽͨ͠σΟʔϓϥʔχϯάख๏
$ #SBOEJOH&OHJOFFS*OD
ೖྗ ΈࠐΈ ΈࠐΈ ϓʔϦϯά ϓʔϦϯά શ݁߹ ग़ྗ ΈࠐΈχϡʔϥϧωοτϫʔΫશମ૾
$ #SBOEJOH&OHJOFFS*OD ΈࠐΈ ը૾ͷಛΛநग़͢ΔׂΛ࣋ͭ खॻ͖ࣈͷ߹ ը૾ͷύλʔϯΛநग़
$ #SBOEJOH&OHJOFFS*OD ̎ ̏ ̌ ̍ ̍ ̌ ̏ ̎
̏ ̍ ̎ ̌ ̌ ̍ ̎ ̏ ̎ ̏ ̌ ̍ ̍ ̌ ̏ ̎ ̏ ̍ ̎ ̌ ̌ ̍ ̎ ̏ ̐ ̒ ̐ ̑ ̍ ̌ ̌ ̌ ̍ ̌ ̌ ̌ ̍ ೖྗσʔλ Χʔωϧ ϑΟϧλ ಛϚοϓ ̍ ̌ ̌ ̌ ̍ ̌ ̌ ̌ ̍ ̐ ̒ ̐ ̑ ΈࠐΈ
$ #SBOEJOH&OHJOFFS*OD ೖྗσʔλ ಛϚοϓ ΈࠐΈ ը૾ͷࣼΊ ͕ɼͲͷҐஔʹଘࡏ͢Δ͔Λ ͍ࣔͯ͠Δ ̎ ̏
̌ ̍ ̍ ̌ ̏ ̎ ̏ ̍ ̎ ̌ ̌ ̍ ̎ ̏ ̐ ̒ ̐ ̑ ೖྗσʔλͷӈ্ʹ ύλʔϯ͕ଘࡏ ӈ্ͷ͕େ͖͘ͳΔ ̍ ̌ ̌ ̌ ̍ ̌ ̌ ̌ ̍ ϑΟϧλ ͷ࡞༻ͷҙຯ
$ #SBOEJOH&OHJOFFS*OD ը૾ͷಛͷҐஔීวੑΛอূ͢Δ ಉ͡ಛͱͯ͠ೝࣝͤ͞Δ͜ͱ͕త ϓʔϦϯά
$ #SBOEJOH&OHJOFFS*OD ը૾ͷಛͷҐஔීวੑΛอূ͢Δ ̎ ̏ ̌
̍ ̌ ̎ ̏ ̍ ̎ ̌ ̌ ̍ ̍ ̏ ̎ ̌ ̏ ̎ ̌ ̌ ̍ ̏ ̌ ϓʔϦϯά
$ #SBOEJOH&OHJOFFS*OD
ΈࠐΈχϡʔϥϧωοτϫʔΫશମ૾ ʮΈࠐΈʯͱʮϓʔϦϯάʯͷ֊తΈ߹ΘͤʹΑΔಛநग़
$ #SBOEJOH&OHJOFFS*OD ディープラーニング ɾޡࠩٯ๏ʹ͍ͭͯ ɾΈࠐΈχϡʔϥϧωοτϫʔΫ(CNN) ɾ࠶ؼχϡʔϥϧωοτϫʔΫ(RNN) ɾGoogle ColaboratoryΛ༻͍࣮ͨફਂֶश
$ #SBOEJOH&OHJOFFS*OD ࠶ؼχϡʔϥϧωοτϫʔΫ(RNN)ͱʁ աڈͷೖྗΛݱࡏͷग़ྗʹөͤ͞ΔΈΛ࣋ͭ ࣗવݴޠॲཧɼ࣌ܥྻॲཧͳͲͷ ܥྻσʔλʹಛԽͨ͠σΟʔϓϥʔχϯάख๏
$ #SBOEJOH&OHJOFFS*OD ࠶ؼχϡʔϥϧωοτϫʔΫ(RNN)ͱʁ தؒͷग़ྗΛࣗΒͷೖྗʹ͢ߏΛ࣋ͭ ೖྗ தؒ ग़ྗ 8 த͕ؒ ࣗࣗͷ
ؼؐ࿏ΛΛ࣋ͭ
$ #SBOEJOH&OHJOFFS*OD ࠶ؼχϡʔϥϧωοτϫʔΫ(RNN)ͷ࣌ؒల։ 8 U U U ɾɾɾ 8
8 աڈͷॏΈͷཤྺ͕ݱࡏͷग़ྗʹӨڹΛ༩͍͑ͯΔ
$ #SBOEJOH&OHJOFFS*OD ディープラーニング まとめ ɾޡࠩٯ๏ʹ͍ͭͯ ɾΈࠐΈχϡʔϥϧωοτϫʔΫ(CNN) ɾ࠶ؼχϡʔϥϧωοτϫʔΫ(RNN)
$ #SBOEJOH&OHJOFFS*OD ・ޡࠩٯ๏ʹ͍ͭͯ ग़ྗͱ࣮ࡍͷਖ਼ղͱͷޡࠩΛɼ ग़ྗ͔Βೖྗͱͤ͞Δֶशख๏ Z Y Y X X
ग़ྗʔਖ਼ղ ग़ྗͷޡࠩ
$ #SBOEJOH&OHJOFFS*OD 誤差逆伝播法 Z Y Y X X & ޡࠩؔ
[ [XY XY ৽ͨͳه߸ɹɹΛಋೖ͢Δ͜ͱͰɼ ඍճΛେ෯ʹݮΒ͢͜ͱ͕Մೳ
$ #SBOEJOH&OHJOFFS*OD ʮΈࠐΈʯͱʮϓʔϦϯάʯͷ ֊తΈ߹ΘͤͰߏங͞ΕΔ ը૾ೝࣝʹಛԽͨ͠σΟʔϓϥʔχϯάख๏ ʮΈࠐΈʯɿը૾ͷಛΛநग़͢Δ ʮϓʔϦϯάʯɿಛͷҐஔීวੑΛ֬อ͢Δ 畳み込みニューラルネットワークとは?
$ #SBOEJOH&OHJOFFS*OD
ೖྗ ΈࠐΈ ΈࠐΈ ϓʔϦϯά ϓʔϦϯά શ݁߹ ग़ྗ ΈࠐΈχϡʔϥϧωοτϫʔΫશମ૾
$ #SBOEJOH&OHJOFFS*OD ・再帰ニューラルネットワーク(RNN) աڈͷೖྗΛݱࡏͷग़ྗʹөͤ͞ΔΈΛ࣋ͭ ࣗવݴޠॲཧɼ࣌ܥྻॲཧͳͲͷ ܥྻσʔλʹಛԽͨ͠σΟʔϓϥʔχϯάख๏
$ #SBOEJOH&OHJOFFS*OD ࠶ؼχϡʔϥϧωοτϫʔΫ(RNN)ͷ࣌ؒల։ 8 U U U ɾɾɾ 8
8 աڈͷॏΈͷཤྺ͕ݱࡏͷग़ྗʹӨڹΛ༩͍͑ͯΔ
$ #SBOEJOH&OHJOFFS*OD ディープラーニング ɾޡࠩٯ๏ʹ͍ͭͯ ɾΈࠐΈχϡʔϥϧωοτϫʔΫ(CNN) ɾ࠶ؼχϡʔϥϧωοτϫʔΫ(RNN) ɾGoogle ColaboratoryΛ༻͍࣮ͨફਂֶश
$ #SBOEJOH&OHJOFFS*OD ・Google Colaboratoryを⽤いた実践深層学 習 σΟʔϓϥʔχϯάɼେͳͷύϥϝʔλΛܭࢉ͢Δ ௨ৗͷCPUͰେͳܭࢉ͕͔͔࣌ؒͬͯ͠·͏͜ͱ͕ଟ͍ (16 (SBQIJDT1SPDFTTJOH6OJU ʹΑΔେنฒྻԋࢉॲཧʹΑΓɼ
ܭࢉ࣌ؒΛॖͤ͞Δ͜ͱ͕ଟ͍
$ #SBOEJOH&OHJOFFS*OD ・Google Colaboratoryとは? (PPHMF͕ग़͍ͯ͠Δແྉ(16ڥ શΫϥυ্Ͱ(16Λ࿈ଓ࠷େ࣌ؒ༻Մೳ
$ #SBOEJOH&OHJOFFS*OD ・Google Colaboratoryを使⽤する (PPHMF$PMBCPSBUPSZʹΞΫηεͯ͠Έ·͠ΐ͏ɽ IUUQTDPMBCSFTFBSDIHPPHMFDPNOPUFCPPLT XFMDPNFJQZOC IMKB
$ #SBOEJOH&OHJOFFS*OD 次のような画⾯に移ります.
$ #SBOEJOH&OHJOFFS*OD 左上の「ファイル」をクリックします. ΫϦοΫ
$ #SBOEJOH&OHJOFFS*OD 「Python 3 の新しいノートブック」を選択 ΫϦοΫ
$ #SBOEJOH&OHJOFFS*OD ファイルが開くので,わかりやすい名前に変更 ϑΝΠϧ໊ͷมߋ
$ #SBOEJOH&OHJOFFS*OD 「ランタイムのタイプを変更」を選択 ͪ͜ΒΛબ
$ #SBOEJOH&OHJOFFS*OD 「ハードウェアアクセラレータ」を「GPU」に設定 ʮ(16ʯʹઃఆ ʮอଘʯΛΫϦοΫ
$ #SBOEJOH&OHJOFFS*OD GPUが動作しているか確認する ҎԼͷίʔυΛ࣮ߦ (16͕ಈ࡞͍ͯ͠Ε࣍ͷΑ͏ͳ݁ՌͱͳΔ (16Λೝ͍ࣝͯ͠Δ͜ͱ͕֬ೝͰ͖Δ
$ #SBOEJOH&OHJOFFS*OD 主要なディープラーニングライブラリ DIBJOFSQSFGFSSEOFUXPSLT͕։ൃ UFOTPSqPX(PPHMFʹΑͬͯ։ൃ LFSBT.*5ϥΠηϯεͷϥΠϒϥϦ ࠓճLFSBTΛ༻͍Δ
$ #SBOEJOH&OHJOFFS*OD 演習:CNNによる⼿書き⽂字認識 $//Λ༻͍ͯ ./*45 ͔Β·Ͱͷखॻ͖จࣈ σʔλΛֶशͤ͞Δ τϨʔχϯάσʔλ ςετσʔλ
$ #SBOEJOH&OHJOFFS*OD 演習:CNNによる⼿書き⽂字認識 LFSBTνϡʔτϦΞϧίʔυΛར༻͢Δ IUUQTHJUIVCDPNLFSBTUFBNLFSBTCMPCNBTUFSFYBNQMFTNOJTU@DOOQZ
$ #SBOEJOH&OHJOFFS*OD 演習:CNNによる⼿書き⽂字認識 4UFQඞཁͳϥΠϒϥϦΛಡΈࠐΉ
$ #SBOEJOH&OHJOFFS*OD 演習:CNNによる⼿書き⽂字認識 4UFQֶ̎शͷઃఆΛߦ͏ CBUDI@TJ[FҰճͷֶशͰ༻͢Δσʔλ OVN@DMBTTFTྨͷΫϥε ͔Β·ͰͷࣈΑΓɼ FQPDIT܇࿅σʔλΛֶशʹ͏ճ
$ #SBOEJOH&OHJOFFS*OD 演習:CNNによる⼿書き⽂字認識 4UFQ̏σʔλαΠζͷઃఆɼׂ αΠζΛ✖ʹ͠ɼτϨʔχϯάͱςετʹׂ
$ #SBOEJOH&OHJOFFS*OD 演習:CNNによる⼿書き⽂字認識 4UFQֶ̐शʹ༻͍Δ$//Ϟσϧͷߏங
$ #SBOEJOH&OHJOFFS*OD 演習:CNNによる⼿書き⽂字認識 4UFQ࣮̑ࡍͷֶशΛߦ͏
$ #SBOEJOH&OHJOFFS*OD 演習1:CNNによる⼿書き⽂字認識 ࣮ߦ݁Ռ
$ #SBOEJOH&OHJOFFS*OD Thank You