CNN 有什麼缺點?
CNN 的缺點包括訓練時間長、需要大量標記數據集以及容易過度擬合。網絡複雜性也會影響性能。儘管在需要上下文知識的任務(如 NLP)中存在侷限性,但 CNN 仍然是計算機視覺領域(包括物體檢測和分割)廣泛使用且有效的工具。
卷積神經網絡有幾個缺點,使得它們在某些機器學習應用中難以使用。例如,CNN 訓練可能需要一段時間,尤其是對於大型數據集,因爲 CNN 的計算成本很高。此外,創建 CNN 架構可能具有挑戰性,需要徹底理解人工神經網絡的基本思想。
另一個缺點是 CNN 需要大量標記數據纔能有效訓練。在數據很少的情況下,這可能是一個嚴重的制約因素。CNN 在需要更多背景知識的任務(例如 NLP)上也並不總是成功,即使它們在圖像識別任務上表現相當出色。
CNN 設計中採用的層數和類型會影響性能。例如,增加更多層可能會提高準確性,但同時也會增加網絡複雜性和計算成本。深度學習 CNN 架構也容易出現過度擬合,當網絡過於專注於訓練數據,而對新的未經訓練的數據表現不佳時,就會發生這種情況。
儘管存在這些缺點,CNN 仍然是人工神經網絡領域深度學習和機器學習算法中廣泛使用且非常有效的工具,包括分割、對象檢測和圖像識別。也就是說,CNN 仍將在計算機視覺領域發揮關鍵作用。
CNN 有哪些優點?
CNN 因其優勢而受到計算機視覺任務的青睞,包括平移不變性、參數共享、分層表示、對變化的適應性和端到端訓練。
卷積神經網絡具有多種優勢,使其成爲各種計算機視覺任務的理想選擇。其主要優勢之一是平移不變性,這是 CNN 的一項功能,無論物體位於何處,它都可以識別圖像中的物體。卷積層用於通過將過濾器應用於整個輸入圖像來實現這一點,以便網絡可以學習平移不變的特徵。
CNN 的另一個優點是使用參數共享,即在輸入圖像的所有區域共享同一套參數。因此,網絡的參數更少,可以更好地泛化新數據,這在處理大型數據集時至關重要。
CNN 還可以學習輸入圖像的分層表示,上層學習更復雜的特徵,如物體碎片和形狀,而下層學習更簡單的元素,如邊緣和紋理。對於物體檢測和分割等具有挑戰性的任務,這種分層模型使網絡能夠學習多個抽象層次的特徵。
CNN 適用於實際應用,因爲它們能夠適應輸入圖像中的光照、顏色和微小失真的變化。最後,卷積神經網絡可以進行端到端訓練,從而允許梯度下降同時優化網絡的所有參數,以提高性能並加快收斂速度。梯度下降是一種優化算法,用於通過最小化負梯度方向上的損失函數來迭代調整模型參數。
卷積神經網絡有哪些類型?
卷積神經網絡有幾種類型,包括傳統 CNN、循環神經網絡、全卷積網絡和空間變換網絡等。
傳統 CNN
傳統 CNN 也稱爲“原始”CNN,由一系列卷積層和池化層以及一個或多個全連接層組成。如前所述,此網絡中的每個卷積層都會使用一組可教過濾器運行一系列卷積,以從輸入圖像中提取特徵。
Lenet-5 架構是首批用於手寫數字識別的有效 CNN 之一,它展示了傳統的 CNN。它有兩組卷積層和池化層,後面跟着兩個全連接層。Lenet-5 架構證明了 CNN 在圖像識別方面的效率,這也使它們在計算機視覺任務中得到了更廣泛的應用。
循環神經網絡
循環神經網絡 (RNN) 是一種神經網絡,它可以通過跟蹤先前輸入的上下文來處理順序數據。循環神經網絡可以處理不同長度的輸入,並根據先前的輸入產生輸出,這與典型的前饋神經網絡不同,後者僅按固定順序處理輸入數據。
例如,RNN 可用於文本生成或語言翻譯等 NLP 活動。循環神經網絡可以在兩種不同語言的句子對上進行訓練,以學習在兩種語言之間進行翻譯。

