h1_key

當前位置:首頁 >新聞資訊 > 行業(yè)資訊>詳析卷積神經(jīng)網(wǎng)絡CNN的特性和應用
詳析卷積神經(jīng)網(wǎng)絡CNN的特性和應用
2023-03-30 857次

 一、神經(jīng)網(wǎng)絡的訓練過程

  前文中討論的CIFAR網(wǎng)絡由不同層的神經(jīng)元組成。如圖1所示,32 × 32像素的圖像數(shù)據(jù)被呈現(xiàn)給網(wǎng)絡并通過網(wǎng)絡層傳遞。CNN處理過程的第一步就是提取待區(qū)分對象的特性和結構,這需要借助濾波器矩陣實現(xiàn)。設計人員對CIFAR網(wǎng)絡進行建模后,由于最初無法確定這些濾波器矩陣,因此這個階段的網(wǎng)絡無法檢測模式和對象。

  為此,首先需要確定濾波器矩陣的所有參數(shù),以最大限度地提高檢測對象的精度或最大限度地減少損失函數(shù)。這個過程就稱為神經(jīng)網(wǎng)絡訓練。前文所描述的常見應用在開發(fā)和測試期間只需對網(wǎng)絡進行一次訓練就可以使用,無需再調整參數(shù)。如果系統(tǒng)對熟悉的對象進行分類,則無需額外訓練;當系統(tǒng)需要對全新的對象進行分類時,才需要額外進行訓練。

  進行網(wǎng)絡訓練需要使用訓練數(shù)據(jù)集,并使用類似的一組測試數(shù)據(jù)集來測試網(wǎng)絡的精度。例如CIFAR-10網(wǎng)絡數(shù)據(jù)集為十個對象類的圖像集合:飛機、汽車、鳥、貓、鹿、狗、青蛙、馬、輪船和卡車。我們必須在訓練CNN之前對這些圖像進行命名,這也是人工智能應用開發(fā)過程中最為復雜的部分。本文討論的訓練過程采用反向傳播的原理,即向網(wǎng)絡連續(xù)展示大量圖像,并且每次都同時傳送一個目標值。本例的目標值為圖像中相關的對象類。在每次顯示圖像時,濾波器矩陣都會被優(yōu)化,這樣對象類的目標值就會和實際值相匹配。完成此過程的網(wǎng)絡就能夠檢測出訓練期間從未看到過的圖像中的對象。

  

 

1.CIFAR CNN架構


  

 

2.由前向傳播和反向傳播組成的訓練循環(huán)

 

  二、過擬合和欠擬合

在神經(jīng)網(wǎng)絡的建模過程中經(jīng)常會出現(xiàn)的問題是:神經(jīng)網(wǎng)絡應該有多少層,或者是神經(jīng)網(wǎng)絡的濾波器矩陣應該有多大?;卮疬@個問題并非易事,因此討論網(wǎng)絡的過擬合和欠擬合至關重要。過擬合由模型過于復雜以及參數(shù)過多而導致。我們可以通過比較訓練數(shù)據(jù)集和測試數(shù)據(jù)集的損失來確定預測模型與訓練數(shù)據(jù)集的擬合程度。如果訓練期間損失較低并且在向網(wǎng)絡呈現(xiàn)從未顯示過的測試數(shù)據(jù)時損失過度增加,這就強烈表明網(wǎng)絡已經(jīng)記住了訓練數(shù)據(jù)而不是在實施模式識別。此類情況主要發(fā)生在網(wǎng)絡的參數(shù)存儲空間過大或者網(wǎng)絡的卷積層過多的時候。這種情況下應當縮小網(wǎng)絡規(guī)模。

 

 三、損失函數(shù)和訓練算法

  學習分兩個步驟進行。第一步,向網(wǎng)絡展示圖像,然后由神經(jīng)元網(wǎng)絡處理這些圖像生成一個輸出矢量。輸出矢量的最大值表示檢測到的對象類,例如示例中的"狗",該值不一定是正確的。這一步稱為前向傳播。

  目標值與輸出時產(chǎn)生的實際值之間的差值稱為損失,相關函數(shù)則稱為損失函數(shù)。網(wǎng)絡的所有要素和參數(shù)均包含在損失函數(shù)中。神經(jīng)網(wǎng)絡的學習過程旨在以最小化損失函數(shù)的方式定義這些參數(shù)。這種最小化可通過反向傳播的過程實現(xiàn)。在反向傳播的過程中,輸出產(chǎn)生的偏置(損失 = 目標值-實際值)通過網(wǎng)絡的各層反饋,直至達到網(wǎng)絡的起始層。

