卷積神經網路(CNN)在影像辨識中的應用

閱讀時間約 4 分鐘

卷積神經網路Convolutional Neural Networks(CNN)是專門使用在與影像有關的網路。

Image classification

在影像辨識中,我們通常採用one-hot vector表示不同的類別。

EX: 狗: [1 0 0......]T, 貓: [0 1 0......]T, 鳥: [0 0 1]T,...。 可以辨識幾種,就會有幾種dimension。

我們可以先了解一下圖片的組成: 一張圖片擁有3維的tensor。一維長一維寬,剩下一維是Channel。那Channel由RGB三種顏色組成,所以是3 CH。

那只要我們能將圖片轉換成向量,就能成為model的輸入。所以根據我們擁有的長寬和Channel,我們將這三個元素拉長成向量,每一維以顏色的解析度強度做為輸入數值。

Ex: 假設長:100, 寬: 100。

則向量則變成[R1 R2 R3 ... R100 G1 G2 G3 ... G100 B1 B2 B3 ... B100]T

接著我們將向量套入到Fully Connected Network,就會有100x100x3個xi做為輸入的長度。

那再假設我們有1000個neuron,那同時我們就會擁有1000x100x100x3個Weight。


Receptive Field

但這麼多weight有可能造成overfitting的風險。而在影像本身,我們也不一定需要使用fully connected Network,也就是不需要每個input 的dimension都考慮,不需要每個dimension都配給一個weight。

-> 我們可以根據影像中某些Patten進行觀察,去決定結果是什麼動物。這樣的話就不需要看完整的圖片,只要專注在特定位置即可。而這些特定位置我們稱為Receptive field,由使用者決定。

那這些Receptive field可大可小,也可以選擇重複的Receptive field,甚至只考慮某一個Channel也可以。

raw-image


Typical Setting

以下是一些典型的recptive field的設定:

  1. 卷積核(Kernel)設定: 卷積核就類似於Filter,用於圖片特定範圍擷取出來,此例我們假設範圍為3x3。通常我們會直接表示3x3,因為不至於只考慮特定一個channel,通常三個Channel都會考慮。
  2. 通常一個Receptive Field會有多個Neuron去守備它(ex: 64 neurons)
  3. 移動(stride)Receptive Field 以達到重疊 → 避免某個pattern卡在中間變成沒有neurons可以去偵測。那如果超過邊界的話,我們就會設定0或是平均值為數值。


Parameter Sharing

但會有個問題,就是如果neuron偵測的特徵不在我們預設的recptive field範圍內怎麼辦?如果我們把每一塊Rceptive field都加上一樣的特徵偵測,那會不會有太多weight了?所以這時候就可以使用Parameter Sharing的機制。

讓兩個recptive field都共享同樣的weight W1, W2, W3, ...。那只要是被共享的參數,我們會稱為filter,所以可以把W1, W2, W3稱為filter1, filter2, filter3

*老師的舉例:假設每個系都需要學習跟程式相關的課程,總不能讓每個系都開程式的課,會耗費太多資源,但我們可以開設通用課程,讓需要的系所都可以選擇。


總結:Receptive field + Parameter Sharing = CNN


Multiple Convolutional Layers

所以假設我們有64個neuron,那最後就會與圖片交互後,產生64組數值。那在過程中,我們也可以假設產生出的64組數值疊加起來成為新的圖片,再疊加一層,對這一層使用相同的filter進行分析。重複這樣的方式,其實同時也會偵測到越來越大範圍的圖片內容,而不會只是一開始的3x3。


Pooling

Pooling是一種過將圖片縮小,但內容完全沒變的方法。之前會與CNN搭配使用以節省計算量。

作法與過程:

  1. 通過每個filter產生一組組數字
  2. 將每組數字都分成更小組的數字:4x4為一組的數字 -> 分為2x2為一組的數字
  3. 再從每一組中選出最大的那個(也不一定要是最大)
  4. 藉此就會得到較小的圖片 → 但還是會有瑕庛,因為一直不斷地subsampling。
  5. 但pooling只是單純為了減少計算量 -> 現在通常不用,因為硬體設備可支持CNN
  6. 最後再通過flatten,把原本矩陣全部拉直,才能進到Fully Connected Layers,得到我們的結果。