RNN 每次處理一個句子,根據輸入句子和每一步的前一個輸出生成一個輸出句子。RNN 可以生成正確的翻譯,即使是複雜的文本,因爲它可以跟蹤過去的輸入和輸出。
全卷積網絡
全卷積網絡 (FCN) 是一種神經網絡架構,常用於圖像分割、對象檢測和圖像分類等計算機視覺任務。可以使用反向傳播對 FCN 進行端到端訓練,以對圖像進行分類或分割。
反向傳播是一種訓練算法,它計算損失函數相對於神經網絡權重的梯度。機器學習模型預測給定輸入的預期輸出的能力由損失函數來衡量。
FCN 完全基於卷積層,因爲它們沒有任何完全連接的層,這使得它們比傳統的卷積神經網絡更具適應性和計算效率。接受輸入圖像並輸出圖像中對象的位置和分類的網絡就是 FCN 的一個例子。
空間變壓器網絡
空間變換網絡 (STN) 用於計算機視覺任務,以提高網絡學習到的特徵的空間不變性。神經網絡能夠獨立於地理位置、方向或尺度識別圖像中的模式或物體,這種能力被稱爲空間不變性。
在進一步處理輸入圖像之前,將學習到的空間變換應用於輸入圖像的網絡就是 STN 的一個例子。該變換可用於對齊圖像中的對象、校正透視失真或執行其他空間更改,以增強網絡在特定任務上的性能。
變換是指以某種方式修改圖像的任何操作,例如旋轉、縮放或剪裁。對齊是指確保圖像中的對象以一致且有意義的方式居中、定向或定位的過程。
當圖像中的物體由於拍攝角度或距離而出現傾斜或變形時,就會發生透視失真。對圖像應用幾種數學變換(例如仿射變換)可用於校正透視失真。仿射變換保留平行線和點之間的距離比,以校正圖像中的透視失真或其他空間變化。
空間變化是指對圖像空間結構的任何修改,例如翻轉、旋轉或平移圖像。這些變化可以增強訓練數據或解決任務中的特定挑戰,例如光照、對比度或背景變化。
卷積神經網絡如何工作?
卷積神經網絡的工作原理是通過卷積層從輸入數據中提取特徵,並通過全連接層學習對輸入數據進行分類。
卷積神經網絡的工作原理包括以下步驟:
輸入層:輸入層(CNN 中的第一層)將原始數據(如圖像或視頻)作爲輸入,並將其發送到下一層進行處理。
卷積層:特徵提取在卷積層進行。該層應用一組過濾器或內核從輸入數據中提取邊緣、角和形狀等特徵。
ReLU 層:爲了使輸出具有非線性並增強網絡性能,通常在每個卷積層之後實現一個整流線性單元 (ReLU) 激活函數。如果輸入爲正,則 ReLU 直接輸出輸入;如果輸入爲負,則輸出零。
池化層:卷積層的特徵圖由池化層形成,從而降低其維數。最大池化是一種常用的技術,其中將特徵圖的每個塊中的最大值作爲輸出。
全連接層:全連接層採用池化的平坦輸出並應用一組權重來產生最終輸出,可用於分類或預測任務。

下面是 CNN 如何對貓和狗的圖片進行分類的示意圖:
步驟 1:輸入層接收狗或貓的 3 通道 (RGB) 圖像和其他原始圖像數據。3 通道 (RGB) 是用於在神經網絡中表示彩色圖像的標準格式,每個像素由三個值表示,分別代表紅、綠和藍色通道的強度。
第 2 步:卷積層對輸入圖像應用一系列過濾器,以提取邊緣、角和形狀等特徵。
步驟3:由於ReLU層的存在,卷積層輸出變爲非線性。
步驟 4:通過在每個特徵圖塊中取最大值,池化層降低了卷積層創建的特徵圖的維數。
步驟5:堆疊多個卷積層和池化層,從輸入圖像中提取逐漸複雜的特徵。
第 6 步:扁平化層將前一層的輸出轉換爲一維或 1D 向量(排列在一行或一列中的數字序列,每個數字代表一個特徵或特性)。然後,完全連接層接收最後一個池化層的扁平化輸出並應用一組權重來產生最終輸出,識別圖像是貓還是狗。
CNN 使用一組帶標籤的圖像進行訓練,並在訓練過程中調整過濾器和全連接層的權重,以儘量減少預測標籤和實際標籤之間的誤差。經過訓練後,卷積神經網絡可以準確地對新的、未見過的貓和狗圖像進行分類。
深度學習中的卷積神經網絡是什麼?
卷積神經網絡用於計算機視覺任務,它採用卷積層從輸入數據中提取特徵。
卷積神經網絡(CNN)是一類深度神經網絡,常用於圖像和視頻識別、對象檢測和圖像分割等計算機視覺任務。
神經網絡是一種機器學習模型,由相互連接的節點組成,這些節點處理信息以做出決策,而深度神經網絡則具有多個隱藏層,使它們能夠學習各種任務的複雜表示。它們都模仿了人腦的結構和功能。計算機視覺是人工智能 (AI) 的一個領域,專注於使機器能夠解釋和理解來自世界的視覺數據。
雖然圖像和視頻識別涉及對照片或視頻中的物體、場景或動作進行分類或識別,但物體檢測涉及在圖像或視頻中定位某些事物。圖像分割涉及將圖像劃分爲有意義的片段或區域,以便進一步分析或處理。

CNN 使用多個卷積層自動從輸入數據中提取特徵。輸入數據由卷積層過濾,生成的特徵圖被傳遞到進一步的處理層。卷積層是 CNN 的構建塊,用於對輸入數據執行過濾和特徵提取操作。
過濾是使用過濾器對圖像進行卷積以提取特徵的過程,而特徵提取是從卷積圖像中識別相關模式或特徵的過程。
除了卷積層之外,CNN 中還經常包含池化層,池化層會降低卷積層的輸出以降低計算成本並提高網絡對新輸入的泛化能力。其他典型層包括歸一化層(有助於降低過度擬合併提高網絡性能)和全連接層(用於分類或預測任務)。
面部識別、自動駕駛汽車、醫學圖像分析和自然語言處理 (NLP) 等許多應用都廣泛使用了 CNN。它們還被用於在圖像分類任務(例如 ImageNet 挑戰賽)中取得最佳成果。
