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
Deep Learning入門
Search
Ryosuke Uchiyama
June 24, 2018
Programming
42
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Deep Learning入門
Ryosuke Uchiyama
June 24, 2018
More Decks by Ryosuke Uchiyama
See All by Ryosuke Uchiyama
AWSでサーバレスな書籍管理アプリを作る
step63r
0
74
PythonでSlack通知botを作る
step63r
0
24
ChatGPT実践
step63r
1
400
IoT実践! 行先予定表を電子ペーパーで作る
step63r
0
54
React x Socket.ioで人狼サーバを作る 第一章 フロントエンド実装
step63r
0
36
深層強化学習で東方AI 第一章 DQNの基本
step63r
0
430
Build 2021 プレイバック
step63r
0
45
WPFで実践アプリ開発! 第四章 機能の実装 Part 2
step63r
0
63
WPFで実践アプリ開発! 第三章 機能の実装 Part 1
step63r
0
140
Other Decks in Programming
See All in Programming
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
430
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
0
1.4k
Domain-Driven Transformation
hschwentner
2
2.3k
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
すこし踏み込む CancellationToken
htkym
2
1.7k
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
ジョジョの世界をXRで再現する
mofurune
0
170
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
The Rails Doctrine Decade
koic
2
590
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Writing Fast Ruby
sferik
630
63k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Scaling GitHub
holman
464
140k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Transcript
Deep Learning入門 2018年6月24日 内山 良介 step63r
「AIは単なるプログラムではない」
「AIは勝手に賢くなる」
「いずれ人間 vs AIの戦争が起こる」
ありません
AIとは
Artificial Intelligence Machine Learning Deep Learning
Artificial Intelligence • 弱いAI • 特化型AI • 汎用型AI • 強いAI
Machine Learning • 教師あり学習 • 回帰 • 分類 • 教師なし学習
• クラスタリング • 強化学習
Deep Learning • DNN (Deep Neural Network) • CNN (Convolutional
Neural Network) • RNN (Recurrent Neural Network)
AIとは、認知の真似ごとである
認知 (Recognition) これはネコです これはネコです 人間 AI 四足歩行 ヒゲがある もふもふ
Deep Learningとは
Deep Learningとは、脳神経を真似したものである
ニューロン ニューロン (神経細胞) 2 1 3 1 2 3 モデル化
数理モデル化されたニューロン
人間は「経験」と「確率」で認知している まっすぐだから「1」かな? 上に横棒があるから「7」にも見える 折り返しがあるのは「9」である可能性も高い
神経伝達を活性化関数として模造 ニューロン (神経細胞) 2 1 3 1 2 3 モデル化
数理モデル化されたニューロン 活性化関数
活性化関数の例 シグモイド関数
活性化関数の例 ハイパボリックタンジェント
活性化関数の例 ステップ関数
活性化関数の例 ReLU関数
ニューラルネットワーク 入力層 中間層 出力層 活性化関数
出力層の設計 恒等関数
出力層の設計 ソフトマックス関数
Demo PythonによるNeural Networkの実装
分析プロセスの3要素
分析プロセスの3要素 訓練 Training テスト Testing 検証 Validation
分析プロセスの3要素 訓練 Training テスト Testing 検証 Validation
訓練とは 入力 モデル 出力 入力データを学習し、 モデルを構築
学習モデルの抽象化 = 0 0 + 1 1 + 2 2
+ 3 3 + 4 4 + 5 5 + ⋯ + 重み(入力の重要度) 入力データ 確率的なアウトプット バイアス
訓練とは、パラメータ決めである
確率的勾配降下法(SGD) 損失関数が最小値を取る値(重み)を求める 0 = 0 − 0 1 = 1
− 1 損失関数 に対する の偏微分
SGDによる 0 2 + 1 2 の最小値近似
分析プロセスの3要素 訓練 Training テスト Testing 検証 Validation
過学習(Overfitting) 訓練データに対しては非常に高精度だが、 テストデータに対してほとんど対応できていない 過学習
ハイパーパラメータ • 各層のニューロンの数 • バッチサイズ(繰り返し回数) • 学習係数 • 荷重減衰 過学習を抑制するためにはハイパーパラメータの調整が必要
ハイパーパラメータ
検証とは 入力 モデル 出力 未使用の 入力 出力 作成したモデルのハイパーパラメータが 妥当かどうかを確認
損失関数 2乗和誤差 = 1 2 − 2 クロスエントロピー誤差 =
− log
分析プロセスの3要素 訓練 Training テスト Testing 検証 Validation
テストとは 入力 学習済み モデル 出力 未知の 入力 出力 作成したモデルを利用し、 未知の入力でも期待通りの精度となることを確認
検証と何が違うのか 検証 テスト About Train, Validation and Test Sets in
Machine Learning 検証用データセット モデルのハイパーパラメータを調整する際に使われる。検証用データセットがモデルに組み込まれる と、より偏った評価になる可能性がある。 テスト用データセット 最終的なモデルに対して偏りなく評価するために使われる。
使うデータは 8:1:1 くらい 訓練 検証 テスト
パラメータの最適化
重み・バイアスの最適化 重みとバイアスを最適化したい(前提) ミニバッチの損失関数を最小化する SGDの勾配を計算する 重みとバイアスを更新する
ハイパーパラメータの最適化 ハイパーパラメータの範囲を予め設定しておく 検証データで精度を評価する 設定した範囲からランダムにサンプリングする 過学習を抑制しつつ、再学習する
Demo Neural Network Consoleを使ってみる
None
Appendix
参考文献 ゼロから作るDeep Learning Pythonで学ぶディープラーニングの理論と実装 O’Reilly Japan 2016年9月 斎藤 康毅
参考文献 • ディープラーニング(Deep Learning)とは?【入門編】 | LeapMind BLOG • Choosing the
right estimator — scikit-learn 0.19.1 documentation • Rでisomap(多様体学習のはなし) • AIとは?AI(人工知能)とDeep Learning(深層学習)を簡単に説明 • 【Deep Learning with Python】機械学習の基礎 - Going Faraway • なぜ教師あり学習でバリデーションセットとテストセットを分ける必要があるのか? - Qiita • About Train, Validation and Test Sets in Machine Learning • [ディープラーニング] 活性化関数 – Tech Memo • 文系にもわかるニューラルネットワークコンソール入門:「affine」って何? – Shelitas • 強化学習入門 ~これから強化学習を学びたい人のための基礎知識~ - Platinum Data Blog by BrainPad • AIを知るための4つの類型 「特化型」と「汎用型」、「強い」と「弱い」 | MUFG Innovation Hub • 心や意識の謎、脳科学はここまで近づいた|出世ナビ|NIKKEI STYLE • 損失関数について、ざっくりと考える - Qiita • 再帰型ニューラルネットワーク: RNN入門 - Qiita • 活性化関数のまとめ(ステップ、シグモイド、ReLU、ソフトマックス、恒等関数) - Qiita • ディープラーニング(深層学習)を理解してみる(活性化/損失関数) - デジタル・デザイン・ラボラトリーな日々 • NumPyでニューラルネットワークを実装してみる 実装編 – DeepAge • Pythonでフレームワークを使わずにニューラルネットワークを実装 - かざん技術ブログ • Neural Network Console
Thank you!!