卷積神經網絡 (CNN) 初學者指南:分步說明

已發表: 2022-06-06

深度學習促進了計算機視覺、認知計算和視覺數據精細處理的多種方法。 一個這樣的例子是使用 CNN 或卷積神經網絡進行對像或圖像分類。 CNN 算法通過使機器能夠像人類一樣感知周圍的世界(以像素的形式),在基於視覺的分類中提供了巨大的優勢。

CNN 從根本上說是一種識別算法,它允許機器接受足夠的訓練,以通過層處理、分類或識別來自視覺數據的大量參數。 通過使機器或軟件能夠從輸入數據中準確識別所需的對象,這促進了高級對象識別和圖像分類。

基於 CNN 的系統從基於圖像的訓練數據中學習,並可以根據其訓練模型對未來的輸入圖像或視覺數據進行分類。 只要用於訓練的數據集包含一系列有用的視覺線索(空間數據),圖像或對象分類器就會非常準確。

CNN 是當今最流行的深度學習方法之一,用於流行的實現,例如 Google Lens 的圖像分類系統或特斯拉等自動駕駛汽車。 這尤其是由於除了物體檢測之外,在 CNN 的幫助下可以進行可靠的模式識別。

從世界頂級大學在線學習機器學習——碩士、高級管理人員研究生課程和 ML 和 AI 高級證書課程,以加快您的職業生涯。

目錄

CNN的應用

在安全系統、防禦系統、醫學診斷、圖像分析、媒體分類和其他識別軟件中可以看到基於 CNN 的系統的使用。 例如,CNN 可以與 RNN(循環神經網絡)一起使用來構建視頻識別軟件或動作識別器。

這是一種更高級的視頻分類應用,它可以允許系統通過分析順序形成視頻的幀中可用的空間信息,從視頻中實時識別對象。

這些幀的序列還包含時間信息,有助於通過空間和時間處理對數據進行建模,從而允許使用由卷積層和循環層組成的混合架構。 特斯拉汽車和 Waymo 車輛使用 CNN 識別和分類道路的不同方面以及借助攝像頭實時捕獲的數據來進入物體或車輛。

探索我們的機器學習和人工智能課程

IITM 機器學習和雲高級認證 LJMU 機器學習與人工智能理學碩士 來自 IITB 的機器學習和人工智能高級研究生課程
IIITB 機器學習和自然語言處理高級證書課程 IIITB 機器學習和深度學習高級證書課程 來自 IITR 的管理人員人工智能高級證書課程

神經網絡為車輛系統提供線路檢測、環境分割、導航和自動駕駛。 這些能力使自動駕駛汽車能夠根據分類模式做出複雜的決策,例如避開物體、改變車道、加速、減速或在需要時通過制動完全停止。

然而,這些是更高級的 CNN 實現,需要 GPS、RADAR、LiDAR 等硬件和傳感器以及大量訓練數據和高性能處理環境。 這些有助於深度學習模型成為實時處理來自傳感器的傳入數據並採取相關行動的決策系統。

使用來自傳感器的數據,相機視覺還可以獲得環境的 3D 感知(視覺重建、深度分析等),並可以準確地分析距離(通過激光)。 因此,該模型可以預測車輛或物體的未來位置,最終決定最佳行動方案。

CNN 模型依賴於分類、分割、定位,然後建立預測。 這使得這些汽車幾乎可以像人類大腦在任何特定情況下一樣做出反應,有時甚至比人類駕駛員更有效。

CNN 真正彌合了機器和人類之間的差距,尤其是在計算機視覺和目標檢測方面。 然而,要了解 CNN,我們必須首先了解神經網絡,並從將 CNN 算法用於二維視覺數據開始。

什麼是深度學習中的神經網絡?

深度學習是機器學習最重要的分支之一,它使用人工神經網絡或人工神經網絡 (ANN) 作為監督、無監督或半監督機器學習方法來實現。 這些類型的機器學習模型依賴於多層處理來處理數據中的更高級別的特徵。

層基本上是多個節點或塊,它們作為計算單元堆疊在一起。 這些層有效地模擬了人類神經元,並以與人類大腦相同的方式發揮作用。 通過逐步構建層,模型可以變得比僅包含預處理數據的初始輸入層更先進。

神經網絡算法提取可以將計算饋送到未來層的輸出,直到到達最終輸出層。 這形成了一個網絡,其中每個後續層的所有節點都連接到前一層的單個節點。 每當模型使用超過兩層時,它就被歸類為深度神經網絡 (DNN)。 這些網絡不形成循環並允許多層感知,因此也為預測和數據處理引入了各種維度。

