這次終於能把cnn卷積神經網絡搞清楚了!

2024年2月6日 25点热度 0人点赞

卷積神經網絡(CNN)是一種強大的深度學習架構,非常適合圖像分類和對象識別任務。憑借自動提取相關特征、處理噪聲圖像和利用預訓練模型的能力,CNN 在一系列計算機視覺任務中展示了最先進的性能,在本文中我們將用簡單的術語來分解cnn。

什麼是卷積神經網絡 (CNN)?

卷積神經網絡(CNN)是一種用於圖像識別和處理的人工神經網絡,其靈感來自於動物視覺皮層的生物過程。它們由具有可學習權重和偏差的神經元組成。

CNN 在至少一個層中使用一種稱為卷積的技術,而不是一般的矩陣乘法,卷積是一種特殊的線性運算。

圖 1:具有多個卷積層的神經網絡

卷積神經網絡的工作原理:

CNN 將過濾器(小矩形)應用於輸入圖像以檢測邊緣或形狀等特征。濾波器在輸入圖像的寬度和高度上滑動,並計算濾波器和輸入之間的點積以生成激活圖。

激活圖被輸入池化層,對圖進行下采樣以降低維數。這使得模型更加高效和穩健。最後一層是全連接層,它將輸入圖像分類為“狗”或“貓”等類別。

一些流行的 CNN 架構包括 AlexNet、VGGNet、ResNet 和 Inception。這些已被用來解決復雜的問題,例如識別數千個物體或通過醫學掃描檢測疾病。

要構建 CNN,您可以通過選擇超參數(例如過濾器數量、過濾器大小、步幅和池化大小)來定義架構。

然後,您在大型數據集上訓練網絡並使用反向傳播來更新權重和偏差。

憑借足夠的數據和計算能力,CNN 可以在許多視覺任務上實現超人的性能。

CNN 徹底改變了計算機視覺,並被 Google、Facebook 等公司用來增強應用程序和服務中的圖像識別能力。

它們已成為任何機器學習從業者不可或缺的工具。

圖 2:卷積神經網絡 — CNN 架構

卷積神經網絡的層數:

1. 卷積層

卷積層對輸入應用卷積運算,在整個圖像上傳遞濾波器。該過濾器檢測圖像中的邊緣或曲線等特征。多個過濾器可以檢測不同的特征。

卷積運算結合輸入和濾波器來創建特征圖。這顯示了檢測到的特征的位置和強度。通過堆疊多個卷積層,網絡可以檢測更高級別、更復雜的特征。
卷積運算將輸入和濾波器組合在一起,以創建特征圖。這顯示了檢測到的特征的位置和強度。通過堆疊多個卷積層,網絡可以檢測更高層次和更復雜的特征。

圖 3:卷積層

2.池化層

池化層插入到卷積層之間。他們對特征圖進行下采樣,以減少參數數量、控制過度擬合並使網絡對小平移保持不變。

最常見的類型是 max pooling(取內核中的最大值)和 average pooling(取平均值)。池化圖層對特征圖進行子采樣,僅保留最重要的信息。

通過巧妙地堆疊多個卷積層和池化層,CNN可以學習檢測圖像中的復雜特征,如面部、物體、場景等。然後,最終卷積層的輸出被展平為單個向量,並傳遞到全連接層分類。

空間池化也稱為子采樣或下采樣,它降低了每個地圖的維度,但保留了重要信息。空間池可以有不同的類型:

  • 最大池化 最大池化
  • 平均池化 平均池化
  • 總和池 總和池化

圖 4:MaxPooling 層 圖 4:MaxPooling 層

3.激活層:

激活層將非線性激活函數(例如ReLU 函數)應用與池化層的輸出、此函數有助於將非線性引入模型,使其能夠學習輸入數據的更復雜的表示。

圖 5:激活層

掌握了卷積層和池化層的基礎知識後,你已經了解了 CNN 的基礎知識

4.歸一化層:

歸一化層執行歸一化操作,例如批量歸一化或層歸一化,以確保每層的激活條件良好並防止過度擬合。

圖 6:不同類型的標準化圖

5.Dropout 層:

Dropout 層用於通過在訓練過程中隨機丟棄神經元來防止過度擬合。這有助於確保模型不會記住訓練數據,而是泛化到新的、未見過的數據。

圖 7:Dropout 層如何工作?

6.致密層:

卷積層和池化層從輸入圖像中提取特征後,可以使用密集層來組合這些特征並做出最終預測。在CNN 中,密集層通常是最後一層,用於生成輸出預測。前幾層的激活被展平並作為輸入傳遞到密集層,密集層執行輸入的加權和並應用激活函數來產生最終輸出。

圖 8:致密層

卷積神經網絡的好處、優勢

  1. 特征提取: CNN 能夠自動從輸入圖像中提取相關特征,從而減少手動特征工程的需要。
  1. 空間不變性: CNN 可以識別圖像中的對象,無論其位置、大小或方向如何,這使得它們非常適合對象識別任務。
  1. 抗噪聲魯棒性: CNN 通常可以處理噪聲或雜亂的圖像,這使得它們對於圖像質量可能變化的實際應用非常有用。
  1. 遷移學習: CNN 可以利用預先訓練的模型,減少訓練新模型所需的數據量和計算資源。
  2. 性能: CNN 在一系列計算機視覺任務上展示了最先進的性能,包括圖像分類、對象檢測和語義分割。

卷積神經網絡的局限性:

  1. 計算成本:訓練深度 CNN 的計算成本可能很高,需要大量數據和計算資源。
  2. 過度擬合:深度 CNN 很容易過度擬合,尤其是在小數據集上訓練時,模型可能會記住訓練數據,而不是泛化到新的、看不見的數據。
  3. 缺乏可解釋性: CNN 被認為是“黑匣子”模型,因此很難理解為什麼會做出特定的預測。
  4. 僅限於網格狀結構: CNN 僅限於網格狀結構,無法處理不規則形狀或非網格狀數據結構。

結論:

總之,卷積神經網絡(CNN)是一種強大的深度學習架構,非常適合圖像分類和對象識別任務。

憑借自動提取相關特征、處理噪聲圖像和利用預訓練模型的能力,CNN 在一系列計算機視覺任務中展示了最先進的性能。

然而,它們也有其局限性,包括計算成本高、過度擬合、缺乏可解釋性以及處理不規則形狀的能力有限。

盡管如此,CNN 仍然是許多計算機視覺任務的熱門選擇

免費分享一些我整理的人工智能學習資料給大傢,整理了很久,非常全面。包括人工智能基礎入門視頻 AI常用框架實戰視頻、機器學習、深度學習與神經網絡等視頻、課件源碼、畢設項目、AI熱門論文等。

下面是截圖,掃碼進群免費領取:掃碼進群領資料

我會在群裡與朋友們定期分享人工智能的發展就業情況相關資料

最後祝大傢天天進步!!