U-Net模型架構
U-Net是一種編碼器-解碼器結構,具有跳躍連接,可以同時提取影像的高層次特徵並保留細節。
-
編碼器包含四個下採樣塊,每次下採樣後特徵通道數翻倍。
-
解碼器包含四個上採樣塊,使用轉置卷積層進行解碼操作。
-
中間層進行進一步的特徵提取,幫助解碼器更好地重建圖像。
-
輸出層通過Sigmoid激活函數生成像素的概率分佈圖,適合我們作二分類的分割任務。
模型訓練過程
本研究採用了Adam 優化器,初始學習率設定為 0.001,確保穩定而高效的學習過程。整體訓練流程包括以下步驟:
批次加載
-
訓練集:
-
批量大小:8
-
採用隨機打亂,提升模型泛化能力。
-
-
驗證集:
-
批量大小:8
-
關閉隨機打亂,確保評估結果穩定。
-
前向傳播
在訓練過程中,每批次的數據會傳入模型進行前向傳播,即數據從輸入層經過模型中的各層傳遞,直到輸出層生成模型預測值,並用於計算損失。
初始化
優化器:選用 Adam,原因如下:
-
動態調整學習率,減少梯度震盪。
-
默認學習率(0.001)適用大多數場景。
損失計算
使用 Dice Loss 作為主要損失函數,衡量模型預測結果與真實遮罩的重疊程度,數值越小表示模型性能越佳。
訓練循環
訓練循環通過多次遍歷訓練數據(每次稱為一個 Epoch)來優化模型。在每個 Epoch 中,模型依次完成以下步驟:
前向傳播➝損失計算➝反向傳播➝參數更新
模型通過重複上述過程,不斷學習數據特徵並改進性能。
參數更新
計算損失對模型參數的梯度,並通過 Adam 優化器根據梯度動態調整模型參數,使其逐漸接近準確值。
模型驗證過程
為了確保模型的準確性與穩定性,在驗證階段會關閉梯度計算,以減少運算資源的消耗,專注於評估模型的性能,以下為模型的驗證流程:
性能指標計算
使用 Dice 系數 和 IoU 作為主要評估指標,量化模型預測結果與真實遮罩的重疊程度,數值越高表示模型表現越優秀。
驗證損失
驗證損失用於評估模型泛化能力,避免過擬合:
-
改善時:更新最佳模型權重,重置早停計數器。
-
未改善時:增加早停計數器,提示可能過擬合。
早停機制
當驗證損失連續 3 次(或預設值)未改善時提前停止訓練,保留最佳模型權重,避免浪費資源或過擬合。
學習率調整
使用 ReduceLROnPlateau 調度器動態調整學習率。
-
初期:採用較大學習率(如 0.001)加速收斂。
-
過程中:驗證損失連續 3 次無改善,學習率減半。