模型層面的整合方法
多模型整合
小結整合學習是機器學習中的一類學習演算法,指訓練多個學習器並將它們組合起來使用的方法。這類演算法通常在實踐中能取得比單個學習器更好的**結果,頗有「眾人拾柴火焰高」之意。儘管深度網路模型已經擁有強大的**能力,但整合學習的使用仍能起到「錦上添花」的作用。因此有必要了解並掌握一些深度模型方面的整合方法。一般來講,深度模型的整合多從「資料層面」和「模型層面」兩方面著手。
我們在之前的文章有提到「資料擴充」策略,實際上,這些擴充策略在模型測試階段同樣適用,諸如影象多尺度、隨機摳取等。以隨機摳取為例,對某張測試影象可得到n張隨機摳取影象,測試階段只需要用訓練好的深度網路模型對n張影象分別做**,之後將**的各類置信度平均作為該測試影象最終**結果即可。
「簡易整合」法對於樣本較多的類採取降取樣,每次取樣數依照樣本數目最少的類別而定,這樣每類取到的樣本數可保持均等。取樣結束後,針對每次取樣得到的子資料集訓練模型,如此取樣、訓練反覆進行多次。最後對測試資料的**則依據訓練得到若干個模型的結果取平均或投票獲得。總結來說,「簡易整合」法在模型整合的同時,還能緩解資料不平衡帶來的問題,可謂一舉兩得。
前面提到了基於單個網路如何進行模型整合,這裡向大家介紹如何產生多個不同網路訓練結果並講解一些多模型的整合方法。
同一模型不同初始化:首先對同一模型進行不同的初始化,之後將得到的網路模型進行結果整合會大幅度緩解其隨機性,提公升最終任務的**結果。
同一模型不同訓練輪數:若網路超引數設定得當,深度模型隨著網路訓練的進行會逐步趨於收斂,但不同訓練輪數的結果仍有不同,無法確定到底哪一輪訓練得到的模型最適用於測試資料。針對上述問題,一種簡單的解決方式是將最後幾輪訓練模型結果做整合,這樣一方面可降低隨機誤差,另一方面也避免了訓練輪數過多帶來的過擬合風險。這樣的操作被稱為「輪數整合」。
不同目標函式:目標函式(或稱損失函式)是整個網路訓練的「指揮棒」,選擇不同目標函式勢必使網路學到不同的特徵表示。以分類任務為例,可將「交叉熵損失函式」、「合頁熵損失函式」、「大間隔交叉損失函式」和「中心損失函式」作為目標函式分別訓練模型。在**階段,既可以直接對不同模型**結果做「置信度級別」的平均或投票,也可以做「特徵級」的模型整合,將不同網路得到的深度特徵抽出後級聯作為最終特徵,之後離線訓練淺層分類器(如支援向量機)完成**任務。
不同網路結構:不同網路結構也是一種有效的產生不同網路模型結果的方式。操作時可在如vgg網路、深度殘差網路等不同網路架構上訓練模型,最後將不同架構網路得到的結果做以整合。
直接平均法:
加權平均法:
投票法:
堆疊法:
1.深度網路的模型整合往往是提公升網路最終**能力的一劑「強心針」;
2.資料層面常用的方法是資料擴充和「簡易整合」法 ,均操作簡單但效果顯著;
3.模型層面的模型整合方法可分為「單模型整合」和「多模型整合」。基於單一模型的整合方法可借助單個模型的多層特徵融合和網路「快照」法進行。多模型整合方面,可通過不同引數初始化、不同訓練輪數和不同目標函式的設定產生多個網路模型訓練結果。最後使用平均法、投票法和堆疊法進行結果整合。
注:文章選自《解析深度學習—卷積神經網路原理與視覺實踐》魏秀參著
模型整合方法
資料層面的整合方法 測試階段資料擴充 以隨機扣取為例,對某張測試影象可得到n張隨機扣取影象,測試階段只需用訓練好的深度網路模型對n張圖分別做 之後將 的各類置信度平均作為該測試影象的最終 結果即可。簡易整合法 對於樣本較多的類採取降取樣,每次取樣數依照樣本數目最少的類別而定,這樣每類取到的樣本數是均...
深度學習 模型整合方法
設定為隨模型迭代輪數t t iteration,即一次批處理隨機梯度下降稱為乙個迭代輪數 改變的函式,即 t 0 2 co s m od t 1,t m t m 1 t 02 cos mod t 1,t m t m 1 0 0 若網路超引數設定得當,深度模型隨著網路的進行會逐步趨於收斂,但是不同的訓...
新思韌體整合方法
1.在 kernel msm 3.18 firmware 目錄下建立pr2652346 td4310 tcl.img.ihex檔案 2.在檔案synaptics dsx fw update.c中定義韌體name define fw image name tcl pr2652346 td4310 tc...