神經網絡:是深度學習的核心技術。模仿生物神經元工作方式的計算模型,由大量互相連接是神經元組成,通過數據學習復雜的模式和關系。
1、神經網絡基本組成:神經元、層、連接
- 神經元
神經網絡的最小單元。
每個神經元接受輸入,輸入加權求和,經過激活函數輸出結果。
加權求和:輸入*權重+偏置;權重決定輸入的重要性,偏置調整神經元的激活閾值。
激活函數:非線性變換,使網絡能擬合復雜函數。
?????2.層
神經網絡分為三層,神經元根據所在層來進行分工。
輸入層:接受原始數據。
隱藏層:復雜特征提取和變換,可以有多層。
輸出層:生成最終結果。(如分類概率值、回歸值、翻譯結果)
? ? 3.連接
權重:連接兩個神經元的強度,決定輸入的重要性。
偏置:調整神經元的激活閾值。
損失函數:衡量預測值和真實值之間的差異。
前向傳播:數據從輸入層傳遞到輸出層,計算預測值。
反向傳播:根據損失函數計算得到的損失值,通過梯度下降,反向調整權重和偏置,減少誤差。
優化器:Optimizer,梯度下降增強版。更新權重和偏置,減少誤差。
基于梯度下降,引入額外的機制解決原始梯度下降的缺陷。
神經網絡 = 神經元 + 層 + 連接(權重、偏置) + 激活函數 + 損失函數 + 優化器
2、常見的神經網絡類型:FNN、CNN、RNN、Transformer
- 前饋神經網絡(FNN):
最基礎、簡單的神經網絡,數據流向是單向傳遞(輸入層--隱藏層--輸出層)。是深度學習的基礎,也是其他復雜神經網絡(CNN、RNN)的構建模塊。
? ? 2.卷積神經網絡(CNN):
專門用于處理網格結構數據(如圖像、視頻)的深度學習模型。主要用于計算機視覺領域(圖像分類、目標檢測等)。
通過局部連接、權重共享、層次化特征提取,捕捉數據中的空間和或時序模式。
局部連接:每個神經元僅連接輸入數據的局部區域,大幅減少參數量。
權重共享:使用卷積核在輸入數據上滑動,同一核的參數在不同位置共享。
層次化特征提取:低層提取邊緣、紋理等基礎特征,高層組合成復雜特征。
- 核心組件:
- 卷積層:通過卷積核提取局部特征。
- 池化層:降維、平移不變性。
- 全連接層:在網絡末端,將提取的特征映射到最終輸出。
卷積核、卷積層、特征圖、池化層的定義與聯系:
卷積核:特征提取,一個小矩陣,用于提取局部特征(如邊緣、紋理)。
卷積層:生成特征圖,由多個卷積核組成,對輸入數據進行卷積運算,生成特征圖。
特征圖:卷積層的輸出,每個通道對應一個卷積核的運算結果。
池化層:壓縮特征圖,對特征圖下采樣(如取最大值或平均值),減少計算量并增強平移不變性。
- 整體流程:
- 輸入一張圖像,每個卷積核在圖像上滑動,計算點積生成一個單通道特征圖。
- 對特征圖的每個通道獨立進行池化(下采樣,不改變通道數)。
- 堆疊卷積層和池化層。
卷積特征提取(看到更多細節)----池化壓縮特征(冗余信息)----傳遞下一層,重復直至高層特征生成。
- CNN的應用:
- 圖像分類(如ResNet、EfficientNet)
- 目標檢測(如YOLO、Faster R-CNN)
- 語義分割(如U-Net)
- 視頻分析(3D CNN)
- 醫學影像(CT、MRI識別)
3. Transformer:
基于自注意力機制的深度學習模型。
優勢:
并行計算:自注意力機制允許同時處理所有位置的信息,計算效率高。
長距離依賴:直接建模任意距離的詞關系,避免梯度消失的問題。
可擴展性:通過堆疊更多層和頭,擴展模型能力。
缺點:
計算復雜程度高、內存消耗大、數據需求大。
應用:自然語言處理(NLP)、計算機視覺(CV)---VIT 圖像分塊后輸入Transformer、多模態任務 CLIP。
具體介紹可參考:Transformer
3、訓練神經網絡
訓練神經網絡的過程其實是確定線性公式y=ax+b中參數a,b的值一個過程。
a=權重;b=偏置;
比如訓練一個識別圖片中數字的神經網絡:
- 選擇一個線性公式,隨機初始化一組參數a,b;
- 在訓練數據集中,利用線性公式來進行分類;
- 計算分類結果的誤差;(利用損失函數進行計算)
- 調整參數a,b,使分類結果的誤差可以減少;(梯度下降)
- 回到步驟2;
- 重復2-5步驟,直至模型收斂;
模型收斂:誤差減少的趨勢漸緩,參數無論怎么變化誤差都變化不大。
全連接層:神經網絡最基礎層之一,負責將前一層的所有神經元與當前層的所有神經元進行完全連接,實現特征的整合和分類。