以上是關於今天的CNN課程整理~






1會員
37內容數
留言0
查看全部
發表第一個留言支持創作者!
dab戴伯的沙龍 的其他內容
本文介紹了在深度學習中使用Batch Normalization來解決error surface複雜性的問題。通過特徵歸一化來加速收斂速度和訓練順利程度。同時,也提到了在測試階段使用moving average計算平均值和標準差的方法。
瞭解如何透過Regression實作Classification,使用one-hot vector表示不同的類別,並透過乘上不同的Weight和加上不同的bias來得到三個數值形成向量。同時通過softmax的方式得到最終的y'值,並探討使用Cross-entropy來計算類別的loss。
瞭解梯度下降算法中的學習速率調整,包括為什麼需要動態的學習速率、Root Mean Square、RMSProp、最常用的optimization策略Adam,以及如何進行Learning rate Scheduling。
本文將介紹batch的定義與其在機器學習中的作用,以及不同batch size 的影響。同時也會講解Momentum動量在機器學習中的重要性。透過本文,您將清楚地瞭解batch、batch size和Momentum動量的概念以及其對機器學習的影響。
之前有提到有時我們在微分之後會得到gradient = 0的值,就以為我們已經找到最小值,但其實它只是local minima。 那這一節主要想跟大家分享我們要怎麼區分是不是Local Minima。
這篇文章介紹瞭如何使用sigmoid函數來解決函數過於簡單導致的模型偏差問題,並透過尋找函數和參數來逼近precise linear curve。另外,也講述瞭如何尋找讓損失函數最小的參數以及使用batch和反覆進行Sigmoid的方法。
本文介紹了在深度學習中使用Batch Normalization來解決error surface複雜性的問題。通過特徵歸一化來加速收斂速度和訓練順利程度。同時,也提到了在測試階段使用moving average計算平均值和標準差的方法。
瞭解如何透過Regression實作Classification,使用one-hot vector表示不同的類別,並透過乘上不同的Weight和加上不同的bias來得到三個數值形成向量。同時通過softmax的方式得到最終的y'值,並探討使用Cross-entropy來計算類別的loss。
瞭解梯度下降算法中的學習速率調整,包括為什麼需要動態的學習速率、Root Mean Square、RMSProp、最常用的optimization策略Adam,以及如何進行Learning rate Scheduling。
本文將介紹batch的定義與其在機器學習中的作用,以及不同batch size 的影響。同時也會講解Momentum動量在機器學習中的重要性。透過本文,您將清楚地瞭解batch、batch size和Momentum動量的概念以及其對機器學習的影響。
之前有提到有時我們在微分之後會得到gradient = 0的值,就以為我們已經找到最小值,但其實它只是local minima。 那這一節主要想跟大家分享我們要怎麼區分是不是Local Minima。
這篇文章介紹瞭如何使用sigmoid函數來解決函數過於簡單導致的模型偏差問題,並透過尋找函數和參數來逼近precise linear curve。另外,也講述瞭如何尋找讓損失函數最小的參數以及使用batch和反覆進行Sigmoid的方法。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
113報稅季開跑啦/📣時代不斷進步,手機報稅已成為現代生活的一部分。它不僅提供了方便快速的報稅方式,還能幫你節省寶貴的時間並避免延遲申報所帶來的麻煩。報稅季節裡,手機報稅是你高效申報的最佳選擇。利用手機報稅,你可以隨時隨地進行報稅,不再受限於時間和地點
Thumbnail
對於最常到全家消費的大人來說,當然也要放大才看得上、吃得飽,但我注意到的其實是激辛這字眼,腦中時時浮現:「一個麵包可以辣到什麼地步?」
Thumbnail
AI 晶片龍頭輝達 (NVDA-US) 昨 (8) 日晚間舉辦 NVIDIA SIGGRAPH 2023,會中展示升級版的 GH200 超級晶片,將是全球第一顆搭載 HBM3e 的 GPU,預計明年第二季進入量產。
Thumbnail
白茫茫的一片, 實在令人陷入童話中的美好。 殊不知等待你的居然是"我要看到雪流成河~~~~"
Thumbnail
GPG神遊礦寵是一款培養礦寵的放置型遊戲,主打培養喜歡的小礦寵每日幫你挖礦,有機會可以獲得多項獎品(iPhone、GOGORO),免費註冊,通過新手教學馬上就會有第一隻狗狗巴特了!
Thumbnail
  卷積神經網路(Convolutional Neural Networks,CNN),其應用包括影像辨識、自然語言處理(NLP)等領域。若能從其發展至今的脈絡開始了解,必定可以更進一步地理解專案的想法,將該技術掌握得更得心應手。以下就其發展和結構分別詳細說明。 1. LeNet
