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
980
ゼロから作る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.3k
試験に絶対出ない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
870
高精度名寄せシステムを支える テキスト処理 (の、ほんのさわり)
dproject21
3
2.4k
ゼロから作るDeepLearning 第5章 誤差逆伝播法による重み更新を追ってみる
dproject21
0
1.1k
ゼロから作るDeepLearning 第6章ざっくりまとめ
dproject21
2
1.3k
Other Decks in Science
See All in Science
Transformers are Universal in Context Learners
gpeyre
0
650
生成AI による論文執筆サポートの手引き(ワークショップ) / A guide to supporting dissertation writing with generative AI (workshop)
ks91
PRO
0
360
240510 COGNAC LabChat
kazh
0
170
小杉考司(専修大学)
kosugitti
2
590
マテリアルズ・インフォマティクスの先端で起きていること / What's Happening at the Cutting Edge of Materials Informatics
snhryt
1
160
解説!データ基盤の進化を後押しする手順とタイミング
shomaekawa
1
380
【健康&筋肉と生産性向上の関連性】 【Google Cloudを企業で運用する際の知識】 をお届け
yasumuusan
0
420
Valuable Lessons Learned on Kaggle’s ARC AGI LLM Challenge (PyDataGlobal 2024)
ianozsvald
0
150
【人工衛星】座標変換についての説明
02hattori11sat03
0
150
Snowflakeによる統合バイオインフォマティクス
ktatsuya
PRO
0
560
統計学入門講座 第1回スライド
techmathproject
0
180
ベイズ最適化をゼロから
brainpadpr
2
970
Featured
See All Featured
Fireside Chat
paigeccino
34
3.1k
Designing Experiences People Love
moore
139
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Visualization
eitanlees
146
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
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