卷積神經網絡 (CNN):簡介

已發表: 2022-08-30

卷積神經網絡為對象識別和圖像分類任務提供了一種更具可擴展性的方式。

技術領域正在發生許多進步。 人工智能和機器學習是您可能經常聽到的一些常見內容。

目前,這些技術幾乎用於各個領域,從營銷、電子商務和軟件開發到銀行、金融和醫學。

AI 和 ML 是廣闊的領域,正在努力擴大其應用範圍以解決許多現實世界的問題。 這就是為什麼您可以在這些技術中看到很多分支的原因; ML 是 AI 本身的一個子集。

卷積神經網絡是當今流行的人工智能分支之一。

在本文中,我將討論什麼是 CNN,它們是如何工作的,以及它們在現代世界中的用途。

讓我們潛入水中!

什麼是卷積神經網絡?

卷積神經網絡(ConvNet 或 CNN)是一種人工神經網絡 (ANN),它使用深度學習算法來分析圖像、對視覺進行分類並執行計算機視覺任務。

卷積神經網絡

CNN 利用線性代數的原理(例如矩陣乘法)來檢測圖像中的模式。 由於這些過程涉及復雜的計算,因此它們需要圖形處理單元 (GPU) 來訓練模型。

簡而言之,CNN 使用深度學習算法來獲取圖像等輸入數據,並以偏差和可學習權重的形式將重要性分配給該圖像的不同方面。 這樣,CNN 可以區分圖像或對它們進行分類。

CNN:簡史

由於卷積神經網絡是人工神經網絡,因此重申神經網絡很重要。

在計算中,神經網絡是使用深度學習算法的機器學習 (ML) 的一部分。 它類似於人腦中神經元遵循的連接模式。 人工神經網絡也從視覺皮層的排列方式中獲得靈感。

CNN:簡史

因此,不同類型的神經網絡或人工神經網絡 (ANN) 用於不同的目的。 其中之一是用於圖像檢測和分類的 CNN,等等。 它是由博士後研究員 Yann LeCun 在 1980 年代介紹的。

CNN 的早期版本——以 LeCun 命名的 LeNet,能夠識別手寫數字。 然後,它被用於銀行和郵政服務,用於讀取支票上的數字和信封上寫的郵政編碼。

然而,這個早期版本缺乏可擴展性。 因此,CNN 在人工智能和計算機視覺中的應用並不多。 此外,它需要大量的計算資源和數據才能更有效地處理更大的圖像。

此外,在 2012 年,AlexNet 重新審視了利用由多層組成的神經網絡的深度學習。 大約在這個時候,技術得到了改進,大數據集和大量計算資源可用於創建能夠有效執行計算機視覺活動的複雜 CNN。

CNN 中的層

讓我們了解 CNN 中的不同層。 增加 CNN 中的層數將增加其複雜性,並使其能夠檢測圖像的更多方面或區域。 從一個簡單的特徵開始,它變得能夠檢測對象的形狀和更大的元素等複雜特徵,直到它最終能夠檢測到圖像。

卷積層

CNN 的第一層是卷積層。 它是 CNN 的主要構建塊,大部分計算都發生在這裡。 它需要更少的組件,例如輸入數據、特徵圖和過濾器。

卷積層

CNN 還可以有額外的捲積層。 這使得 CNN 結構具有層次結構,因為後續層可以可視化先前層的感受野內的像素。 接下來,卷積層將給定的圖像轉換為數值,並允許網絡理解和提取有價值的模式。

池化層

池化層用於減少維度,稱為下採樣。 它減少了輸入中使用的參數。 池化操作可以像卷積層一樣在整個輸入上移動過濾器,但缺少權重。 在這裡,過濾器將聯合函數應用於感受野中的數值以填充結果數組。

池化有兩種類型:

  • 平均池化:在過濾器掃描輸入以傳輸到輸出數組的感受野中計算平均值。
  • 最大池化:當過濾器掃描輸入時,它選擇最大值像素並將其發送到輸出數組。 最大池比平均池使用得更多。

儘管池化過程中丟失了大量數據,但它仍然為 CNN 提供了許多好處。 它有助於降低過度擬合的風險和復雜性,同時提高效率。 它還增強了 CNN 的穩定性。

全連接 (FC) 層

全連接 (FC) 層

顧名思義,輸出層中的所有節點都直接連接到全連接層中的前一層節點。 它基於通過先前層及其過濾器提取的特徵對圖像進行分類。

此外,FC 層通常使用 softmax 激活函數來正確分類輸入而不是 ReLu 函數(如池化層和卷積層的情況)。 這有助於產生 0 或 1 的概率。

