1-1 機(jī)器學(xué)習(xí)策略
後續(xù)會(huì)討論分析機(jī)器學(xué)習(xí)問(wèn)題的方法。
1-2 正交化
構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用的一大挑戰(zhàn)是有眾多的方案與選項(xiàng)可以選擇和調(diào)整,像是超參數(shù)。
在調(diào)優(yōu)的過(guò)程中,需要明確進(jìn)行什麼樣的調(diào)整,可以達(dá)到什麼樣的目的,將各個(gè)問(wèn)題獨(dú)立開(kāi)來(lái),在互不影響的情況下分別進(jìn)行調(diào)優(yōu),正交化(Orthogonalization)的解決各個(gè)問(wèn)題。
例如對(duì)於監(jiān)督學(xué)習(xí)系統(tǒng),通常需要通過(guò)調(diào)優(yōu),確保模型:
- 能夠在成本函數(shù)上很好的擬合訓(xùn)練集
- 能夠在成本函數(shù)上很好的擬合開(kāi)發(fā)集
- 能夠在成本函數(shù)上很好的擬合測(cè)試集
- 能夠在現(xiàn)實(shí)世界的實(shí)際問(wèn)題中也具有很好的性能
當(dāng)模型不能很好的擬合訓(xùn)練集:
存在高偏差問(wèn)題時(shí),解決方法有使用更大的網(wǎng)絡(luò)、調(diào)整優(yōu)化算法(如使用Adam)等;
當(dāng)模型能夠很好的擬合訓(xùn)練集,但不能很好的擬合開(kāi)發(fā)集時(shí):
說(shuō)明可能存在過(guò)擬合,解決方法有使用正則化、使用更大的訓(xùn)練集等;
當(dāng)模型能夠很好的擬合開(kāi)發(fā)集,但不能很好的擬合測(cè)試集時(shí):
說(shuō)明模型可能過(guò)調(diào)於開(kāi)發(fā)集,可以嘗試使用更大的開(kāi)發(fā)集;
當(dāng)模型能夠很好的擬合測(cè)試集,但在實(shí)際問(wèn)題上性能不佳時(shí):
說(shuō)明開(kāi)發(fā)集和測(cè)試集的分佈不一致,或者使用的成本函數(shù)不能準(zhǔn)確地衡量實(shí)際問(wèn)題,需要調(diào)整開(kāi)發(fā)集或者成本函數(shù)。
在進(jìn)行調(diào)優(yōu)或出現(xiàn)問(wèn)題時(shí),首先應(yīng)當(dāng)定位系統(tǒng)性能的瓶頸或問(wèn)題的原因,然後選擇合適的方式,避免在解決問(wèn)題的同時(shí)影響到另一個(gè)問(wèn)題,由此可以降低調(diào)優(yōu)過(guò)程的複雜度。而前面的提前終止則嘗試同時(shí)解決擬合訓(xùn)練集與避免過(guò)度擬合兩個(gè)問(wèn)題,會(huì)帶來(lái)額外的複雜度。
1-3 單一評(píng)估指標(biāo)
機(jī)器學(xué)習(xí)涉及很多可以選擇的演算法與需要調(diào)優(yōu)的超參數(shù),往往難以在一開(kāi)始就找到最佳選擇。而使用單一評(píng)估指標(biāo)來(lái)對(duì)模型性能進(jìn)行評(píng)估,可以立即知道所進(jìn)行的調(diào)整是否有效,有利於提高迭代的效率。
例如使用不同的超參數(shù)得到了兩個(gè)分類器A與B,為了判斷二者誰(shuí)更好,比較它們的準(zhǔn)確率(Precision)與召回率(Recall)如下表:
分類器 | 準(zhǔn)確率 | 召回率 |
A | 95% | 90% |
B | 98% | 85% |
此時(shí),需要找到一個(gè)新的評(píng)價(jià)指標(biāo),這個(gè)指標(biāo)能夠綜合準(zhǔn)確率與召回率。
常見(jiàn)方法是使用F1分?jǐn)?shù),即準(zhǔn)確率P與召回率R的調(diào)和平均數(shù)。
1-4 滿足與優(yōu)化指標(biāo)
難以將所有評(píng)價(jià)標(biāo)準(zhǔn)整合到一個(gè)指標(biāo)中,需要分清主次,設(shè)定滿足指標(biāo)(Satisficing Metric)和優(yōu)化指標(biāo)(Optimizing Metric)。
例如,對(duì)於某個(gè)特定問(wèn)題,我們關(guān)心分類器的準(zhǔn)確率與執(zhí)行預(yù)測(cè)所需的運(yùn)行時(shí)間,此時(shí)有三個(gè)分類器的性能如下表:
分類器 | 準(zhǔn)確率 | 運(yùn)行時(shí)間 |
A | 90% | 80ms |
B | 92% | 95ms |
C | 95% | 1500ms |
若使用加權(quán)平均數(shù)來(lái)綜合準(zhǔn)確率與運(yùn)行時(shí)間,而兩者沒(méi)有什麼必然的關(guān)係,並無(wú)說(shuō)服力。
更合理的做法是,選擇準(zhǔn)確率作為優(yōu)化指標(biāo),即希望其最大化;運(yùn)行時(shí)間作為滿足指標(biāo)。
例如限制運(yùn)行時(shí)間不能大於100 ms,此時(shí)分類器C被排除;
在剩下的A和B中,不再關(guān)心運(yùn)行時(shí)間,只選擇準(zhǔn)確率最大的分類器,即B。
1-5 訓(xùn)練/開(kāi)發(fā)/測(cè)試集分佈
訓(xùn)練集、開(kāi)發(fā)集、測(cè)試集的選擇會(huì)極大地影響到模型迭代的效率。
還是以從圖片中識(shí)別貓的分類器為例,假設(shè)這個(gè)應(yīng)用主要針對(duì)以下地區(qū):
- 美國(guó)
- 英國(guó)
- 其他歐洲地區(qū)
- 南美
- 印度
- 中國(guó)
- 其他亞洲地區(qū)
- 澳大利亞
要從這些地區(qū)的資料中選擇開(kāi)發(fā)集與測(cè)試集。合理的選擇方式是,先將所有8個(gè)地區(qū)的資料混合起來(lái),然後再?gòu)闹蟹殖鲩_(kāi)發(fā)集與測(cè)試集,使其倆具有同樣的分佈。
總而言之,開(kāi)發(fā)集與測(cè)試集要能夠反映未來(lái)實(shí)際應(yīng)用中真正重要的資料且具有相同的分佈。
1-6 開(kāi)發(fā)/測(cè)試集大小
現(xiàn)代機(jī)器學(xué)習(xí)領(lǐng)域,使用的資料量有了巨幅的提升。例如有100萬(wàn)個(gè)樣本,此時(shí)則應(yīng)使用98% / 1% / 1% 的比例劃分訓(xùn)練集、開(kāi)發(fā)集與測(cè)試集。雖然開(kāi)發(fā)集與測(cè)試集只佔(zhàn)了很小的比例,但由於樣本基數(shù)很大,兩者也都有10000個(gè)樣本,足夠用於測(cè)試。而深度學(xué)習(xí)往往需要大量的資料,因此要把更多的資料留給訓(xùn)練集。
測(cè)試集用來(lái)得到對(duì)最終系統(tǒng)性能的無(wú)偏估計(jì),其大小只要能給出對(duì)系統(tǒng)整體性能的高置信的評(píng)估即可,一般不需要特別大。除非要獲得非常精確的系統(tǒng)性能,才需要使用更大的測(cè)試集。若不需要對(duì)最終系統(tǒng)性能進(jìn)行評(píng)估,則也可以不使用測(cè)試集,只劃分訓(xùn)練集和開(kāi)發(fā)集。
1-7 替換開(kāi)發(fā)/測(cè)試集指標(biāo)
設(shè)定測(cè)試集與唯一的評(píng)價(jià)指標(biāo),相當(dāng)於確定所要瞄準(zhǔn)的靶子。但有時(shí)項(xiàng)目進(jìn)行到一半,發(fā)現(xiàn)靶子放錯(cuò)地方了,這是就需要重新調(diào)整靶子的位置,即替換開(kāi)發(fā)/測(cè)試集指標(biāo)。
例如從圖片中識(shí)別貓的分類器,使用分類錯(cuò)誤率作為評(píng)價(jià)標(biāo)準(zhǔn):算法A有3%的錯(cuò)誤率,算法B有5%的錯(cuò)誤率,這樣來(lái)看算法A 具有更好的性能。但之後通過(guò)更細(xì)緻的檢查發(fā)現(xiàn)...
算法A會(huì)誤將一些色情圖片也識(shí)別為貓。雖然使用者可以看到更多的貓,但一些色情圖片也會(huì)被誤判為貓並推薦,這是不能容忍的。
算法B雖然錯(cuò)誤率較高,但不會(huì)將色情圖片誤判為貓,此時(shí)無(wú)論從公司還是從使用者的角度,都會(huì)選擇算法B。雖然透過(guò)錯(cuò)誤率指標(biāo),可以判定A更好,但實(shí)際上卻選擇了B。
上面例子使用錯(cuò)誤率作為評(píng)估指標(biāo),即:
mdev為開(kāi)發(fā)集樣本數(shù),I為恆等函數(shù),y(i)pred和y(i)分別為第i個(gè)樣本的預(yù)測(cè)與真實(shí)標(biāo)籤,在不等於時(shí)為1,反之為0。
在上面例子中使用錯(cuò)誤率作為評(píng)價(jià)指標(biāo)的問(wèn)題是,錯(cuò)誤率對(duì)於色情圖片和非色情圖片一視同仁:都是計(jì)為1次錯(cuò)誤。而實(shí)際中我們不希望出現(xiàn)色情圖片,需要增大將色情圖片分類為貓的懲罰力度,例如添加一個(gè)權(quán)重w(i),以增大將色情圖片分類為貓的錯(cuò)誤的權(quán)重:
if(色情圖片) w(i)=10 else w(i)=1
當(dāng)評(píng)估指標(biāo)不再能正確地反映模型的真實(shí)性能,不再能給出模型性能的正確排序時(shí),就需對(duì)其進(jìn)行調(diào)整,有時(shí)還需要調(diào)整開(kāi)發(fā)集。
解決上面例子中問(wèn)題的思路也體現(xiàn)了正交化的思想,即首先定義一個(gè)評(píng)估指標(biāo),然後再考慮如何讓模型在這個(gè)指標(biāo)上獲得更好的性能,這兩個(gè)步驟是獨(dú)立的、互不影響的。仍使用靶子的比喻來(lái)講,就是首先確定要把靶子放在哪裡,然後再考慮如何準(zhǔn)確地射中靶子。
當(dāng)使用開(kāi)發(fā)集與測(cè)試集在評(píng)估指標(biāo)上達(dá)到很好的效果,並不能保證在實(shí)際關(guān)心的應(yīng)用場(chǎng)景也具有很好的效果時(shí),此時(shí)也需要修改評(píng)價(jià)指標(biāo)與開(kāi)發(fā)/測(cè)試集。
1-8 為何要達(dá)到人類性能水平?
為的更容易設(shè)計(jì)與搭建機(jī)器學(xué)習(xí)系統(tǒng),來(lái)解決一些人類也可以解決的問(wèn)題。
隨著時(shí)間的推進(jìn),在演算法的性能到達(dá)人類水平之前,進(jìn)展會(huì)比較快;
而當(dāng)演算法性能超過(guò)人類水平後,提升速度就會(huì)降低,其錯(cuò)誤率最終會(huì)無(wú)限接近於貝葉斯錯(cuò)誤率(Bayes Error Rate),其是可能達(dá)到的最佳錯(cuò)誤率。
e.g.例如一些語(yǔ)音非常不清晰,根本無(wú)法識(shí)別說(shuō)的是什麼,因此識(shí)別率無(wú)法達(dá)到100%。
當(dāng)演算法性能低於人類水平時(shí),透過(guò)一些手段可以提升性能:
- 透過(guò)人類獲取標(biāo)記資料,即讓人來(lái)標(biāo)記資料,這樣演算法就有更多的資料用於訓(xùn)練。
- 透過(guò)手工錯(cuò)誤分析,理解演算法與人類的差距,如讓人來(lái)分析算法預(yù)測(cè)錯(cuò)誤的樣本,嘗試找出算法預(yù)測(cè)錯(cuò)誤的原因。
- 可以更好地分析偏差和方差問(wèn)題。
而當(dāng)演算法性能超過(guò)人類水平後,就難以透過(guò)以上方法來(lái)提升演算法的性能了。
1-9 可避免的偏差
透過(guò)與人類水平進(jìn)行比較,才能知道演算法要在訓(xùn)練集上達(dá)到什麼樣的性能才是最佳的。
錯(cuò)誤率(%) | ||
情況A | 情況B | |
人類 | 1 | 7.5 |
訓(xùn)練集 | 8 | 8 |
開(kāi)發(fā)集 | 10 | 10 |
對(duì)於情況B:訓(xùn)練集錯(cuò)誤率與人類錯(cuò)誤率差不多,提升空間不大;而開(kāi)發(fā)集錯(cuò)誤率與訓(xùn)練集錯(cuò)誤率之間有較大的差距,說(shuō)明算法不能很好地一般化,需要集中精力降低方差。
從上面的兩個(gè)例子可以看出,雖然兩個(gè)例子中的訓(xùn)練集錯(cuò)誤率與開(kāi)發(fā)集錯(cuò)誤率都相同,但透過(guò)比較人類在具體任務(wù)和場(chǎng)景中的水平(或者說(shuō)是貝葉斯錯(cuò)誤率) ,我們可以對(duì)演算法應(yīng)該達(dá)到的性能做出估計(jì),據(jù)此採(cǎi)取不同的手段來(lái)提升演算法的性能。訓(xùn)練集錯(cuò)誤率與貝葉斯錯(cuò)誤率之間的差距稱為可避免的偏差(Avoidable Bias)。
1-10 了解人類性能指標(biāo)
前面使用人類水平的錯(cuò)誤率作為貝葉斯錯(cuò)誤率的估計(jì),那麼要如何定義人類水平呢?
例如對(duì)於某個(gè)識(shí)別X光片的任務(wù),人類存在不同的錯(cuò)誤率:
- 普通人的錯(cuò)誤率:3%
- 普通醫(yī)生的錯(cuò)誤率:1%
- 有經(jīng)驗(yàn)的醫(yī)生的錯(cuò)誤率:0.7%
- 一群有經(jīng)驗(yàn)的醫(yī)生進(jìn)行會(huì)診的錯(cuò)誤率:0.5%
雖然不同的人具有不同的錯(cuò)誤率,但由上面的資料可以知道人類所能達(dá)到的最低錯(cuò)誤率,使用0.5%作為人類水平的錯(cuò)誤率,即貝葉斯錯(cuò)誤率的估計(jì)。
1-11 超越人類水平的表現(xiàn)
在一些領(lǐng)域中,機(jī)器學(xué)習(xí)算法的性能大幅超過(guò)了人類水平,例如線上廣告中預(yù)測(cè)使用者點(diǎn)擊廣告的機(jī)率、進(jìn)行商品推薦、預(yù)測(cè)交通/物流耗時(shí)、貸款審批等。這些都是從海量的結(jié)構(gòu)化資料中進(jìn)行學(xué)習(xí),演算法所看過(guò)的資料量遠(yuǎn)遠(yuǎn)大於任何人類,電腦更擅長(zhǎng)從海量資料中提取統(tǒng)計(jì)上的特定模式,其性能更容易超過(guò)人類水平。
而對(duì)於自然感知上的問(wèn)題,如電腦視覺(jué)、語(yǔ)音識(shí)別、自然語(yǔ)言處理等,這是人類非常擅長(zhǎng)的領(lǐng)域,要在這些領(lǐng)域超越人類往往更加困難。雖然讓電腦在自然感知的問(wèn)題上超過(guò)人類水平並不容易,但隨著深度學(xué)習(xí)的發(fā)展,對(duì)於某些單一的監(jiān)督學(xué)習(xí)問(wèn)題,如語(yǔ)音識(shí)別與某些圖像識(shí)別,電腦的水平已經(jīng)可以超過(guò)單個(gè)人類。
1-12 改善模型性能
監(jiān)督學(xué)習(xí)演算法的訓(xùn)練過(guò)程相當(dāng)於努力完成以下兩個(gè)目標(biāo):
- 可以非常好的擬合訓(xùn)練集,相當(dāng)於可避免的偏差很低。
- 演算法在訓(xùn)練集上的性能可以一般化到開(kāi)發(fā)集與測(cè)試集,相當(dāng)於方差很低。
透過(guò)比較訓(xùn)練集錯(cuò)誤率與人類水平(即貝葉斯錯(cuò)誤率的估計(jì)),可以得知可避免的偏差大小,即在訓(xùn)練集上的性能還有多大的提升空間;
透過(guò)比較開(kāi)發(fā)集錯(cuò)誤率與訓(xùn)練集錯(cuò)誤率,可以得知方差的大小,即在一般化能力上還有多大的提升空間。
應(yīng)用正交化,可以獨(dú)立地解決高偏差與高方差的問(wèn)題。解決高偏差問(wèn)題的方法有:
- 訓(xùn)練更大的模型
- 訓(xùn)練更長(zhǎng)時(shí)間
- 用更好的優(yōu)化演算法(如使用動(dòng)量、RMSprop、Adam等)
- 進(jìn)行超參數(shù)搜索
- 調(diào)整神經(jīng)網(wǎng)路結(jié)構(gòu)(如調(diào)整網(wǎng)絡(luò)層數(shù)、激活函數(shù)、使用CNN/RNN等)
解決高方差問(wèn)題的方法有:
- 獲取更多資料
- 正規(guī)化(如L2正規(guī)化、Dropout等)
- 進(jìn)行超參數(shù)搜索
- 調(diào)整神經(jīng)網(wǎng)路結(jié)構(gòu)
2-1 進(jìn)行錯(cuò)誤分析
- 解決將狗識(shí)別為貓的問(wèn)題
- 解決將大型貓科動(dòng)物(如獅子、黑豹等)識(shí)別為貓的問(wèn)題
- 提高在模糊圖片上的性能
錯(cuò)誤分析透過(guò)手工檢查在開(kāi)發(fā)集中給出錯(cuò)誤預(yù)測(cè)的樣本,對(duì)各種錯(cuò)誤的原因進(jìn)行統(tǒng)計(jì),可以預(yù)估進(jìn)一步各個(gè)方案的潛在收益,決定前進(jìn)的方向,有時(shí)還可以發(fā)現(xiàn)新的錯(cuò)誤類型。
2-2 清除標(biāo)籤錯(cuò)誤的資料
比較標(biāo)籤錯(cuò)誤資料帶來(lái)的錯(cuò)誤率佔(zhàn)比,決定其處理的優(yōu)先級(jí)。
修復(fù)具有標(biāo)籤錯(cuò)誤的資料時(shí),建議遵循以下準(zhǔn)則:
- 對(duì)開(kāi)發(fā)集與測(cè)試集應(yīng)用同樣的處理流程,保證它們來(lái)自相同的分佈。
- 考慮同時(shí)修復(fù)算法預(yù)測(cè)與標(biāo)籤一致,但實(shí)際上資料標(biāo)籤有誤的樣本。檢查算法預(yù)測(cè)與標(biāo)籤不一致的樣本,從中找出並修復(fù)標(biāo)籤有誤的資料比較容易,但也存在算法預(yù)測(cè)與標(biāo)籤相符,而樣本本身的標(biāo)籤有誤,實(shí)際上是算法預(yù)測(cè)錯(cuò)誤的情況。這樣做的難度較大,因?yàn)樾枰獧z查所有(開(kāi)發(fā)/測(cè)試集)資料,而不僅僅是算法預(yù)測(cè)與標(biāo)籤不符的一小部分。
- 若只修復(fù)了開(kāi)發(fā)集與測(cè)試集,而沒(méi)有修復(fù)訓(xùn)練集,此時(shí)訓(xùn)練集與開(kāi)發(fā)/測(cè)試集就會(huì)具有不同的分佈,這是可以接受的,學(xué)習(xí)演算法足夠克服這一問(wèn)題。但開(kāi)發(fā)/集合/測(cè)試集必須具有相同的分佈。
2-3 快速構(gòu)建第一個(gè)系統(tǒng)後迭代
在構(gòu)建一個(gè)全新的機(jī)器學(xué)習(xí)應(yīng)用時(shí),往往會(huì)面臨很多的選擇和提升系統(tǒng)性能的方向,一個(gè)建議是快速構(gòu)建第一個(gè)系統(tǒng),然後迭代,即:
- 設(shè)置開(kāi)發(fā)/測(cè)試集與指標(biāo)
- 快速建立初始系統(tǒng)
- 使用偏差/方差分析與誤差分析以決定後續(xù)步驟的優(yōu)先級(jí)
快速構(gòu)建初始系統(tǒng)的意義在於,訓(xùn)練中透過(guò)各種分析方法與工具快速找到前進(jìn)的方向。
對(duì)於所要解決的問(wèn)題若你已有豐富經(jīng)驗(yàn),或者對(duì)於該問(wèn)題已經(jīng)有了大量的研究與文獻(xiàn)可供參考,則也可以利用這些經(jīng)驗(yàn),在初始階段就構(gòu)建一個(gè)複雜的系統(tǒng)。
對(duì)於首次接觸的問(wèn)題,則一開(kāi)始不必將問(wèn)題考慮得過(guò)於復(fù)雜,先快速搭建一個(gè)初始的系統(tǒng),找到努力的方向,進(jìn)行迭代。
2-4 不同分佈的訓(xùn)練集與測(cè)試集
兩種獲得訓(xùn)練資料的途徑:
- 使用者實(shí)際上傳貓的圖片-通常分辨率不高、拍攝質(zhì)量也不佳,是我們真正關(guān)心的資料,即我們希望應(yīng)用能在這些圖片上有較好的性能,但數(shù)量少,如有1萬(wàn)個(gè)樣本。
- 從網(wǎng)上收集貓的圖片-在網(wǎng)上排名較高的圖片往往具有很高分辨率,由專業(yè)攝影師拍攝,質(zhì)量也很高,且數(shù)量龐大,如20萬(wàn)個(gè)樣本。
有兩種做法劃分集合:
訓(xùn)練集 | 開(kāi)發(fā)集 | 測(cè)試集 | |
A、隨機(jī)混合在一起 | 205,000 | 2,500 | 2,500 |
B、有意的分配 | 205,000 | 2,500 | 2,500 |
A是混成共21萬(wàn)筆資料再分配,雖然三集合成相似分佈但不能很好的反映真實(shí)性能。
B則是將使用者上傳的圖片做5000, 2500, 2500分佈在各集合,與前述反之。
2-5 不同資料分佈的偏差與方差
前面(1-9)提到透過(guò)錯(cuò)誤率比例能發(fā)現(xiàn)偏差與方差的問(wèn)題,但那是資料分佈相同的狀況。
可以先建立一個(gè)訓(xùn)練-開(kāi)發(fā)集(Training-Dev Set),其中的資料具有與訓(xùn)練集相同的分佈,但未用於訓(xùn)練。即隨機(jī)從訓(xùn)練集中抽取一小部分資料不用做訓(xùn)練。
錯(cuò)誤率(%) | ||||
A | B | C | D | |
人類 | 趨近0 | 趨近0 | 趨近0 | 趨近0 |
訓(xùn)練集 | 1 | 1 | 10 | 10 |
訓(xùn)練-開(kāi)發(fā)集 | 9 | 1.5 | 11 | 11 |
開(kāi)發(fā)集 | 10 | 10 | 12 | 20 |
問(wèn)題點(diǎn) | 高方差 | 資料不匹配 | 高偏差 | 高偏差且 資料不匹配 |
2-6 解決資料不匹配
- 透過(guò)人工錯(cuò)誤分析,找出訓(xùn)練集與開(kāi)發(fā)/測(cè)試集之間的差別。
- 讓訓(xùn)練集中的資料更加一致,或收集更多與開(kāi)發(fā)/測(cè)試集相似的資料:可透過(guò)人工資料合成(Artificial Data Synthesis)增加更多資料,不過(guò)需要注意必須反映真實(shí)場(chǎng)景。
2-7 遷移學(xué)習(xí)(Transfer Learning)
將一個(gè)神經(jīng)網(wǎng)絡(luò)從某個(gè)任務(wù)中習(xí)得的知識(shí)應(yīng)用到另一個(gè)任務(wù)上。
假設(shè)訓(xùn)練了一個(gè)用於圖形識(shí)別的神經(jīng)網(wǎng)路,現(xiàn)要將其學(xué)到的知識(shí)遷移到放射診斷上。
即輸入X光片,輸出診斷結(jié)果。
一種做法是移除原網(wǎng)路的輸出層及其參數(shù)(上圖?前一層),然後創(chuàng)建一層新的網(wǎng)路,作為新的輸出層,它的輸出為診斷結(jié)果。接著對(duì)新輸出層的參數(shù)進(jìn)行隨機(jī)初始化,使用新任務(wù)的資料集,即X光片的作為輸入,重新進(jìn)行訓(xùn)練。
- 若新任務(wù)的資料集較小,可以只訓(xùn)練新的輸出層,保持其他各層的參數(shù)不變。
- 若資料量足夠,也可以重新訓(xùn)練其他各層,此時(shí)對(duì)原圖形識(shí)別網(wǎng)路的訓(xùn)練就稱為預(yù)先訓(xùn)練(Pre-Training),在新的放射診斷的任務(wù)上的訓(xùn)練稱為微調(diào)(Fine Tuning)。
如果想要從任務(wù)A遷移到任務(wù)B,需要滿足:
- 任務(wù)A與任務(wù)B具有相同的輸入x(如皆為圖片)
- 任務(wù)A的可用資料遠(yuǎn)多於任務(wù)B(任務(wù)B中單個(gè)樣本的價(jià)值需高於任務(wù)A中的單個(gè)樣本)
- 任務(wù)A的低層特徵有益於任務(wù)B的學(xué)習(xí)(如邊緣檢測(cè))
2-8 多目標(biāo)學(xué)習(xí)
訓(xùn)練一個(gè)網(wǎng)路來(lái)進(jìn)行多個(gè)任務(wù),每一個(gè)任務(wù)的學(xué)習(xí)都可能有助於其他任務(wù)的學(xué)習(xí)。
Softmax回歸中每個(gè)樣本只能具有多種標(biāo)籤中的一個(gè),而多目標(biāo)學(xué)習(xí)中的每個(gè)樣本可以同時(shí)具有多個(gè)標(biāo)籤。
使用場(chǎng)景為:
- 所訓(xùn)練的多個(gè)任務(wù)具有共同的低層特徵,能互相從學(xué)習(xí)中獲益。
- (通常)每個(gè)任務(wù)上能夠使用的資料量很少。
- 能夠訓(xùn)練一個(gè)足夠大的模型,以在各個(gè)任務(wù)上都具有很好的性能。
2-9 什麼是端到端深度學(xué)習(xí)?(End-to-End Deep Learning)
一些複雜的學(xué)習(xí)系統(tǒng)通常具有多個(gè)處理階段,其將這些不同的處理階段替換為一個(gè)神經(jīng)網(wǎng)路。
其可以簡(jiǎn)化學(xué)習(xí)系統(tǒng)的結(jié)構(gòu),不需要人工設(shè)計(jì)各個(gè)組件。但有時(shí)並不能帶來(lái)理想的性能。
傳統(tǒng)的語(yǔ)音識(shí)別 | 端到端深度學(xué)習(xí) |
輸入語(yǔ)音資料 | 輸入語(yǔ)音資料 |
從語(yǔ)音中提取一些人工設(shè)計(jì)的特徵 | 預(yù)先使用大量資料訓(xùn)練的一個(gè)非常大的神經(jīng)網(wǎng)路 |
透過(guò)機(jī)器學(xué)習(xí)演算法提取音素(Phoneme) | |
將音素串連成單字 | |
將單字串聯(lián)成文本 | |
輸出文本 | 輸出文本 |
2-10 是否使用端到端學(xué)習(xí)?
優(yōu)點(diǎn)
- 讓資料說(shuō)話:使用大量資料訓(xùn)練的算法能夠更好地發(fā)現(xiàn)資料中的統(tǒng)計(jì)特徵,從而更好地習(xí)得從特徵到標(biāo)籤的映射,避免引入人類的偏見(jiàn)。
- 更少的人工設(shè)計(jì)元件:端到端學(xué)習(xí)直接完成了從初始輸入到預(yù)測(cè)的整個(gè)過(guò)程,不再需要人工設(shè)計(jì)系統(tǒng)中的各個(gè)元件與處理步驟。
缺點(diǎn)
- 可能需要非常大量的資料:收集這些資料有一定難度。
- 排除了人工設(shè)計(jì)的潛在效用:直接從資料中完成全部學(xué)習(xí),不使用人工設(shè)計(jì)的元件,也就排除了人工設(shè)計(jì)所能帶來(lái)的潛在收益。(如人工選擇的特徵、處理步驟等)
人工設(shè)計(jì)是一把雙面刃,合理的人工設(shè)計(jì)有助於演算法的學(xué)習(xí),但使用人工設(shè)計(jì)也會(huì)在一定程度上限制算法的性能。在資料量較少時(shí),人工設(shè)計(jì)通常利大於弊。
使用端到端學(xué)習(xí)決定性因素是:是否有足夠的資料,來(lái)習(xí)得從x到y(tǒng)的足夠複雜的映射函數(shù)。
※絕大部分圖片與內(nèi)容取自nex3z's blog。
※教材為Andrew Ng的Deep Learning課程。
※擷取至 topic3 week1-2。