閱讀我們與機器學習和人工智能相關的熱門文章

物聯網:歷史、現在和未來 機器學習教程:學習機器學習 什麼是算法? 簡單易行
印度機器人工程師的薪水:所有角色 機器學習工程師的一天:他們在做什麼? 什麼是物聯網(物聯網)
排列與組合:排列與組合之間的區別 人工智能和機器學習的 7 大趨勢 使用 R 進行機器學習:您需要知道的一切

以下是一些用於深度學習的常用框架:

  • TensorFlow
  • 喀拉斯
  • 阿帕奇 MXNet

什麼是卷積神經網絡?

卷積神經網絡是一種人工神經網絡,主要用於處理像素數據以處理圖像或用於圖像識別。 CNN 在深度學習中用於生成和描述性任務,這些任務使用機器視覺和基於推薦的系統。

CNN 是一種更高效的 ANN,類似於 DNN,但仍降低了前饋神經網絡的複雜性。 這是因為CNN一般依賴兩層,特徵圖層和特徵提取層。 每個節點的輸入從前一層的局部感受野中提取局部特徵。

提取完成後,繪製或映射局部特徵與其他特徵之間的位置關係。 為了使最終分辨率更準確,卷積層之後是計算層,計算局部平均值和二次提取特徵。 儘管 CNN 主要使用兩層,但由於結合了多特徵提取和不變性失真,預測非常準確。

由於具有共享權重,同一特徵圖平面中的節點可以同時學習。 這降低了網絡的複雜性並允許輸入多維輸入圖像。 與其他神經網絡不同,CNN 不需要將圖像轉換為較低分辨率的圖像,因為處理要求很低。

該模型類似於多層感知,只是 CNN 不易過度擬合數據,從而使其不那麼複雜。 這是通過懲罰參數或修剪跳過的連接來規範多層感知器方法來完成的。

CNN 使用數據中的分層模式來根據其複雜程度組裝模式。 與其他分類算法相比,卷積神經網絡幾乎不需要任何預處理,尤其是對於圖像和視頻。 使用 NLP,人們甚至可以將 CNN 用於機器人、醫療診斷和自動化領域的更高級應用。 CNN 與大多數無監督機器學習技術配合得很好,並通過自動學習方法獨立地不斷優化模型過濾器。

以下是一些可用的 CNN 架構

  • 谷歌網絡
  • 亞歷克斯網
  • 樂網
  • ZFNet
  • 資源網
  • VGGNet

這是一個CNN實現的例子

讓我們假設我們必須從一組隨機圖像中對鳥、貓、狗、汽車和人類進行分類。 首先,我們必須首先找到一個可以用作未來計算基準的訓練數據集。 一個好的訓練數據集的例子是包含 50,000 張 64×64 像素的鳥、貓、狗、汽車和人類圖片的數據集。

這些目標中的每一個都將成為具有相關整數值的類標籤。 類別標籤將是“鳥”、“貓”、“狗”、“汽車”和“人類”,其值分別為 0、1、2、3 和 4。使用此數據集和基準訓練 CNN 模型後,它將能夠從隨機輸入數據中識別視覺線索,然後根據它們的標籤對它們進行分類。 最終模型可以從一組以這些對象為特徵的隨機圖像中準確識別五種不同類型的對象(標籤)。

以下是構建 CNN 模型的必要步驟

  • 加載數據集。
  • 準備像素數據。
  • 定義模型。
  • 評估模型。
  • 呈現結果。
  • 完成採樣。
  • 開發基線模型。
  • 實施正則化技術以改進模型。
  • 增強數據。
  • 完成模型和進一步評估。

CNN 深度學習是一個很有前途的領域,有著極好的職業前景。 如果您打算在 CNN 建立職業生涯,您可以查看 upGrad 的機器學習和深度學習高級證書課程

經典神經網絡(其他 ANN)和 CNN 有什麼區別?

人工神經網絡 (ANN) 和 CNN 等經典神經網絡之間的主要區別在於,只有 CNN 的最後一層是完全連接的,而在 ANN 中,每個神經元都連接到其他每個神經元。

什麼是深度神經網絡?

深度學習來自與機器學習相關的更廣泛的概念家族,它進一步基於具有表示學習的人工神經網絡。

NLP 可以與 CNN 一起使用嗎?

與句子分類類似,CNN 可用於多種 NLP 任務,如情感分類、機器翻譯、文本摘要、答案選擇等。