Thumbnail
績效差,都是員工的問題嗎? 員工為什麼就是不乖乖做事? 看起來全是員工在擺爛? 感覺像帶到豬隊友? 他們真的是豬隊友嗎? 部屬表現不佳,問題可能出在主管身上? 領導者應該留意哪些事情呢? 📷 企業主經營魔法100招 📷 我們提供你簡單又實用的經營管理技巧
Thumbnail
        車禍發生往往是兩條平行線發生交叉時所產生的,這場車禍非常有趣,案件到我手上的時候已經是接近快兩年,所以在和解上有一定的壓力。我們稱肇事者為A車,停在待轉區的車輛依序分別為B、C及D車,一共是四台車,當A車行經路口時有遇到第一個小巷口,接著再經過約莫20公尺才撞上第一台B車,接著B車撞
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
113報稅季開跑啦/📣時代不斷進步,手機報稅已成為現代生活的一部分。它不僅提供了方便快速的報稅方式,還能幫你節省寶貴的時間並避免延遲申報所帶來的麻煩。報稅季節裡,手機報稅是你高效申報的最佳選擇。利用手機報稅,你可以隨時隨地進行報稅,不再受限於時間和地點
Thumbnail
對於最常到全家消費的大人來說,當然也要放大才看得上、吃得飽,但我注意到的其實是激辛這字眼,腦中時時浮現:「一個麵包可以辣到什麼地步?」
Thumbnail
AI 晶片龍頭輝達 (NVDA-US) 昨 (8) 日晚間舉辦 NVIDIA SIGGRAPH 2023,會中展示升級版的 GH200 超級晶片,將是全球第一顆搭載 HBM3e 的 GPU,預計明年第二季進入量產。
Thumbnail
白茫茫的一片, 實在令人陷入童話中的美好。 殊不知等待你的居然是"我要看到雪流成河~~~~"
Thumbnail
GPG神遊礦寵是一款培養礦寵的放置型遊戲,主打培養喜歡的小礦寵每日幫你挖礦,有機會可以獲得多項獎品(iPhone、GOGORO),免費註冊,通過新手教學馬上就會有第一隻狗狗巴特了!
Thumbnail
  卷積神經網路(Convolutional Neural Networks,CNN),其應用包括影像辨識、自然語言處理(NLP)等領域。若能從其發展至今的脈絡開始了解,必定可以更進一步地理解專案的想法,將該技術掌握得更得心應手。以下就其發展和結構分別詳細說明。 1. LeNet
Thumbnail
績效差,都是員工的問題嗎? 員工為什麼就是不乖乖做事? 看起來全是員工在擺爛? 感覺像帶到豬隊友? 他們真的是豬隊友嗎? 部屬表現不佳,問題可能出在主管身上? 領導者應該留意哪些事情呢? 📷 企業主經營魔法100招 📷 我們提供你簡單又實用的經營管理技巧
Thumbnail
        車禍發生往往是兩條平行線發生交叉時所產生的,這場車禍非常有趣,案件到我手上的時候已經是接近快兩年,所以在和解上有一定的壓力。我們稱肇事者為A車,停在待轉區的車輛依序分別為B、C及D車,一共是四台車,當A車行經路口時有遇到第一個小巷口,接著再經過約莫20公尺才撞上第一台B車,接著B車撞