<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 常見(jiàn)深度學(xué)習模型集成方法

常見(jiàn)深度學(xué)習模型集成方法

發(fā)布人:計算機視覺(jué)工坊 時(shí)間:2020-09-17 來(lái)源:工程師 發(fā)布文章

歷屆kaggle競賽冠軍的做法,或簡(jiǎn)單或復雜,其最后一步必然是集成學(xué)習,盡管現有的模型已經(jīng)很強大了,但是集成學(xué)習往往能夠起到錦上添花的作用。一般而言,深度學(xué)習的集成有兩大層面:數據層面模型層面。下面詳細介紹這些方法。

01數據層面

(1)數據擴充法

數據擴充法在訓練和測試階段均適用,可以增強模型的魯棒性。

常見(jiàn)的數據擴充方法有:

·  圖像多尺度(multi-scale):將圖像resize到不同尺寸,分別輸入網(wǎng)絡(luò ),對結果進(jìn)行平均或者加權。

·  隨機扣取(random crop):對測試圖片隨機扣取n張圖像,在測試階段用訓練好的深度網(wǎng)絡(luò )模型對n張扣取出來(lái)的圖分別做預測,之后將預測的各類(lèi)置信度平均作為測試圖像最終的測試結果。

(2)簡(jiǎn)單集成法

“簡(jiǎn)單集成法”是Liu等人提出針對不平衡樣本問(wèn)題的一種簡(jiǎn)單集成學(xué)習解決方案,好處在于模型集成的同時(shí)還能緩解數據不平衡帶來(lái)的問(wèn)題。

簡(jiǎn)單集成法,簡(jiǎn)單說(shuō)三點(diǎn):

1. 對于樣本較多的類(lèi)采取降采樣(undersampling),每次采樣數依據樣本數量最少的類(lèi)別而定,這樣每類(lèi)取到的樣本數可保持均等;

2. 采樣結束后,針對每次采樣得到的子數據集訓練模型,如此采樣、訓練重復進(jìn)行多次。

3. 最后依據訓練得到若干個(gè)模型的結果取平均/投****。

02模型層面

2.1 單模型集成

(1)同一模型不同初始化

同一模型不同初始化方法,非常適用于小樣本學(xué)習場(chǎng)景,會(huì )大幅度緩解模型的隨機性,提升最終任務(wù)的預測結果。

對于同一個(gè)模型來(lái)說(shuō),不同的參數初始化方式通過(guò)隨機梯度下降方法得到的訓練結果也會(huì )不同。具體的做法如下:

·  初始:首先對同一模型進(jìn)行不同初始化;

·  集成:將得到的網(wǎng)絡(luò )模型結果進(jìn)行集成;

(2)同一模型不同訓練輪數

同一模型不同訓練輪數方法,可以有效降低訓練輪數過(guò)多帶來(lái)的過(guò)擬合風(fēng)險。

若網(wǎng)絡(luò )超參數設置得當,深度模型隨著(zhù)網(wǎng)絡(luò )訓練的進(jìn)行會(huì )逐步趨于收斂,但不同訓練輪數的結果仍有不同。無(wú)法確定到底哪一輪得到的模型最適用于測試數據,我們將最后幾輪訓練結果做集成。

(3)不同損失函數

損失函數是整個(gè)網(wǎng)絡(luò )訓練的 “指揮棒”,選擇不同目標函數勢必讓網(wǎng)絡(luò )學(xué)到不同的特征表示。

具體的做法如下,以分類(lèi)任務(wù)為例:可將包括交叉熵損失、合頁(yè)損失、大間隔交叉熵損失、中心損失等作為損失函數分別訓練模型。而在測試階段,有兩種做法:

·  置信度融合:直接對不同模型預測結果做平均/投****;

·  特征融合:將不同網(wǎng)絡(luò )得到的深度特征抽出后級聯(lián)(concatenate)作為最終特征,然后訓練淺層分類(lèi)器(如支持向量機)完成預測工作;

(4)多層特征融合法

由于深度卷積神經(jīng)網(wǎng)絡(luò )特征具有層次性的特點(diǎn),不同層特征富含的語(yǔ)義信息可以相互補充,因而在目標檢測、圖像語(yǔ)義分割、細粒度圖像檢索這些領(lǐng)域常見(jiàn)多層特征融合策略的使用。

一般地,多層特征融合操作可直接將不同層的網(wǎng)絡(luò )特征進(jìn)行級聯(lián)(concatenate),而對于特征融合應該選取哪些網(wǎng)絡(luò )層,選取的經(jīng)驗是:最好使用靠近目標函數的幾層卷積特征,因為愈深層特征包含的高層語(yǔ)義愈強,分辨能力也愈強。相反,網(wǎng)絡(luò )較淺層的特征更為普適,用于特征融合反而起不到作用。

(5)網(wǎng)絡(luò )快照法

我們知道深度神經(jīng)網(wǎng)絡(luò )模型復雜的解空間中存在非常多的局部最優(yōu)解,而傳統的Min-batch SGD往往只能收斂到其中一個(gè)局部最優(yōu)解,如下所示:

7.png

圖1 SGD:傳統SGD方法只能收斂到一個(gè)局部最優(yōu)解

相反的,網(wǎng)絡(luò )快照法通過(guò)循環(huán)調整學(xué)習率,使得網(wǎng)絡(luò )依次收斂到不同的局部最優(yōu)解,利用這些最優(yōu)解對模型進(jìn)行集成,示意圖如下所示:

1600324090913019.png

圖2 快照法:通過(guò)循環(huán)調整學(xué)習率,使得網(wǎng)絡(luò )依次收斂到不同的局部最優(yōu)解

具體的做法如下,將網(wǎng)絡(luò )學(xué)習率設置為隨模型迭代輪數t改變的函數:

5.png

其中:

·  為初始學(xué)習率,一般設置為 0.1 或 0.2;

·  t為模型迭代輪數;

·  T為模型總的批處理訓練次數;

·  M為“循環(huán)退火”次數,對應于模型將收斂到的局部最優(yōu)解的個(gè)數;

注:退火原先是材料加工的一個(gè)特有名詞,指將金屬加熱到某個(gè)再結晶溫度并維持一段時(shí)間,再將其緩慢冷卻的過(guò)程。這里退火指網(wǎng)絡(luò )模型學(xué)習率從初始學(xué)習率逐漸減緩到0的過(guò)程。

學(xué)習率從0.1*1 隨著(zhù)t增長(cháng)逐漸減緩到0,之后將學(xué)習率重新放大,從而跳出該局部最優(yōu)解,如此往復,分別得到不同權重參數的同一模型。測試階段,一般我們挑選最后個(gè)模型“快照”用于集成,這些模型“快照”可以采用“直接平均法”。

2.2 多模型集成

我們可以使用不同架構的網(wǎng)絡(luò )訓練模型,根據這些模型結果做集成。假設共有N個(gè)模型待集成,對于某測試樣本x,其預測結果為N個(gè)維向量:S1,S2,...,Sn(C為數據的標記空間大?。?。我們介紹常見(jiàn)的四種方法:

(1)直接平均法

直接平均不同模型產(chǎn)生的類(lèi)別置信度得到最終預測結果。

公式:

微信圖片_20200917142829.png

(2)加權平均法

在直接平均法的基礎上加入權重來(lái)調節不同模型輸出間的重要程度。

公式:

4.png

其中,Wi 對應第 i 個(gè)模型的權重,且必須滿(mǎn)足:

3.png

實(shí)際使用中,權重 w_i 的取值可以根據不同模型在驗證集上各自單獨的準確率而定。簡(jiǎn)單說(shuō):準確率高點(diǎn)的權重高點(diǎn),準確率低點(diǎn)權重就小點(diǎn)。

(3)投****法

投****法,少數服從多數,投****數最多的類(lèi)別作為最終預測結果。

投****法前,我們先將模型各自預測的置信度基于閾值轉換為相應的類(lèi)別,那么對于某次預測,就有以下兩種情況:

·  某個(gè)類(lèi)別獲得一半以上模型投****,則將樣本標記為該類(lèi)別;

·  沒(méi)有任何類(lèi)別獲得一半以上投****,則拒絕預測;

但是這樣有個(gè)問(wèn)題,就是模型拒絕預測時(shí)候怎么辦?一般我們采用相對多數投****法,很簡(jiǎn)單,少數服從多數,即投****數最多的類(lèi)別即作為最終預測結果。

(4)堆疊法

堆疊法,一階段,原始模型進(jìn)行訓練和預測,預測結果作為二階段的輸入,非常容易過(guò)擬合。

堆疊法分兩步:

1. 原始模型訓練、預測:樣本x作為模型的輸入,Si為第i個(gè)模型的類(lèi)別置信度輸出;

2. 預測結果作為二階段輸入:講這些輸出置信度進(jìn)行級聯(lián),作為新的特征,基于這些特征訓練一個(gè)新的分類(lèi)器進(jìn)行訓練;

注意此時(shí)的學(xué)習器可以為任何學(xué)習算法模型,如支持向量機、隨機森林等。不過(guò)在此需要指出的是,堆疊法真的非常非常容易過(guò)擬合!

03總結

集成的匯總如下:

1600324277231093.png

留大家一個(gè)作業(yè),回顧我們的課程,然后用思維導圖或者表格整理出這些方法的優(yōu)缺點(diǎn)。下面,我有一個(gè)之前自己學(xué)習筆記整理的(不完全):

1600324296630743.png

還有,請大家思考,我們實(shí)戰中怎么用模型集成來(lái)提升最終預測準確率?下期我們用實(shí)戰來(lái)講模型集成到底怎么用?


參考

更詳細的請大家參閱魏秀參博士的《魏秀參——解析深度學(xué)習:卷積神經(jīng)網(wǎng)絡(luò )原理與視覺(jué)實(shí)踐 - 第13章 - 模型集成方法》。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。

分頻器相關(guān)文章:分頻器原理


關(guān)鍵詞:

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>