因此,前向傳播和反向傳播在訓練過程中產(chǎn)生了一個可以逐步確定濾波器矩陣參數(shù)的循環(huán)。這種循環(huán)過程會不斷重復,直至損失值降至一定程度以下。

 

  四、優(yōu)化算法、梯度和梯度下降法

  為說明訓練過程,圖3顯示了一個包含x和y兩個參數(shù)的損失函數(shù)的示例,這里z軸對應于損失。如果我們仔細查看該損失函數(shù)的三維函數(shù)圖,我們就會發(fā)現(xiàn)這個函數(shù)有一個全局最小值和一個局部最小值。

  目前,有大量數(shù)值優(yōu)化算法可用于確定權重和偏置。其中,梯度下降法最為簡單。梯度下降法的理念是使用梯度算子在逐步訓練的過程中找到一條通向全局最小值的路徑,該路徑的起點從損失函數(shù)中隨機選擇。梯度算子是一個數(shù)學運算符,它會在損失函數(shù)的每個點生成一個梯度矢量。該矢量的方向指向函數(shù)值變化最大的方向,幅度對應于函數(shù)值的變化程度。在圖3的函數(shù)中,右下角(紅色箭頭處)由于表面平坦,因此梯度矢量的幅度較小。而接近峰值時的情況則完全不同。此處矢量(綠色箭頭)的方向急劇向下,并且由于此處高低差明顯,梯度矢量的幅度也較大。

  

 

  圖3.使用梯度下降法確定到最小值的不同路徑


  因此我們可以利用梯度下降法從任意選定的起點開始以迭代的方式尋找下降至山谷的最陡峭路徑。這意味著優(yōu)化算法會在起點計算梯度,并沿最陡峭的下降方向前進一小步。之后算法會重新計算該點的梯度,繼續(xù)尋找創(chuàng)建一條從起點到山谷的路徑。這種方法的問題在于起點并非是提前定義的,而是隨機選擇的。在我們的三維地圖中,某些細心的讀者會將起點置于函數(shù)圖左側的某個位置,以確保路徑的終點為全局最小值(如藍色路徑所示)。其他兩個路徑(黃色和橙色)要么非常長,要么終點位于局部最小值。但是,算法必須對成千上萬個參數(shù)進行優(yōu)化,顯然起點的選擇不可能每次都碰巧正確。在具體實踐中,這種方法用處不大。因為所選擇的起點可能會導致路徑(即訓練時間)較長,或者目標點并不位于全局最小值,導致網(wǎng)絡的精度下降。

  因此,為避免上述問題,過去幾年已開發(fā)出大量可作為替代的優(yōu)化算法。一些替代的方法包括隨機梯度下降法、動量法、AdaGrad方法、RMSProp方法、Adam方法等。鑒于每種算法都有其特定的優(yōu)缺點,實踐中具體使用的算法將由網(wǎng)絡開發(fā)人員決定。


  五、訓練數(shù)據(jù)

  在訓練過程中,我們會向網(wǎng)絡提供標有正確對象類的圖像,如汽車、輪船等。本例使用了已有的 CIFAR-10 dataset。當然,在具體實踐中,人工智能可能會用于識別貓、狗和汽車之外的領域。這可能需要開發(fā)新應用,例如檢測制造過程中螺釘?shù)馁|量必須使用能夠區(qū)分好壞螺釘?shù)挠柧殧?shù)據(jù)對網(wǎng)絡進行訓練。創(chuàng)建此類數(shù)據(jù)集極其耗時費力,往往是開發(fā)人工智能應用過程中成本最高的一步。編譯完成的數(shù)據(jù)集分為訓練數(shù)據(jù)集和測試數(shù)據(jù)集。訓練數(shù)據(jù)集用于訓練,而測試數(shù)據(jù)則用于在開發(fā)過程的最后檢查訓練好的網(wǎng)絡的功能。

 

  • 一文讀懂衛(wèi)星通信器件種類、功能、廠商、發(fā)展趨勢
  • 衛(wèi)星通信是一個復雜的系統(tǒng),它通過人造地球衛(wèi)星作為中繼站,來轉發(fā)無線電信號,實現(xiàn)兩個或多個地球站之間的通信。這個系統(tǒng)可以大致分為三部分:空間段(衛(wèi)星本身)、地面段(用戶終端和信關站)和連接它們的無線電波。
    2025-10-10 29次
  • 國產(chǎn)FPGA公司、核心產(chǎn)品、應用介紹
  • 近年來,國產(chǎn)FPGA發(fā)展迅速,在技術、生態(tài)和應用方面都取得了長足進步,成為實現(xiàn)芯片國產(chǎn)替代的關鍵力量。以下是對主要國產(chǎn)FPGA公司的詳細介紹:
    2025-09-28 282次
  • 一文讀懂數(shù)字隔離器芯片的原理、運用、品牌、選型要點
  • 隔離器芯片的核心目的是在兩個電氣系統(tǒng)之間提供電氣隔離,同時允許數(shù)字信號或數(shù)據(jù)(有時甚至是電源)穿越這個隔離屏障。隔離意味著兩側電路沒有直接的電氣連接(沒有共用的地線或電源),從而防止危險的電壓、電流浪涌、地線環(huán)路干擾或噪聲從一側傳遞到另一側,保護人員和設備安全,并確保信號的完整性。
    2025-08-21 85次
  • 一文讀懂DRAM(動態(tài)隨機存取存儲器)工作原理、分類、主要廠商
  • DRAM是一種易失性半導體存儲器,用于計算機和其他數(shù)字設備作為主內存。它的名字“動態(tài)”源于需要周期性刷新存儲的數(shù)據(jù)。
    2025-06-19 242次
  • 一文讀懂FPGA的工作原理、關鍵參數(shù)、品牌、運用
  • FPGA代表Field-Programmable Gate Array,中文譯為現(xiàn)場可編程門陣列。它是一種非常特殊的半導體集成電路芯片。與 CPU、GPU 或專用集成電路芯片在出廠時功能就固定不同,F(xiàn)PGA的硬件邏輯功能在制造完成后,可以由用戶在現(xiàn)場(Field)根據(jù)需要進行編程(Programmable)來定義。 它本質上是由大量可配置邏輯塊、可編程互連資源和豐富的輸入/輸出單元組成的陣列(Array)。
    2025-06-05 105次

    萬聯(lián)芯微信公眾號

    元器件現(xiàn)貨+BOM配單+PCBA制造平臺
    關注公眾號,優(yōu)惠活動早知道!
    10s
    溫馨提示:
    訂單商品問題請移至我的售后服務提交售后申請,其他需投訴問題可移至我的投訴提交,我們將在第一時間給您答復
    返回頂部