卷積神經網絡是一種深度學習網絡,主要用于識別圖像和對其進行分類,以及識別圖像中的對象。
什么是卷積神經網絡?
人工神經網絡是一個硬件和/或軟件系統,模仿神經元在人類大腦中的運轉方式。卷積神經網絡 (CNN) 通常會在多個全連接或池化的卷積層中應用多層感知器(對視覺輸入內容進行分類的算法)的變體。
CNN 的學習方式與人類相同。人類出生時并不知道貓或鳥長什么樣。隨著我們長大成熟,我們學到了某些形狀和顏色對應某些元素,而這些元素共同構成了一種元素。學習了爪子和喙的樣子后,我們就能更好地區分貓和鳥。
神經網絡的工作原理基本也是這樣。通過處理標記圖像的訓練集,機器能夠學習識別元素,即圖像中對象的特征。
CNN 是頗受歡迎的深度學習算法類型之一。卷積是將濾波器應用于輸入內容的簡單過程,會帶來以數值形式表示的激活。通過對圖像反復應用同一濾波器,會生成名為特征圖的激活圖。這表示檢測到的特征的位置和強度。
卷積是一種線性運算,需要將一組權重與輸入相乘,以生成稱為濾波器的二維權重數組。如果調整濾波器以檢測輸入中的特定特征類型,則在整個輸入圖像中重復使用該濾波器可以發現圖像中任意位置的特征。
例如,一個濾波器用于檢測特定形狀的曲線,另一個濾波器用于檢測垂直線,第三個濾波器用于檢測水平線。其他濾波器可以檢測顏色、邊緣和光線強度。連接多個濾波器的輸出,即可以表示與訓練數據中的已知元素匹配的復雜形狀。
CNN 通常由三層組成:1) 輸入層、2) 輸出層和 3) 包含多個卷積層的隱藏層,其中隱藏層為池化層、全連接層和標準化層。
第一層通常用于捕捉邊緣、顏色、梯度方向和基本幾何形狀等基本特征。添加層后,此模型會填充高級特征,這些特征會逐漸確定一個大型棕色圖塊,首先是車輛,然后是汽車,然后是別克。
池化層會逐漸縮小表示的空間的大小,提高計算效率。池化層會單獨對每個特征圖進行運算。池化層中常用的方法是最大池化,即捕捉數組的最大值,從而減少計算所需的值的數量。堆疊卷積層允許將輸入分解為其基本元素。
標準化層會對數據進行正則化處理,以改善神經網絡的性能和穩定性。標準化層通過將所有輸入都轉換為均值為 0 且方差為 1,從而使每個層的輸入更便于管理。
全連接層用于將一層中的各個神經元與另一層中的所有神經元相連。
為什么選擇卷積神經網絡?
神經網絡有三種基本類型:
多層感知器擅長使用標記輸入處理分類預測問題。它們是可應用于各種場景(包括圖像識別)的靈活網絡。
時間遞歸神經網絡使用一個或多個步長作為輸入,并以多個步長作為輸出,針對序列預測問題進行了優化。它們擅長解讀時間序列數據,但對圖像分析無效。
卷積神經網絡專為將圖像數據映射到輸出變量而設計。它們特別擅長發掘二維圖像的內部表征,可用于學習位置和尺寸不變的結構。這使得它們特別擅長處理具有空間關系組件的數據。
CNN 已成為許多先進深度學習(例如面部識別、手寫識別和文本數字化)方面的計算機視覺應用程序的首選模型。此外,它還可應用于推薦系統。2012 年 CNN 迎來了轉折點,當時多倫多大學研究生 Alex Krizhevsky 使用 CNN 模型將分類錯誤記錄從 26% 降低至 15%,在當年的 ImageNet 競賽中獲勝,這一成績在當時令人震驚。
事實證明,在涉及圖像處理的應用場合,CNN 模型能夠帶來出色結果和超高計算效率。雖然 CNN 模型并不是適合此領域的唯一深度學習模型,但這是大家共同的選擇,并且將成為未來持續創新的焦點。
關鍵用例
CNN 是目前機器用來識別物體的圖像處理器。CNN 已成為當今自動駕駛汽車、石油勘探和聚變能研究領域的眼睛。在醫學成像方面,它們可以幫助更快速發現疾病并挽救生命。
得益于 CNN 和遞歸神經網絡 (RNN),各種 AI 驅動型機器都具備了像我們眼睛一樣的能力。經過在深度神經網絡領域數十年的發展以及在處理海量數據的 GPU 高性能計算方面的長足進步,大部分 AI 應用都已成為可能。
卷積神經網絡的重要意義
數據科學團隊
圖像識別應用范圍廣,是許多數據科學團隊必備的核心能力。CNN 是一項成熟的標準,可為數據科學團隊提供技能基準,讓他們可以學習并掌握這些技能,以滿足當前和未來的圖像處理需求。
數據工程團隊
了解 CNN 處理所需訓練數據的工程師可以提前一步滿足組織需求。數據集采用規定的格式,并且工程師可以通過大量公開的數據集進行學習。這簡化了將深度學習算法投入生產的過程。
借助 GPU 加速卷積神經網絡
先進的神經網絡可能有數百萬乃至十億以上的參數需要通過反向傳播進行調整。此外,它們需要大量的訓練數據才能實現較高的準確度,這意味著成千上萬乃至數百萬的輸入樣本必須同時進行向前和向后傳輸。由于神經網絡由大量相同的神經元構建而成,因此本質上具有高度并行性。這種并行性會自然映射到 GPU,因此相比僅依賴 CPU 的訓練,計算速度會大幅提高。
通過深度學習框架,研究人員能輕松創建和探索卷積神經網絡 (CNN) 和其他深度神經網絡 (DNN),同時達到實驗和工業部署所需的較高速度。NVIDIA 深度學習 SDK 可加快 Caffe、CNTK、TensorFlow、Theano 和 Torch 等廣泛使用的深度學習框架以及眾多其他機器學習應用程序的運行速度。
深度學習框架在 GPU 上的運行速度更快,并可以在單個節點內的多個 GPU 間擴展。為了將框架與 GPU 結合使用以進行卷積神經網絡訓練和推理過程,NVIDIA 分別提供了 cuDNN 和 TensorRT。cuDNN 和 TensorRT 可大幅優化卷積層、池化層、標準化層和激活層等標準例程的實施。
為快速開發和部署視覺模型,NVIDIA 面向視覺 AI 開發者提供了 DeepStream SDK,同時面向計算機視覺領域提供了 TAO 工具套件,用于創建準確且高效的 AI 模型。
原文標題:NVIDIA 大講堂 | 什么是卷積神經網絡?
文章出處:【微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
NVIDIA
+關注
關注
14文章
4949瀏覽量
102826 -
深度學習
+關注
關注
73文章
5493瀏覽量
120999 -
卷積神經網絡
+關注
關注
4文章
366瀏覽量
11853
原文標題:NVIDIA 大講堂 | 什么是卷積神經網絡?
文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論