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
【深度學習】04 圖形辨識的天王 CNN
Search
[email protected]
March 28, 2022
Technology
0
250
【深度學習】04 圖形辨識的天王 CNN
2022 政大應數「數學軟體應用」深度學習課程 04
[email protected]
March 28, 2022
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
【深度學習】08 強化學習
yenlung
0
360
Contrastive Self-Supervised Learning
yenlung
0
420
【深度學習】07 生成模式和 GAN
yenlung
0
380
【深度學習】06 RNN 實務與 Transformers
yenlung
0
320
【深度學習】05 有記憶的神經網路 RNN
yenlung
0
140
【深度學習】03 神經網路是怎麼學的
yenlung
0
190
【深度學習】02 AI 就是問個好問題
yenlung
0
190
咖啡沖煮簡介
yenlung
0
1.2k
深度學習入門
yenlung
0
380
Other Decks in Technology
See All in Technology
Wantedly での Datadog 活用事例
bgpat
1
430
C++26 エラー性動作
faithandbrave
2
700
Qiita埋め込み用スライド
naoki_0531
0
860
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
13
3.6k
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
160
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
260
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
430
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
100
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
2
2.2k
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
470
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
220
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
66
4.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
What's in a price? How to price your products and services
michaelherold
243
12k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Optimising Largest Contentful Paint
csswizardry
33
3k
Unsuck your backbone
ammeep
669
57k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Raft: Consensus for Rubyists
vanstee
137
6.7k
A better future with KSS
kneath
238
17k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Transcript
政⼤應數。數學軟體應⽤ 蔡炎龍 圖形辨識的天王 CNN 政治⼤學應⽤數學系 深度學習入⾨ 04.
圖形辨識天王 CNN 10.
數學軟體應⽤ 193 卷積神經網路 CNN Convolutional Neural Networks 圖形辨識的超級天王
數學軟體應⽤ 194 圖形辨識有太多的應⽤ f “台灣⿊熊” 動物識別。
數學軟體應⽤ 195 圖形辨識有太多的應⽤ π 往左 ⽤電腦玩遊戲。
數學軟體應⽤ 196 深度學習三巨頭 Geoffrey Hinton Yann LeCun Yoshua Bengio 博⼠後學⽣
博⼠後共事
數學軟體應⽤ 197 Yann LeCun 1987 Universite Pierre et Marie Curie
(巴黎第六⼤學) 資訊科學博⼠ University of Toronto 博⼠後研究 1988- Bell 實驗室 2003 NYU 教授 2013 Facebook AI Director Yann LeCun 博⼠就研究 ConvNet (不全連結的神經網路)
數學軟體應⽤ 198 救了神經網路功⾂之⼀ CNN ⼤約 1995 年, ⼤家 對神經網路失去了 興趣...
LeCun
數學軟體應⽤ 199 救了神經網路功⾂之⼀ CNN 只要別的⽅法更好、 甚⾄⼀様好, ⼤家就 不想⽤神經網路! Hinton 神經網路吃虧的地⽅...
數學軟體應⽤ 200 救了神經網路功⾂之⼀ CNN 圖形辨識 SVM 強強的! 比如 2011 ImageNet
⼤型圖 形辨識比賽冠軍: XRCE
數學軟體應⽤ 201 救了神經網路功⾂之⼀ CNN 圖形辨識進入 CNN 時代! AlexNet 2012 ImageNet
⼤型圖 形辨識比賽冠軍, 狂勝 XRCE!
數學軟體應⽤ 202 CNN 經典作品 這些都是 Tensorflow 準備 好可以給你⽤的! InceptionV3 GoogLeNet,
V1 是 2014 冠軍 VGG16/VGG19 2014 亞軍 ResNet50 2015 冠軍
數學軟體應⽤ 203 CNN 的兩種隱藏層 卷積層 (convolutional layer) 池化層 (pooling layer)
CNN 特有兩種隱 藏層的形式, ⼀般 兩種都會⽤到。
數學軟體應⽤ 204 卷積層 Convolutional Layer 1 Convolutional Layer 卷積層 CNN
的核⼼!
數學軟體應⽤ 205 設計卷積層 設計⼀層卷積層, 我們只需要... 幾個 filter 每個 filter 的⼤⼩
(比如 ) 3 × 3 1 2 簡單!
數學軟體應⽤ 206 Filter 的作⽤ 每個 filter 看⼀個特徵, 掃過每⼀個點, 紀錄該點附近的「特徵強度」。於是 紀錄在⾃⼰的「記分板」上。
filter 1 filter 2 input 記分板 記分板
數學軟體應⽤ 207 Filter 卷積的運算 d 11 d 12 d 13
d 14 d 21 d 22 d 23 d 24 d 31 d 32 d 33 d 34 d 41 d 42 d 43 d 44 … input [ 0 1 0 0 1 0 0 1 0] * filter ⼀個 filter 就像個權 做加 權和, 也就是內積 (dot product)。 d 11 × 0 + d 12 × 1 + d 13 × 0 + d 21 × 0 + d 22 × 1 + d 23 × 0 + d 31 × 0 + d 32 × 1 + d 33 × 0 =
數學軟體應⽤ 208 Filter 卷積的運算 2 5 5 2 5 2
0 1 2 3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 想成這是⼀張圖所成的矩陣 filter 內積 這學來的 W= ⼀個 filter 就看 ⼀個特徵, 紀錄在 記分板上。 記分板
數學軟體應⽤ 209 Filter 卷積的運算 同⼀個 filter, 當 然矩陣 (權 )
是 ⼀樣的。 記分板 2 5 5 2 5 2 0 1 2 3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 filter 右移⼀格 還是⼀樣的矩陣 W=
數學軟體應⽤ 210 Filter 卷積的運算 掃到最後, 完成這個 filter 的計分板。 要注意的是, 這內積的
部份只有我們原本的加 權和, 事實上還是要加 上偏值、經激發函數轉 換送出! 記分板 2 5 5 2 5 2 0 1 2 3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 filter ⼀路到最後 W=
數學軟體應⽤ 211 為什麼卷積會抽取特徵? [ 0 1 0 0 1 0
0 1 0] 0 1 0 0 1 0 0 1 0 [ 1 0 0 0 1 0 0 0 1] 3分 1分 Filter 1 Filter 2 圖 我們來看同⼀張圖,對兩 個不同的 filter 運算的 結果。 可以看出⼀樣的會得⾼ 分!
數學軟體應⽤ 212 為什麼卷積會抽取特徵? [ 0 1 0 0 1 0
0 1 0] 1 0 0 0 1 0 0 0 1 [ 1 0 0 0 1 0 0 0 1] Filter 1 Filter 2 圖 3分 1分 換另⼀張圖發現, 真的 像的會得到⾼分!
數學軟體應⽤ 213 卷積層其實神經元動作是⼀樣的! 我們⾺上會發現, 卷積層其 實只是「不完全連結」的 神經網路, 神經元的運算⽅ 式是⼀樣的!
數學軟體應⽤ 214 輸入的圖每個像素可當成⼀個神經元 2 5 5 2 5 2 0
1 2 3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 filter 圖片上的點是⼀個個輸入層 神經元 W=
數學軟體應⽤ 215 記分板也是⼀個個神經元組成 2 5 5 2 5 2 0
1 2 3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 filter Conv 層也是⼀個個神經元 W= 記分板每⼀個分數的位 ⼦也是⼀個神經元。
數學軟體應⽤ 216 不是完全連結的神經網路 記分板⼀個數字 (⼀個 神經元) 只和輸入的九 個神經元相連。 2 5
5 2 5 2 0 1 2 3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 filter 兩層中沒有完全相連 W=
數學軟體應⽤ 217 權 是相同的 (對同⼀個 filter) 2 5 5 2
5 2 0 1 2 3 4 0 4 2 1 5 4 3 1 3 5 5 4 3 5 3 4 5 0 2 1 5 2 3 1 1 1 0 1 3 4 4 1 1 5 1 1 4 2 3 2 2 0 4 2 4 0 5 4 5 3 4 1 4 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 filter 再來 share 同樣的 weights W=
數學軟體應⽤ 218 記分板的⼤⼩ 注意⼀張原本 的圖, 經⼀個 ⼤⼩的 filter 卷積, 會得到差
不多⼤⼩ 記分板! ⽽且再來我們會討論到, 我們甚⾄ 更喜歡把記分板做成和原本圖的⼤ ⼩⼀樣。 那要是我們有 10 個記分板, 不就⼗ 倍的數據 !? 8 × 8 3 × 3 6 × 6 35 27 44 32 36 38 36 36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40
數學軟體應⽤ 219 記分板的⼤⼩ 1 0 0 0 0 1 0
0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 [ 0 1 0 0 1 0 0 1 0] Filter 1 0 0 0 0 0 0 0 0 0 圖 記分板 padding="valid" 如前述的掃描⽅式, 記分板 比原來圖略⼩, 但邊緣常會 掃不到 (像本例中的直線)。
數學軟體應⽤ 220 記分板的⼤⼩ 我們喜歡把原圖外⾯加圈 0, 讓記分板和原圖⼤⼩⼀ 樣! 注意這次有「看到」直線 了。 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 [ 0 1 0 0 1 0 0 1 0] Filter 1 2 0 0 0 0 3 0 0 0 0 3 0 0 0 0 3 0 0 0 0 2 0 0 0 0 圖 記分板 padding="same" 外⾯加圈 0! 注意和原 圖⼀樣⼤!
數學軟體應⽤ 221 池化層 Pooling Layer 2 Max-Pooling Layer 最⼤池化層 決定區域特性
數學軟體應⽤ 222 設計池化層 設計⼀層池化層, 我們只需要... 決定多⼤的池化區域 (比如 ) 2 ×
2 ⽤哪種池化⽅式 (最常⽤取極⼤值) 1 2
數學軟體應⽤ 223 Max-Pooling 35 27 44 32 36 38 36
36 37 36 36 43 37 37 23 26 17 35 29 25 22 18 14 27 27 25 24 21 24 32 31 38 27 34 25 40 36 44 43 37 26 35 38 34 40 每區選出最⼤的!! 這樣記分板 瞬間變⼩!
數學軟體應⽤ 224 常⾒ CNN 設計架構 Conv Max- Pooling Dense Max-
Pooling Max- Pooling Conv Conv 可以不斷 覆卷積、池化、卷積、池化... 最後再 接全連結神經網路總結。
數學軟體應⽤ 225 要問題 Conv 層的 filter 要 越來越多還越來越 少呢?
數學軟體應⽤ 226 標準 CNN 應⽤ f 感染/未感染 Differentiation of Cytopathic
Effects Induced by Influenza Virus Infection Using Deep Convolutional Neural Networks Ting-En Wang, Tai-Ling Chao, Hsin-Tsuen Tsai, Pi-Han Lin, Yen-Lung Tsai, Sui-Yuan Chang 流感檢測。