iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
AI & Data

【30天之新手學習筆記】PyTorch系列 第 20

Day 20 - 卷積神經網路(CNN)的介紹

  • 分享至 

  • xImage
  •  

首先我們先來聊聊為什麼要使用卷積神經網路(CNN),這類型的神經網路主要是用來處理圖片的分類問題,也不是說所有的圖片分類問題都只能使用卷積神經網路,對於單色、小尺寸的圖片而言,利用全連接神經網路便能達成圖片分類的問題.而在處理大尺寸且顏色豐富的圖片時,由於特徵值的量會變得更多及權重參數也會增加(網路結構過於複雜),而我們給的訓練資料不足時,很容易在訓練時發生過擬合(Overfitting)的問題.

卷積神經網路的執行步驟

  1. 輸入待處理的圖片資料
  2. 卷積層(Convolution Layer)的運算
  3. 池化層(Pooling Layer)的運算
  4. 密集層(Dense Layer)的運算
  5. 得到欲獲取的結果

卷積層的運算

https://ithelp.ithome.com.tw/upload/images/20221006/20152671Kzg5yp93Zx.png

上圖為卷積層運算過程的步驟拆解,其中3x3的矩陣代表著我們將輸入圖片預設為3x3像素,而2x2的矩陣則代表著我們要使用的過濾器(卷積核),進行一系列的卷積層運算,我們可以得到一個新的2x2矩陣代表著一張新圖片稱為特徵圖(Feature map).

彩色圖片的卷積運算示意圖

https://ithelp.ithome.com.tw/upload/images/20221006/20152671ZWU2YepSSw.png

池化層的運算

https://ithelp.ithome.com.tw/upload/images/20221006/201526713C8bxJ17FJ.png

池化層主要的功能用於對卷積層輸出的特徵圖去進行重點的挑選,池化主要有兩種分別為平均池化(Average Pooling)最大池化(Max Pooling),但從結果的層面來看功能都是用於縮小特徵值的尺寸.
從上圖中得知我們指定一個2x2的池化尺寸(pooling-size)作為檢視窗口,檢視窗口會將特徵圖分割成數個區域,再取各區域的代表值,產生新的特徵圖.


參考資料:


上一篇
Day 19 - 分類(Classification)介紹與實作
下一篇
Day 21 - 卷積神經網路的實作
系列文
【30天之新手學習筆記】PyTorch30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言