零基礎入門語義分割 Task6 模型整合

2021-10-20 18:30:30 字數 2038 閱讀 1363

總結整合學習方法、深度學習中的整合學習和結果後處理思路。

在機器學習中的整合學習可以在一定程度上提高**精度,常見的整合學習方法有stacking、bagging和boosting,同時這些整合學習方法與具體驗證集劃分聯絡緊密。

由於深度學習模型一般需要較長的訓練週期,如果硬體裝置不允許建議選取留出法,如果需要追求精度可以使用交叉驗證的方法。

下面假設構建了10折交叉驗證,訓練得到10個語義分割模型。

那麼在10個cnn模型可以使用如下方式進行整合:

對**的結果的概率值進行平均,然後解碼為具體字元;

對**的字元進行投票,得到最終字元;

dropout可以作為訓練深度神經網路的一種技巧。在每個訓練批次中,通過隨機讓一部分的節點停止工作。同時在**的過程中讓所有的節點都其作用。

dropout經常出現在在先有的cnn網路中,可以有效的緩解模型過擬合的情況,也可以在**時增加模型的精度。

測試集資料擴增(test time augmentation,簡稱tta)也是常用的整合學習技巧,資料擴增不僅可以在訓練時候用,而且可以同樣在**時候進行資料擴增,對同乙個樣本**三次,然後對三次結果進行平均。

本章的開頭已經提到,假設我們訓練了10個cnn則可以將多個模型的**結果進行平均。但是加入只訓練了乙個cnn模型,如何做模型整合呢?

在**snapshot ensembles中,作者提出使用cyclical learning rate進行訓練模型,並儲存精度比較好的一些checkopint,最後將多個checkpoint進行模型整合。

由於在cyclical learning rate中學習率的變化有週期性變大和減少的行為,因此cnn模型很有可能在跳出區域性最優進入另乙個區域性最優。在snapshot**中作者通過使用表明,此種方法可以在一定程度上提高模型精度,但需要更長的訓練時間。

在本章中我們講解了深度學習模型做整合學習的各種方法,並以此次賽題為例講解了部分**。以下幾點需要同學們注意

整合學習只能在一定程度上提高精度,並需要耗費較大的訓練時間,因此建議先使用提高單個模型的精度,再考慮整合學習過程;

具體的整合學習方法需要與驗證集劃分方法結合,dropout和tta在所有場景有可以起作用。

零基礎入門語義分割 Task2 資料擴增

顏色變換 kernel filters mixing random erasing opencv的資料擴增 albumentations資料擴增 pytorch 處理 顧名思義,資料擴增的原因是原始資料量不足,希望通過擴增達到 mnist 在 20 到20 之間沒問題 加大旋轉角可能會影響標籤 平移...

零基礎入門語義分割 TASK02資料擴增

opencv資料擴增 albumentations資料擴增 pytorch讀取賽題資料 datawhale 本章對語義分割任務中常見的資料擴增方法進行介紹,並使用opencv和albumentations兩個庫完成具體的資料擴增操作。本章主要內容為資料擴增方法 opencv資料擴增 albument...

零基礎入門語義分割 Task1 賽題理解

零基礎入門語義分割 地表建築物識別,是datawhale與天池聯合發起的入門比賽,以計算機視覺為背景,希望通過過此次比賽了解語義分割的相關知識。遙感技術已成為獲取地表覆蓋資訊最為行之有效的手段,遙感技術已經成功應用於地表覆蓋檢測 植被面積檢測和建築物檢測任務。本賽題使用航拍資料,需要參賽選手完成地表...