“市面上深度學(xué)習(xí)書籍已不少,但專門針對(duì)卷積神經(jīng)網(wǎng)絡(luò)展開,側(cè)重實(shí)踐又不失論釋者尚不多見。本書基本覆蓋了卷積神經(jīng)網(wǎng)絡(luò)實(shí)踐所涉之環(huán)節(jié),作者交代的若干心得技巧亦可一觀,讀者在實(shí)踐中或有見益?!?/p>
這是周志華教授對(duì)他的學(xué)生、南京大學(xué)LAMDA研究所博士魏秀參所著新書《解析深度學(xué)習(xí):卷積神經(jīng)網(wǎng)絡(luò)原理與視覺實(shí)踐》的高度評(píng)價(jià)。
魏秀參專注于卷積神經(jīng)網(wǎng)絡(luò)及其視覺應(yīng)用,先后師從周志華教授和吳建鑫教授,在相關(guān)領(lǐng)域重要國際期刊和國際會(huì)議發(fā)表論文十余篇,并兩次獲得國際計(jì)算機(jī)視覺相關(guān)競(jìng)賽冠、亞軍,博士未畢業(yè)即被曠視科技聘為南京研究院負(fù)責(zé)人。
機(jī)器學(xué)習(xí)領(lǐng)域?qū)I(yè)、實(shí)用的好書很多,但多是英文翻譯而來,中文書籍委實(shí)不多,魏秀參的新書是其中令人眼前一亮的一本。正如作者所說,“這是一本面向中文讀者的輕量級(jí)、偏實(shí)用的深度學(xué)習(xí)工具書”,向讀者剖析了卷積神經(jīng)網(wǎng)絡(luò)的基本部件與工作機(jī)理,更重要的是系統(tǒng)性地介紹了深度卷積神經(jīng)網(wǎng)絡(luò)在實(shí)踐應(yīng)用方面的細(xì)節(jié)配置與工程經(jīng)驗(yàn)。
周志華推薦序
卷積神經(jīng)網(wǎng)絡(luò)乃機(jī)器學(xué)習(xí)領(lǐng)域中深度學(xué)習(xí)技術(shù)最著名內(nèi)容之一。魏秀參博士在LAMDA 求學(xué)數(shù)年,對(duì)卷積神經(jīng)網(wǎng)絡(luò)及其視覺應(yīng)用頗有所長(zhǎng),博士未畢業(yè)即被曠視科技聘為南京研究院負(fù)責(zé)人,畢業(yè)之際將心得材料轉(zhuǎn)撰成書請(qǐng)愚致序。師生之誼,盛情難卻。
在國內(nèi)計(jì)算機(jī)領(lǐng)域,寫書乃吃力不討好之事。且不論寫一本耐讀、令讀者每閱皆有所獲之書何等不易,更不消說眾口難調(diào)出一本令各型讀者皆贊之書何等無望,僅認(rèn)真寫書所耗時(shí)間精力之巨、提職時(shí)不若期刊論文之效、收入不比同等精力兼差打工之得,已令人生畏,何況稍有不慎就有誤人子弟之嫌,令一線學(xué)者若不狠心苛己,實(shí)難著手。
然有志求學(xué)本領(lǐng)域之士漸增,母語優(yōu)良讀物之不足實(shí)礙科學(xué)技術(shù)乃至產(chǎn)業(yè)發(fā)展。畢竟未必眾人皆慣閱外文書籍,亦未必盡能體會(huì)外文微妙表達(dá)變化之蘊(yùn)義,更不消說母語閱讀對(duì)新入行者之輕快適意。愚曾自認(rèn)四十不惑前學(xué)力不足立著,但國內(nèi)科研水準(zhǔn)日新月異,青年才俊茁然成長(zhǎng),以旺盛之精力分享所學(xué),誠堪嘉勉。
市面上深度學(xué)習(xí)書籍已不少,但專門針對(duì)卷積神經(jīng)網(wǎng)絡(luò)展開,側(cè)重實(shí)踐又不失論釋者尚不多見。本書基本覆蓋了卷積神經(jīng)網(wǎng)絡(luò)實(shí)踐所涉之環(huán)節(jié),作者交代的若干心得技巧亦可一觀,讀者在實(shí)踐中或有見益。望本書之出版能有助于讀者更好地了解和掌握卷積神經(jīng)網(wǎng)絡(luò),進(jìn)一步促進(jìn)深度學(xué)習(xí)技術(shù)之推廣。
周志華
2018 年10 月于南京
小而精,為中文讀者打造偏實(shí)用深度學(xué)習(xí)工具書
作者簡(jiǎn)介
魏秀參
曠視科技(Face++)南京研究院負(fù)責(zé)人。南京大學(xué)LAMDA研究所博士,主要研究領(lǐng)域?yàn)橛?jì)算機(jī)視覺和機(jī)器學(xué)習(xí)。在相關(guān)領(lǐng)域重要國際期刊和國際會(huì)議發(fā)表論文十余篇,并兩次獲得國際計(jì)算機(jī)視覺相關(guān)競(jìng)賽冠、亞軍。曾獲CVPR 2017最佳審稿人、南京大學(xué)博士生校長(zhǎng)特別獎(jiǎng)學(xué)金等榮譽(yù),擔(dān)任ICCV、CVPR、ECCV、NIPS、IJCAI、AAAI等國際會(huì)議PC member。
前言
人工智能,一個(gè)聽起來熟悉但卻始終讓人備感陌生的詞匯。讓人熟悉的是科幻作家艾薩克·阿西莫夫筆下的《機(jī)械公敵》和《機(jī)器管家》,令人陌生的卻是到底如何讓現(xiàn)有的機(jī)器人咿呀學(xué)語、邯鄲學(xué)步;讓人熟悉的是計(jì)算機(jī)科學(xué)與人工智能之父圖靈設(shè)想的“圖靈測(cè)試”,令人陌生的卻是如何使如此的高級(jí)智能在現(xiàn)實(shí)生活中不再子虛烏有;讓人熟悉的是2016 年初阿爾法狗與李世乭在圍棋上的五番對(duì)決,令人陌生的卻是阿爾法狗究竟是如何打通了“任督二脈”的……不可否認(rèn),人工智能就是人類為了滿足自身強(qiáng)大好奇心而腦洞大開的產(chǎn)物?,F(xiàn)在提及人工智能,就不得不提阿爾法狗,提起阿爾法狗就不得不提到深度學(xué)習(xí)。那么,深度學(xué)習(xí)究竟為何物?
本書從實(shí)用角度著重解析了深度學(xué)習(xí)中的一類神經(jīng)網(wǎng)絡(luò)模型——卷積神經(jīng)網(wǎng)絡(luò),向讀者剖析了卷積神經(jīng)網(wǎng)絡(luò)的基本部件與工作機(jī)理,更重要的是系統(tǒng)性地介紹了深度卷積神經(jīng)網(wǎng)絡(luò)在實(shí)踐應(yīng)用方面的細(xì)節(jié)配置與工程經(jīng)驗(yàn)。
筆者希望本書“小而精”,避免像某些國外相關(guān)教材一樣淺嘗輒止的“大而空”。
寫作本書的主因源自筆者曾于2015 年10 月在個(gè)人主頁(http://lamda.nju.edu.cn/weixs)上開放的一個(gè)深度學(xué)習(xí)的英文學(xué)習(xí)資料“深度神經(jīng)網(wǎng)絡(luò)之必會(huì)技巧”(Must Know Tips/Tricks in Deep Neural Networks)。該資料隨后被轉(zhuǎn)帖至新浪微博,受到不少學(xué)術(shù)界和工業(yè)界朋友的好評(píng),至今已有逾36 萬的閱讀量,后又被國際知名論壇 KDnuggets 和 Data Science Central 特邀轉(zhuǎn)載。在此期間,筆者頻繁接收到國內(nèi)外讀過此學(xué)習(xí)資料的朋友微博私信或郵件來信表示感謝,其中多人提到希望開放一個(gè)中文版本以方便國人閱讀學(xué)習(xí)。另一方面,隨著深度學(xué)習(xí)領(lǐng)域發(fā)展的日新月異,當(dāng)時(shí)總結(jié)整理的學(xué)習(xí)資料現(xiàn)在看來已略顯滯后,不少最新研究成果并未涵蓋其中,同時(shí)加上國內(nèi)至今尚沒有一本側(cè)重實(shí)踐的深度學(xué)習(xí)方面的中文書籍。因此,筆者筆耕不輟,希望將自己些許的所學(xué)所知所得所感及所悟匯總于本書中,分享給大家學(xué)習(xí)和查閱。
這是一本面向中文讀者的輕量級(jí)、偏實(shí)用的深度學(xué)習(xí)工具書,本書內(nèi)容側(cè)重深度卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)知識(shí)和實(shí)踐應(yīng)用。為了使盡可能多的讀者通過本書對(duì)卷積神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)有所了解,筆者試圖盡可能少地使用晦澀的數(shù)學(xué)公式,而盡可能多地使用具體的圖表形象表達(dá)。本書的讀者對(duì)象為對(duì)卷積神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)感興趣的入門者,以及沒有機(jī)器學(xué)習(xí)背景但希望能快速掌握該方面知識(shí)并將其應(yīng)用于實(shí)際問題的各行從業(yè)者。為方便讀者閱讀,本書附錄給出了一些相關(guān)數(shù)學(xué)基礎(chǔ)知識(shí)簡(jiǎn)介。
全書共有14 章,除“緒論”外可分為兩個(gè)部分:第一部分“基礎(chǔ)理論篇”包括第1~4 章,介紹卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)知識(shí)、基本部件、經(jīng)典結(jié)構(gòu)和模型壓縮等基礎(chǔ)理論內(nèi)容;第二部分“實(shí)踐應(yīng)用篇”包括第5~14 章,介紹深度卷積神經(jīng)網(wǎng)絡(luò)自數(shù)據(jù)準(zhǔn)備開始,到模型參數(shù)初始化、不同網(wǎng)絡(luò)部件的選擇、網(wǎng)絡(luò)配置、網(wǎng)絡(luò)模型訓(xùn)練、不平衡數(shù)據(jù)處理,最終到模型集成等實(shí)踐應(yīng)用技巧和經(jīng)驗(yàn)。另外,本書基本在每章結(jié)束均有對(duì)應(yīng)小結(jié),讀者在閱讀完每章內(nèi)容后不妨掩卷回憶,看是否完全掌握了此章重點(diǎn)。對(duì)卷積神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)感興趣的讀者可通讀全書,做到“理論結(jié)合實(shí)踐”;對(duì)希望迅速應(yīng)用深度卷積神經(jīng)網(wǎng)絡(luò)來解決實(shí)際問題的讀者,也可直接參考第二部分的有關(guān)內(nèi)容,做到“有的放矢”。
筆者在本書寫作過程中得到很多同學(xué)和學(xué)術(shù)界、工業(yè)界朋友的支持與幫助,在此謹(jǐn)列出他們的姓名以致謝意(按姓氏拼音序):高斌斌、高如如、羅建豪、屈偉洋、謝晨偉、楊世才、張晨麟等。感謝高斌斌和羅建豪幫助起草本書第3.2.4節(jié)和第4章的有關(guān)內(nèi)容。此外,特別感謝南京大學(xué)周志華教授、吳建鑫教授和澳大利亞阿德萊德大學(xué)沈春華教授等眾多師長(zhǎng)在筆者求學(xué)科研過程中不厭其煩細(xì)致入微的指導(dǎo)、教育和關(guān)懷。同時(shí),感謝電子工業(yè)出版社的劉皎老師為本書出版所做的努力。最后非常感謝筆者的父母,感謝他們的養(yǎng)育和一直以來的理解、體貼與照顧。寫就本書,筆者自認(rèn)才疏學(xué)淺,僅略知皮毛,更兼時(shí)間和精力有限,書中錯(cuò)謬之處在所難免,若蒙讀者不棄,還望不吝賜教,筆者將不勝感激!
魏秀參
先睹為快:重點(diǎn)章節(jié)試讀——模型集成方法
模型集成方法
集成學(xué)習(xí) (ensemble learning) 是機(jī)器學(xué)習(xí)中的一類學(xué)習(xí)算法,指訓(xùn)練多個(gè)學(xué)習(xí)器并將它們組合起來使用的方法。這類算法通常在實(shí)踐中能取得比單個(gè)學(xué)習(xí)器更好的預(yù)測(cè)結(jié)果,頗有“眾人拾柴火焰高”之意。特別是歷屆國際重量級(jí)學(xué)術(shù)競(jìng)賽,如 ImageNet、KDD Cup以及許多 Kaggle 競(jìng)賽的冠軍做法,或簡(jiǎn)單或復(fù)雜但最后一步必然是集成學(xué)習(xí)。盡管深度網(wǎng)絡(luò)模型已經(jīng)擁有強(qiáng)大的預(yù)測(cè)能力,但集成學(xué)習(xí)方法的使用仍然能起到“錦上添花”的作用。因此有必要了解并掌握一些深度模型方面的集成方法。一般來講,深度模型的集成多從“數(shù)據(jù)層面”和“模型層面”兩方面著手。
13.1 數(shù)據(jù)層面的集成方法
13.1.1 測(cè)試階段數(shù)據(jù)擴(kuò)充
本書在第5章“數(shù)據(jù)擴(kuò)充”中曾提到了訓(xùn)練階段的若干數(shù)據(jù)擴(kuò)充策略,實(shí)際上,這些擴(kuò)充策略在模型測(cè)試階段同樣適用,諸如圖像多尺度(multi-scale)、隨機(jī)摳取(random crop)等。以隨機(jī)摳取為例,對(duì)某張測(cè)試圖像可得到 n 張隨機(jī)摳取圖像,測(cè)試階段只需用訓(xùn)練好的深度網(wǎng)絡(luò)模型對(duì) n 張圖像分別做預(yù)測(cè),之后將預(yù)測(cè)的各類置信度平均作為該測(cè)試圖像最終預(yù)測(cè)結(jié)果即可。
13.1.2 “簡(jiǎn)易集成”法
“簡(jiǎn)易集成”法 (easy ensemble) [59]是 Liu 等人提出的針對(duì)不平衡樣本問題的一種集成學(xué)習(xí)解決方案。具體來說,“簡(jiǎn)易集成”法對(duì)于樣本較多的類別采取降采樣(undersampling),每次采樣數(shù)依照樣本數(shù)目最少的類別而定,這樣可使每類取到的樣本數(shù)保持均等。采樣結(jié)束后,針對(duì)每次采樣得到的子數(shù)據(jù)集訓(xùn)練模型,如此采樣、訓(xùn)練反復(fù)進(jìn)行多次。最后對(duì)測(cè)試數(shù)據(jù)的預(yù)測(cè)則從對(duì)訓(xùn)練得到的若干個(gè)模型的結(jié)果取平均或投票獲得(有關(guān)“多模型集成方法”內(nèi)容請(qǐng)參見13.2.2節(jié))??偨Y(jié)來說,“簡(jiǎn)易集成”法在模型集成的同時(shí),還能緩解數(shù)據(jù)不平衡帶來的問題,可謂一舉兩得。
13.2 模型層面的集成方法
13.2.1 單模型集成
多層特征融合
多層特征融合 (multi-layer ensemble) 是針對(duì)單模型的一種模型層面集成方法。由于深度卷積神經(jīng)網(wǎng)絡(luò)特征具有層次性的特點(diǎn)(參見3.1.3節(jié)內(nèi)容),不同層特征富含的語義信息可以相互補(bǔ)充,在圖像語義分割[31]、細(xì)粒度圖像檢索[84]、基于視頻的表象性格分析[97]等任務(wù)中常見到多層特征融合策略的使用。一般地,在進(jìn)行多層特征融合操作時(shí)可直接將不同層網(wǎng)絡(luò)特征級(jí)聯(lián)(concatenate)。而對(duì)于特征融合應(yīng)選取哪些網(wǎng)絡(luò)層,一個(gè)實(shí)踐經(jīng)驗(yàn)是,最好使用靠近目標(biāo)函數(shù)的幾層卷積特征,因?yàn)橛顚犹卣靼母邔诱Z義性愈強(qiáng),分辨能力也愈強(qiáng);相反,網(wǎng)絡(luò)較淺層的特征較普適,用于特征融合很可能起不到作用,有時(shí)甚至?xí)鸬较喾醋饔谩?/p>
網(wǎng)絡(luò)“快照”集成法
我們知道,深度神經(jīng)網(wǎng)絡(luò)模型復(fù)雜的解空間中存在非常多的局部最優(yōu)解,但經(jīng)典批處理隨機(jī)梯度下降法(mini-batch SGD)只能讓網(wǎng)絡(luò)模型收斂到其中一個(gè)局部最優(yōu)解。網(wǎng)絡(luò)“快照”集成法(snapshot ensemble)[43]便利用了網(wǎng)絡(luò)解空間中的這些局部最優(yōu)解來對(duì)單個(gè)網(wǎng)絡(luò)做模型集成。通過循環(huán)調(diào)整網(wǎng)絡(luò)學(xué)習(xí)率(cyclic learning rate schedule)可使網(wǎng)絡(luò)依次收斂到不同的局部最優(yōu)解處,如圖13-1左圖所示。
具體而言,是將網(wǎng)絡(luò)學(xué)習(xí)率 η 設(shè)置為隨模型迭代輪數(shù) t(iteration,即一次批處理隨機(jī)梯度下降稱為一個(gè)迭代輪數(shù))改變的函數(shù),即:
其中,η0 為初始學(xué)習(xí)率,一般設(shè)為 0.1 或 0.2。t 為模型迭代輪數(shù)(即 mini- batch 批處理訓(xùn)練次數(shù))。T 為模型總的批處理訓(xùn)練次數(shù)。M 為學(xué)習(xí)率“循環(huán)退火”(cyclic annealing)次數(shù),其對(duì)應(yīng)了模型將收斂到的局部最優(yōu)解個(gè)數(shù)。式13.1利用余弦函數(shù) cos() 的循環(huán)性來循環(huán)更新網(wǎng)絡(luò)學(xué)習(xí)率,將學(xué)習(xí)率從 0.1 隨 t 的增長(zhǎng)逐漸減緩到 0,之后將學(xué)習(xí)率重新放大從而跳出該局部最優(yōu)解,自此開始下一循環(huán)的訓(xùn)練,此循環(huán)結(jié)束后可收斂到新的局部最優(yōu)解處,如此循環(huán)往復(fù)......直到 M 個(gè)循環(huán)結(jié)束。因式13.1中利用余弦函數(shù)循環(huán)更新網(wǎng)絡(luò)參數(shù),所以這一過程被稱為“循環(huán)余弦退火”過程 (cyclic cosine annealing)[61]。
當(dāng)經(jīng)過“循環(huán)余弦退火”對(duì)學(xué)習(xí)率調(diào)整后,每個(gè)循環(huán)結(jié)束可使模型收斂到一個(gè)不同的局部最優(yōu)解,若將收斂到不同局部最優(yōu)解的模型保存便可得到 M 個(gè)處于不同收斂狀態(tài)的模型,如圖13-1右圖中紅色曲線所示。對(duì)于每個(gè)循環(huán)結(jié)束后保存的模型,我們稱之為模型“快照” (snapshot)。測(cè)試階段在做模型集成時(shí),由于深度網(wǎng)絡(luò)模型在初始訓(xùn)練階段未必?fù)碛休^優(yōu)性能,因此一般挑選最后 m 個(gè)模型“快照”用于集成。關(guān)于對(duì)這些模型“快照”的集成策略可采用本章后面提到的“直接平均法”。
13.2.2 多模型集成
上一節(jié)我們介紹了基于單個(gè)網(wǎng)絡(luò)如何進(jìn)行模型集成,本節(jié)向大家介紹如何產(chǎn)生多個(gè)不同網(wǎng)絡(luò)訓(xùn)練結(jié)果和一些多模型的集成方法。
多模型生成策略
同一模型不同初始化。我們知道,由于神經(jīng)網(wǎng)絡(luò)訓(xùn)練機(jī)制基于隨機(jī)梯度下降法,故不同的網(wǎng)絡(luò)模型參數(shù)初始化會(huì)導(dǎo)致不同的網(wǎng)絡(luò)訓(xùn)練結(jié)果。在實(shí)際使用中,特別是針對(duì)小樣本(limited examples)學(xué)習(xí)的場(chǎng)景,首先對(duì)同一模型進(jìn)行不同初始化,之后將得到的網(wǎng)絡(luò)模型進(jìn)行結(jié)果集成會(huì)大幅緩解隨機(jī)性,提升最終任務(wù)的預(yù)測(cè)結(jié)果。
同一模型不同訓(xùn)練輪數(shù)。若網(wǎng)絡(luò)超參數(shù)設(shè)置得當(dāng),則深度模型隨著網(wǎng)絡(luò)訓(xùn)練的進(jìn)行會(huì)逐步趨于收斂,但不同訓(xùn)練輪數(shù)的結(jié)果仍有不同,無法確定到底哪一輪訓(xùn)練得到的模型最適用于測(cè)試數(shù)據(jù)。針對(duì)上述問題,一種簡(jiǎn)單的解決方式是將最后幾輪訓(xùn)練模型結(jié)果做集成,這樣一方面可降低隨機(jī)誤差,另一方面也避免了訓(xùn)練輪數(shù)過多帶來的過擬合風(fēng)險(xiǎn)。這樣的操作被稱為“輪數(shù)集成”(epoch fusion 或 epoch ensemble)。具體使用實(shí)例可參考 ECCV 2016 舉辦的“基于視頻的表象性格分析”競(jìng)賽冠軍做法[97]。
不同目標(biāo)函數(shù)。目標(biāo)函數(shù)(或稱損失函數(shù))是整個(gè)網(wǎng)絡(luò)訓(xùn)練的“指揮棒”,選擇不同的目標(biāo)函數(shù)勢(shì)必使網(wǎng)絡(luò)學(xué)到不同的特征表示。以分類任務(wù)為例,可將“交叉熵?fù)p失函數(shù)”、“合頁損失函數(shù)”、“大間隔交叉熵?fù)p失函數(shù)”和“中心損失函數(shù)”作為目標(biāo)函數(shù)分別訓(xùn)練模型。在預(yù)測(cè)階段,既可以直接對(duì)不同模型預(yù)測(cè)結(jié)果做“置信度級(jí)別”(score level)的平均或投票,也可以做“特征級(jí)別”(feature level)的模型集成:將不同網(wǎng)絡(luò)得到的深度特征抽出后級(jí)聯(lián)作為最終特征,之后離線訓(xùn)練淺層分類器(如支持向量機(jī))完成預(yù)測(cè)任務(wù)。
不同網(wǎng)絡(luò)結(jié)構(gòu)。也是一種有效的產(chǎn)生不同網(wǎng)絡(luò)模型結(jié)果的方式。操作時(shí)可在如 VGG 網(wǎng)絡(luò)、深度殘差網(wǎng)絡(luò)等不同網(wǎng)絡(luò)架構(gòu)的網(wǎng)絡(luò)上訓(xùn)練模型,最后對(duì)從不同架構(gòu)網(wǎng)絡(luò)得到的結(jié)果做集成。
多模型集成方法
使用上一節(jié)提到的多模型生成策略或網(wǎng)絡(luò)“快照”集成法均可得到若干網(wǎng)絡(luò)訓(xùn)練結(jié)果,除特征級(jí)別直接級(jí)聯(lián)訓(xùn)練離線淺層學(xué)習(xí)器外,還可以在網(wǎng)絡(luò)預(yù)測(cè)結(jié)果級(jí)別對(duì)得到的若干網(wǎng)絡(luò)結(jié)果做集成。下面介紹四種最常用的多模型集成方法。假設(shè)共有 N 個(gè)模型待集成,對(duì)某測(cè)試樣本 x,其預(yù)測(cè)結(jié)果為 N 個(gè) C 維向量(C 為數(shù)據(jù)的標(biāo)記空間大小): s1,s2,...,sN。
直接平均法(simpleaveraging) 是最簡(jiǎn)單有效的多模型集成方法,通過直接將不同模型產(chǎn)生的類別置信度進(jìn)行平均得到最后預(yù)測(cè)結(jié)果:
加權(quán)平均法(weighted averaging) 是在直接平均法基礎(chǔ)上加入權(quán)重來調(diào)節(jié)不同模型輸出的重要程度:
其中,ωi 對(duì)應(yīng)第 i 個(gè)模型的權(quán)重,且須滿足:
在實(shí)際使用時(shí),關(guān)于權(quán)重 ωi 的取值可根據(jù)不同模型在驗(yàn)證集上各自單獨(dú)的準(zhǔn)確率而定,高準(zhǔn)確率的模型權(quán)重較高,低準(zhǔn)確率模型可設(shè)置稍小權(quán)重。
投票法(voting) 中最常用的是多數(shù)表決法 (majority voting),表決前需先將各自模型返回的預(yù)測(cè)置信度 si 轉(zhuǎn)化為預(yù)測(cè)類別,即最高置信度對(duì)應(yīng)的類別標(biāo)記ci ∈{1,2,...,C}作為該模型的預(yù)測(cè)結(jié)果。在多數(shù)表決法中,在得到樣本 x 的最終預(yù)測(cè)時(shí),若某預(yù)測(cè)類別獲得一半以上模型投票,則該樣本預(yù)測(cè)結(jié)果為該類別;若對(duì)于該樣本無任何類別獲得一半以上投票,則拒絕做出預(yù)測(cè)(稱為“rejection option”)。
投票法中另一種常用方法是相對(duì)多數(shù)表決法 (plurality voting),與多數(shù)表決法會(huì)輸出“拒絕預(yù)測(cè)”不同的是,相對(duì)多數(shù)表決法一定會(huì)返回某個(gè)類別作為預(yù)測(cè)結(jié)果,因?yàn)橄鄬?duì)多數(shù)表決是選取投票數(shù)最高的類別作為最后預(yù)測(cè)結(jié)果。
堆疊法(stacking) 又稱“二次集成法”,是一種高階的集成學(xué)習(xí)算法。在剛才的例子中,樣本 x 作為學(xué)習(xí)算法或網(wǎng)絡(luò)模型的輸入,si 作為第 i 個(gè)模型的類別置信度輸出,整個(gè)學(xué)習(xí)過程可記作一階學(xué)習(xí)過程 (first-level learning)。堆疊法則是以一階學(xué)習(xí)過程的輸出作為輸入開展二階學(xué)習(xí)過程 (second-level learning),有時(shí)也稱作“元學(xué)習(xí)” (meta learning)。拿剛才的例子來說,對(duì)于樣本 x,堆疊法的輸入是 N 個(gè)模型的預(yù)測(cè)置信度 [s1s2 . . . sN ],這些置信度可以級(jí)聯(lián)作為新的特征表示。之后基于這樣的“特征表示”訓(xùn)練學(xué)習(xí)器將其映射到樣本原本的標(biāo)記空間。注意,此時(shí)的學(xué)習(xí)器可為任何學(xué)習(xí)算法習(xí)得的模型,如支持向量機(jī) (support vector machine)、隨機(jī)森林(random forest),當(dāng)然也可以是神經(jīng)網(wǎng)絡(luò)模型。不過在此需要指出的是,堆疊法有較大的過擬合風(fēng)險(xiǎn)。
13.3 小結(jié)
深度網(wǎng)絡(luò)的模型集成往往是提升網(wǎng)絡(luò)最終預(yù)測(cè)能力的一劑“強(qiáng)心針”,本章從“數(shù)據(jù)層面”和“模型層面”兩個(gè)方面介紹了一些深度網(wǎng)絡(luò)模型集成的方法。
數(shù)據(jù)層面常用的方法是數(shù)據(jù)擴(kuò)充和“簡(jiǎn)易集成”法,均操作簡(jiǎn)單但效果顯著。
模型層面的模型集成方法可分為“單模型集成”和“多模型集成”?;趩我荒P偷募煞椒山柚鷨蝹€(gè)模型的多層特征的融合和網(wǎng)絡(luò)“快照”法進(jìn)行。關(guān)于多模型集成,可通過不同參數(shù)初始化、不同訓(xùn)練輪數(shù)和不同目標(biāo)函數(shù)的設(shè)定產(chǎn)生多個(gè)網(wǎng)絡(luò)模型的訓(xùn)練結(jié)果。最后使用平均法、投票法和堆疊法進(jìn)行結(jié)果集成。
需要指出的是,第10章提到的隨機(jī)失活 (dropout) 實(shí)際上也是一種隱式的模型集成方法。有關(guān)隨機(jī)失活的具體內(nèi)容請(qǐng)參考10.4節(jié)。更多關(guān)于集成學(xué)習(xí)的理論和算法請(qǐng)參考南京大學(xué)周志華的著作“Ensemble Methods: Foundations and Algorithms”[99]。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4811瀏覽量
103051 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5557瀏覽量
122583
原文標(biāo)題:周志華作序!高徒魏秀參新書《解析深度學(xué)習(xí)》試讀(評(píng)論贈(zèng)書)
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論