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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ryosuke Uchiyama
June 24, 2018
Programming
43
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Deep Learning入門
Ryosuke Uchiyama
June 24, 2018
Transcript
51 slides
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!!
More Decks by Ryosuke Uchiyama
See All by Ryosuke Uchiyama
AWSでサーバレスな書籍管理アプリを作る
step63r
0
78
PythonでSlack通知botを作る
step63r
0
25
ChatGPT実践
step63r
1
420
IoT実践! 行先予定表を電子ペーパーで作る
step63r
0
60
React x Socket.ioで人狼サーバを作る 第一章 フロントエンド実装
step63r
0
39
深層強化学習で東方AI 第一章 DQNの基本
step63r
0
450
Build 2021 プレイバック
step63r
0
46
WPFで実践アプリ開発! 第四章 機能の実装 Part 2
step63r
0
64
WPFで実践アプリ開発! 第三章 機能の実装 Part 1
step63r
0
140
Other Decks in Programming
See All in Programming
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
340
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
15
12k
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
170
自宅サーバはどこまで再現できるのか - Proxmox VE上のVM環境をIaCとバックアップで戻してみた
youto
0
170
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
180
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
310
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
4.4k
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
230
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.2k
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
210
Modernizing iOS Apps
seyfoyun
0
150
なぜ私たちは「現時点では」KMPの導入を見送ったのか
chigichan24
0
190
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
530
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
60k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Typedesign – Prime Four
hannesfritz
42
3.2k
Evolving SEO for Evolving Search Engines
ryanjones
0
360
Designing Experiences People Love
moore
143
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
800
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
2
520
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
560