CNN 是如何工作的?

卷積神經網絡由許多層組成,甚至有數百層。 這些層學習識別給定圖像的各種特徵。

儘管 CNN 是神經網絡,但它們的架構不同於常規的 ANN。

CNN 是如何工作的

後者將輸入通過許多隱藏層進行轉換,其中每一層由一組人工神經元創建,並與同一層中的每個神經元完全連接。 最後,有一個全連接層或輸出層來顯示結果。

另一方面,CNN 在三個維度上組織層——寬度、深度和高度。 在這裡,來自神經元的一層只連接到一個小區域中的神經元,而不是與下一層中的每個神經元相關。 最後,最終結果由具有概率分數的單個向量表示,並且只有深度維度。

現在,您可能會問 CNN 中的“卷積”是什麼。

好吧,卷積是指合併兩個數據集的數學運算。 在 CNN 中,卷積概念應用於輸入數據,通過過濾信息輸出特徵圖。

這使我們了解了 CNN 中使用的一些重要概念和術語。

  • 過濾器:也稱為特徵檢測器或內核,過濾器可以具有一定的維度,例如 3×3。 它遍歷輸入圖像以對每個元素執行矩陣乘法以應用卷積。 以不同的分辨率將過濾器應用於每個訓練圖像加上卷積圖像的輸出將作為後續層的輸入。
  • 填充:它用於通過插入假像素將輸入矩陣擴展到矩陣的邊界。 這樣做是為了抵消卷積減少矩陣大小的事實。 例如,一個 9×9 的矩陣經過濾波可以變成一個 3×3 的矩陣。
  • 跨步:如果您想獲得比輸入更小的輸出,您可以執行跨步。 它允許在過濾器在圖像上滑動時跳過某些區域。 通過跳過兩個或三個像素,您可以通過降低空間分辨率來生成更高效的網絡。
  • 權重和偏差: CNN 在其神經元中具有權重和偏差。 模型可以在訓練時學習這些值,並且對於所有神經元,這些值在給定層中保持相同。 這意味著每個隱藏的神經元在圖像的不同區域檢測到相同的特徵。 結果,網絡在將對象轉換為給定圖像時變得更加寬容。
  • ReLU :它代表 Rectified Linear Unit (ReLu),用於更有效和更快的訓練。 它將負值映射到 0 並保持正值。 它也稱為激活,因為網絡僅將激活的圖像特徵攜帶到後續層。
  • 感受野:在神經網絡中,每個神經元從前一層接收來自不同位置的輸入。 在卷積層中,每個神經元僅接收來自前一層的受限區域的輸入,稱為神經元的感受野。 在 FC 層的情況下,整個前一層是感受野。

在現實世界的計算任務中,通常在需要 3D 濾波器的 3D 圖像中執行卷積。

回到 CNN,它包含不同的部分或節點層。 每個節點層都有一個閾值和權重,並相互連接。 一旦超過閾值限制,數據就會被發送到該網絡的下一層。

這些層可以執行操作來更改數據以學習相關特徵。 此外,這些操作重複數百個不同的層,這些層不斷學習檢測圖像的其他特徵。

操作

CNN 的組成部分是:

  • 輸入層:這是進行輸入的地方,例如圖像。 它將是一個具有定義的高度、寬度和深度的 3D 對象。
  • 一個/多個隱藏層或特徵提取階段:這些層可以是卷積層、池化層和全連接層。
  • 輸出層:在這裡,將顯示結果。

將圖像通過卷積層轉換為特徵圖或激活圖。 在對輸入進行卷積之後,各層對圖像進行卷積並將結果傳遞給後續層。

CNN 將在特徵提取階段執行許多卷積和池化技術來檢測特徵。 例如,如果你輸入一隻貓的圖像,CNN 將識別它的四條腿、顏色、兩隻眼睛等。

接下來,CNN 中的全連接層將充當提取特徵的分類器。 根據深度學習算法對圖像的預測,這些層將產生結果。

CNN的優勢

CNN的優勢

更高的準確度

CNN 比不使用卷積的常規神經網絡提供更高的準確度。 CNN 很有幫助,特別是當任務涉及大量數據、視頻和圖像識別等時。它們產生高度精確的結果和預測; 因此,它們在不同部門的使用正在增加。

計算效率

計算效率

CNN 提供了比其他常規神經網絡更高的計算效率水平。 這是因為使用了卷積過程。 他們還使用降維和參數共享來使模型更快、更容易部署。 這些技術還可以優化以在不同的設備上工作,無論是您的智能手機還是筆記本電腦。

特徵提取

