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
Deep Learning入門
Search
Ryosuke Uchiyama
June 24, 2018
Programming
35
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
58
PythonでSlack通知botを作る
step63r
0
22
ChatGPT実践
step63r
1
380
IoT実践! 行先予定表を電子ペーパーで作る
step63r
0
31
React x Socket.ioで人狼サーバを作る 第一章 フロントエンド実装
step63r
0
25
深層強化学習で東方AI 第一章 DQNの基本
step63r
0
300
Build 2021 プレイバック
step63r
0
38
WPFで実践アプリ開発! 第四章 機能の実装 Part 2
step63r
0
53
WPFで実践アプリ開発! 第三章 機能の実装 Part 1
step63r
0
130
Other Decks in Programming
See All in Programming
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
900
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
840
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
400
どこまでゆるくて許されるのか
tk3fftk
0
520
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
2
620
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
1
250
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
100
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
150
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
270
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
630
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
180
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
730
Marketing to machines
jonoalderson
1
5.6k
Facilitating Awesome Meetings
lara
57
7k
The Language of Interfaces
destraynor
162
27k
Mind Mapping
helmedeiros
PRO
1
290
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
400
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
How to build a perfect <img>
jonoalderson
1
5.8k
Utilizing Notion as your number one productivity tool
mfonobong
4
450
Speed Design
sergeychernyshev
33
1.9k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Balancing Empowerment & Direction
lara
6
1.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!!