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
990
ゼロから作る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
3.4k
JSTQB Advanced Level 模擬問題作成方法 / methodology to questions creation for JSTQB advanced level
dproject21
3
1.4k
試験に絶対出ないJSTQB AL TA,TM問題 / Questions that will never be given on the exam of JSTQB advanced level
dproject21
0
1.4k
The official zip code book is terrible. And what should I do with the address you wrote.
dproject21
0
170
TDD applied Data Cleansing
dproject21
0
1.8k
Data preprocessing for MachineLearning/BI by Golang and MySQL UDF
dproject21
1
880
高精度名寄せシステムを支える テキスト処理 (の、ほんのさわり)
dproject21
3
2.5k
ゼロから作るDeepLearning 第5章 誤差逆伝播法による重み更新を追ってみる
dproject21
0
1.1k
ゼロから作るDeepLearning 第6章ざっくりまとめ
dproject21
2
1.3k
Other Decks in Science
See All in Science
はじめての「相関と因果とエビデンス」入門:“動機づけられた推論” に抗うために
takehikoihayashi
17
7.3k
ACL読み会2024@名大 REANO: Optimising Retrieval-Augmented Reader Models through Knowledge Graph Generation
takuma_matsubara
0
140
3次元点群を利用した植物の葉の自動セグメンテーションについて
kentaitakura
2
880
Machine Learning for Materials (Challenge)
aronwalsh
0
100
Spectral Sparsification of Hypergraphs
tasusu
0
250
私たちのプロダクトにとってのよいテスト/good test for our products
camel_404
0
250
How were Quaternion discovered
kinakomoti321
2
1.2k
Tensor Representations in Signal Processing and Machine Learning (Tutorial at APSIPA-ASC 2020)
yokotatsuya
0
110
学術講演会中央大学学員会八王子支部
tagtag
0
270
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
130
As We May Interact: Challenges and Opportunities for Next-Generation Human-Information Interaction
signer
PRO
0
380
重複排除・高速バックアップ・ランサムウェア対策 三拍子そろったExaGrid × Veeam連携セミナー
climbteam
0
190
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Building Your Own Lightsaber
phodgson
104
6.2k
BBQ
matthewcrist
87
9.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
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