CNN 可以輕鬆學習圖像的特徵,而無需手動工程。 您可以利用預訓練的 CNN 並通過在處理新任務時向它們提供數據來管理權重,CNN 將無縫適應它。

CNN的應用

CNN 用於許多用例的不同行業。 CNN 的一些實際應用包括:

圖像分類

圖像分類

CNN 廣泛用於圖像分類。 這些可以識別有價值的特徵並識別給定圖像中的對象。 因此,它被用於醫療保健等領域,尤其是 MRI。 此外,該技術還用於手寫數字識別,這是 CNN 在計算機視覺中最早的用例之一。

物體檢測

CNN 可以實時檢測圖像中的對象,並對它們進行標記和分類。 因此,該技術在自動駕駛汽車中得到廣泛應用。 它還使智能家居和行人能夠識別車主的面部。 它還用於人工智能驅動的監視系統來檢測和標記物體。

物體檢測

視聽匹配

CNN 在視聽匹配方面的幫助,有助於改進 Netflix、YouTube 等視頻流媒體平台,也有助於滿足“Elton John 的情歌”等用戶需求。

語音識別

語音識別

除了圖像,CNN 還有助於自然語言處理 (NLP) 和語音識別。 一個真實的例子可能是谷歌在其語音識別系統中使用 CNN。

對象重建

CNN 可用於對數字環境中的真實對象進行 3D 建模。 CNN 模型也可以使用圖像創建 3D 人臉模型。 此外,CNN 可用於構建生物技術、製造、生物技術和建築領域的數字雙胞胎。

CNN 在不同領域的使用包括:

  • 醫療保健:計算機視覺可用於放射學,以幫助醫生更有效地檢測人體內的癌性腫瘤。
  • 農業:網絡可以利用來自 LSAT 等人造衛星的圖像,並利用這些數據對肥沃的土地進行分類。 這也有助於預測土地肥力水平並製定有效策略以最大限度地提高產量。
  • 營銷:社交媒體應用程序可以在某人的個人資料上張貼的圖片中推薦某人。 這有助於您在相冊中標記人物。
  • 零售:電子商務平台可以使用視覺搜索來幫助品牌推薦目標客戶想要購買的相關商品。
  • 汽車: CNN 發現汽車用於提高乘客和駕駛員的安全性。 它藉助車道線檢測、物體檢測、圖像分類等功能來做到這一點。這也有助於自動駕駛汽車的世界進一步發展。

學習 CNN 的資源

課程:

Coursera 在 CNN 上有這門課程,您可以考慮參加。 本課程將教您計算機視覺多年來如何發展以及 CNN 在現代世界中的一些應用。

亞馬遜:

您可以閱讀這些書籍和講座以了解有關 CNN 的更多信息:

  • 神經網絡和深度學習:它涵蓋模型、算法以及深度學習和神經網絡的理論。
預習產品評分價格
神經網絡和深度學習:一本教科書 神經網絡和深度學習:一本教科書暫無評分$49.00
  • A Guide to Convolutional Neural Networks for Computer Vision:本書將教你 CNN 的應用及其概念。
預習產品評分價格
計算機視覺卷積神經網絡指南(計算機視覺綜合講座) 計算機視覺卷積神經網絡指南(計算機視覺綜合講座) 暫無評分49.26 美元
  • Hands-on Convolutional Neural Networks with Tensorflow:借助本書,您可以使用 Python 和 TensorFlow 解決計算機視覺中的各種問題。
預習產品評分價格
Hands-On Convolutional Neural Networks with TensorFlow:使用 TensorFlow 和 Python 建模解決計算機視覺問題 使用 TensorFlow 動手實踐卷積神經網絡:通過建模解決計算機視覺問題... 暫無評分15.24 美元
  • 高級應用深度學習:本書將幫助您了解 CNN、深度學習及其高級應用,包括對象檢測。
預習產品評分價格
高級應用深度學習:卷積神經網絡和對象檢測 高級應用深度學習:卷積神經網絡和對象檢測暫無評分23.74 美元
  • Convolutional Neural Networks and Recurrent Neural Networks:這本書將教你關於 CNN 和 RNN 以及如何構建這些網絡。
預習產品評分價格
卷積神經網絡和循環神經網絡:卷積神經網絡和循環神經網絡 卷積神經網絡和循環神經網絡:卷積神經網絡和... 暫無評分1.99 美元

結論

卷積神經網絡是人工智能、機器學習和深度學習的新興領域之一。 它在當今世界幾乎所有領域都有各種應用。 看看它越來越多的使用,預計它會擴展更多,並且在解決現實世界的問題方面更有用。