天池語義分割task05

2021-10-21 02:32:01 字數 2181 閱讀 5563

乙個成熟合格的深度學習訓練流程至少具備以下功能:

• 在訓練集上進行訓練,並在驗證集上進行驗證;

• 模型可以儲存最優的權重,並讀取權重;

• 記錄下訓練集和驗證集的精度,便於調參。

一、學習目標

• 理解驗證集的作用,並使用訓練集和驗證集完成訓練

• 學會使用 pytorch 環境下的模型讀取和載入,並了解調參流程

二、構造驗證集

在機器學習模型(特別是深度學習模型)的訓練過程中,模型是非常容易過擬合的。深度學習模型在

不斷的訓練過程中訓練誤差會逐漸降低,但測試誤差的走勢則不一定。

在模型的訓練過程中,模型只能利用訓練資料來進行訓練,模型並不能接觸到測試集上的樣本。因此

模型如果將訓練集學的過好,模型就會記住訓練樣本的細節,導致模型在測試集的泛化效果較差,這種現

象稱為過擬合(overfitting)。與過擬合相對應的是欠擬合(underfitting),即模型在訓練集上的擬合效果

較差。隨著模型複雜度和模型訓練輪數的增加,cnn 模型在訓練集上的誤差會降低,但在測試

集上的誤差會逐漸降低,然後逐漸公升高,而我們為了追求的是模型在測試集上的精度越高越好。

導致模型過擬合的情況有很多種原因,其中最為常見的情況是模型複雜度(model complexity )太

高,導致模型學習到了訓練資料的方方面面,學習到了一些細枝末節的規律。

解決上述問題最好的解決方法:構建乙個與測試集盡可能分布一致的樣本集(可稱為驗證集),在訓

練過程中不斷驗證模型在驗證集上的精度,並以此控制模型的訓練。

在給定賽題後,賽題方會給定訓練集和測試集兩部分資料。參賽者需要在訓練集上面構建模型,並在

測試集上面驗證模型的泛化能力。因此參賽者可以通過提交模型對測試集的**結果,來驗證自己模型的

泛化能力。同時參賽方也會限制一些提交的次數限制,以此避免參賽選手「刷分」。

在一般情況下,參賽選手也可以自己在本地劃分出乙個驗證集出來,進行本地驗證。訓練集、驗證集

和測試集分別有不同的作用:

• 訓練集(train set):模型用於訓練和調整模型引數;

• 驗證集(validation set):用來驗證模型精度和調整模型超引數;

• 測試集(test set):驗證模型的泛化能力。

因為訓練集和驗證集是分開的,所以模型在驗證集上面的精度在一定程度上可以反映模型的泛化能

力。在劃分驗證集的時候,需要注意驗證集的分布應該與測試集盡量保持一致,不然模型在驗證集上的精

度就失去了指導意義。

既然驗證集這麼重要,那麼如何劃分本地驗證集呢。在一些比賽中,賽題方會給定驗證集;如果賽題

方沒有給定驗證集,那麼參賽選手就需要從訓練集中拆分一部分得到驗證集。驗證集的劃分有如下幾種方

式:1、留出法(hold-out)

直接將訓練集劃分成兩部分,新的訓練集和驗證集。這種劃分方式的優點是最為直接簡單;缺點是只

得到了乙份驗證集,有可能導致模型在驗證集上過擬合。留出法應用場景是資料量比較大的情況。

2、交叉驗證法(cross validation,cv)

將訓練集劃分成 k 份,將其中的 k-1 份作為訓練集,剩餘的 1 份作為驗證集,迴圈 k 訓練。這種劃

分方式是所有的訓練集都是驗證集,最終模型驗證精度是 k 份平均得到。這種方式的優點是驗證集精度

比較可靠,訓練 k 次可以得到 k 個有多樣性差異的模型;cv 驗證的缺點是需要訓練 k 次,不適合資料

量很大的情況。

3、自助取樣法(bootstrap)

通過有放回的取樣方式得到新的訓練集和驗證集,每次的訓練集和驗證集都是有區別的。這種劃分方

式一般適用於資料量較小的情況。

在本次賽題中已經劃分為驗證集,因此選手可以直接使用訓練集進行訓練,並使用驗證集進行驗證精

度(當然你也可以合併訓練集和驗證集,自行劃分驗證集)。

當然這些劃分方法是從資料劃分方式的角度來講的,在現有的資料比賽中一般採用的劃分方法是留出

法和交叉驗證法。如果資料量比較大,留出法還是比較合適的。當然任何的驗證集的劃分得到的驗證集都

是要保證訓練集-驗證集-測試集的分布是一致的,所以如果不管劃分何種的劃分方式都是需要注意的。

這裡的分布一般指的是與標籤相關的統計分布,比如在分類任務中「分布」指的是標籤的類別分布,

訓練集-驗證集-測試集的類別分布情況應該大體一致;如果標籤是帶有時序資訊,則驗證集和測試集的時

間間隔應該保持一致。

天池語義分割task04

tp tn fp fn 在講解語義分割中常用的評價函式和損失函式之前,先補充一 tp 真正例 true positive tn 真反例 true negative fp 假正例 false positive fn 假反例 false negative 的知識。在分類問題中,我們經常看到上述的表述方式...

天池語義分割task03

1 fcn 原理及網路結構 fcn 首先將一幅 rgb 影象輸入到卷積神經網路後,經過多次卷積以及池化過程得到一系列的特徵 圖,然後利用反卷積層對最後乙個卷積層得到的特徵圖進行上取樣,使得上取樣後特徵圖與原影象的大小一樣,從而實現對特徵圖上的每個畫素值進行 的同時保留其在原影象中的空間位置資訊,最後...

阿里雲天池 Python訓練營 Task05

阿里雲天池 python訓練營 task05 2.今日學習任務 task 2 中的兩個章節 1 字串 2 字典 3.記錄筆記 學習完成之後,選擇任意平台進行自我知識總結即可 今天學到了什麼將來可能需要複習的知識點,用筆記來方便自己複習 知乎 csdn github等。如果對記筆記有疑惑,歡迎討論 字...