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
ゼロから作るDeepLearning 第7章前半ざっくりまとめ
Search
dproject21
February 20, 2017
Science
0
880
ゼロから作るDeepLearning 第7章前半ざっくりまとめ
dproject21
February 20, 2017
Tweet
Share
More Decks by dproject21
See All by dproject21
ISTQB/JSTQBシラバスから学ぶAgileTesting / A guide of agile testing based on ISTQB syllabus
dproject21
4
3k
JSTQB Advanced Level 模擬問題作成方法 / methodology to questions creation for JSTQB advanced level
dproject21
3
1.2k
試験に絶対出ないJSTQB AL TA,TM問題 / Questions that will never be given on the exam of JSTQB advanced level
dproject21
0
1.3k
The official zip code book is terrible. And what should I do with the address you wrote.
dproject21
0
130
TDD applied Data Cleansing
dproject21
0
1.7k
Data preprocessing for MachineLearning/BI by Golang and MySQL UDF
dproject21
1
730
高精度名寄せシステムを支える テキスト処理 (の、ほんのさわり)
dproject21
3
2.3k
ゼロから作るDeepLearning 第5章 誤差逆伝播法による重み更新を追ってみる
dproject21
0
970
ゼロから作るDeepLearning 第6章ざっくりまとめ
dproject21
2
1.1k
Other Decks in Science
See All in Science
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
0
230
Science of Scienceおよび科学計量学に関する研究論文の俯瞰可視化_LT版
hayataka88
0
490
Yasuke
drawsbygba
0
610
History towards Universal Neural Network Potential for Material Discovery
matlantis
0
150
OptimizationNight~機械学習と数理最適化の融合~
hidenari
0
300
Machine Learning for Materials (Lecture 8)
aronwalsh
0
320
構造活性フォーラム2023-山﨑担当分
yamasakih
0
320
Non-Gaussian methods for causal discovery
sshimizu2006
0
180
名古屋市立大学データサイエンス学部 秋のオープンキャンパス模擬授業20231111
trycycle
0
1.3k
Machine Learning for Materials (Lecture 5)
aronwalsh
0
560
Transformer系機械学習モデルを取り巻くライブラリや用語を整理する
bobfromjapan
2
490
勉強会資料 / “Asymptotic Statistics” Section 3.1
asymptotic_minato
0
110
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
92
4.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
We Have a Design System, Now What?
morganepeng
44
6.8k
Producing Creativity
orderedlist
PRO
338
39k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Into the Great Unknown - MozCon
thekraken
14
1k
Being A Developer After 40
akosma
66
580k
Adopting Sorbet at Scale
ufuk
69
8.6k
Code Review Best Practice
trishagee
56
15k
Web development in the modern age
philhawksworth
203
10k
Side Projects
sachag
451
41k
Transcript
「ゼロから作るDeepLearning」 第7章前半ざっくりまとめ (7.3章「プーリング」まで) 2017.2.20 たのっち @dproject21
この本のざっくりまとめです • 「ゼロから作るDeepLearning」斎藤 康毅 著 オライリー・ジャパンより2016年9⽉ 発⾏ https://www.oreilly.co.jp/books/9784873117584/ • 公式サポートページ
https://github.com/oreilly-japan/deep-learning-from-scratch • 第7章「畳み込みニューラルネットワーク」前半部です。 (後半の実装については、次回、資料作ります。) https://deeplearning-yokohama.connpass.com/
第6章までやってきたニューラルネットワークは、 1次元データ(⽩⿊データ)を扱うのに向いていた。 畳み込みニューラルネットワークとは ⼊⼒ データ Affine ReLU Affine ReLU Affine
ReLU Affine Softmax 第7章で取り上げる畳み込みニューラルネットワークは、 3次元データ(カラー画像データ)を扱えるニューラルネットワーク。 ⼊⼒ データ Conv ReLU Pooling ReLU Affine Softmax Conv ReLU Pooling Conv ReLU Affine
畳み込みニューラルネットワークとは 畳み込みニューラルネットワークでは、 ・3次元データを扱う「畳み込み層(Convolutionレイヤ)」 ・特徴抽出を⾏う「プーリング層(Poolingレイヤ)」 が新たに加わる。 ・前半ではConv-ReLU-(Pooling)の組み合わせを⽤いる ・出⼒に近い層ではAffine-ReLUの組み合わせを⽤いる ・出⼒層ではAffine-Softmaxの組み合わせを⽤いる ⼊⼒ データ
Conv ReLU Pooling ReLU Affine Softmax Conv ReLU Pooling Conv ReLU Affine
畳み込み層とは 「畳み込み演算」(画像処理で⾔うところの「フィルタ演算」)を⾏う。 ⼊⼒データ(4, 4)に対してフィルタ(3, 3)の積和演算を⾏う。 1 2 3 0 0
1 2 3 3 0 1 2 2 3 0 1 2 0 1 0 1 2 1 0 2 ⊛ 15 16 6 15 ⼊⼒データ フィルタ 出⼒
畳み込み層とは 1 2 3 0 0 1 2 3 3
0 1 2 2 3 0 1 2 0 1 0 1 2 1 0 2 ⊛ 15 16 6 15 1 2 3 0 0 1 2 3 3 0 1 2 2 3 0 1 2 0 1 0 1 2 1 0 2 ⊛ 15 16 6 15 ⼊⼒データに対して、フィルタを⼀定の間隔でスライドさせながら、 演算を⾏う。
畳み込み層とは 1 2 3 0 0 1 2 3 3
0 1 2 2 3 0 1 2 0 1 0 1 2 1 0 2 ⊛ 15 16 6 15 1 2 3 0 0 1 2 3 3 0 1 2 2 3 0 1 2 0 1 0 1 2 1 0 2 ⊛ 15 16 6 15 ⼊⼒データに対して、フィルタを⼀定の間隔でスライドさせながら、 演算を⾏う。
畳み込み層とは バイアスは、フィルタ適⽤後のデータに対して加算する。 1 2 3 0 0 1 2 3
3 0 1 2 2 3 0 1 2 0 1 0 1 2 1 0 2 ⊛ 15 16 6 15 ⼊⼒データ フィルタ 出⼒ + 18 19 9 18 3 バイアス
畳み込み層とは 出⼒サイズを整えるために「パディング」を⽤いる。 ⼊⼒データの周囲を固定データ(0など)で埋める。 畳み込み演算を何度も⾏うとサイズが⼩さくなっていき、演算不能な状態に なっていく。これを回避するためにパディングを持ちいる。 1 2 3 0 0
1 2 3 3 0 1 2 2 3 0 1 2 0 1 0 1 2 1 0 2 ⊛ ⼊⼒データ フィルタ 出⼒ 7 12 10 2 4 15 16 10 10 6 15 6 8 10 4 3
畳み込み層とは フィルタの移動間隔を「ストライド」と呼ぶ。 ストライドを⼤きくすると、出⼒サイズは⼩さくなる。 パディングを⼤きくすると、出⼒サイズは⼤きくなる。 1 2 3 0 0 1
2 3 3 0 1 2 2 3 0 1 2 0 1 0 1 2 1 0 2 ⊛ ⼊⼒データ フィルタ 出⼒ 7 12 10 2 4 15 16 10 10 6 15 6 8 10 4 3
畳み込み層とは 3次元データの畳み込みを⾏う際は、チャンネルの数だけフィルタを⽤意して、 畳込み演算を⾏う。 ⊛ ⼊⼒データ フィルタ 出⼒
畳み込み層とは 各チャンネルごとに出⼒(特徴マップ)を⽤意したい場合、複数のフィルタを ⽤いる。 ⊛ ⼊⼒データ フィルタ 出⼒
プーリング層とは プーリングは縦・横⽅向の空間を⼩さくする演算。 あるサイズ(ここでは2×2)の領域から最⼤値を取って集約していく。 ※最⼤値だけでなく平均も扱えるが、画像認識の場合は主に最⼤値で⾏う。 1 2 3 0 0 1
2 3 3 0 1 2 2 3 0 1 2 1 2 3 0 0 1 2 3 3 0 1 2 2 3 0 1 2 3 4 1 2 3 0 0 1 2 3 3 0 1 2 2 3 0 1 2 3 1 2 3 0 0 1 2 3 3 0 1 2 2 3 0 1 2 3 4 2