可以提高你的圖像識別模型準(zhǔn)確率的7個(gè)技巧
假定,你已經(jīng)收集了一個(gè)數(shù)據(jù)集,建立了一個(gè)神經(jīng)網(wǎng)絡(luò),并訓(xùn)練了您的模型。
但是,盡管你投入了數(shù)小時(shí)(有時(shí)是數(shù)天)的工作來創(chuàng)建這個(gè)模型,它還是能得到50-70%的準(zhǔn)確率。這肯定不是你所期望的。
下面是一些提高模型性能指標(biāo)的策略或技巧,可以大大提升你的準(zhǔn)確率。
得到更多的數(shù)據(jù)
這無疑是最簡單的解決辦法,深度學(xué)習(xí)模型的強(qiáng)大程度取決于你帶來的數(shù)據(jù)。增加驗(yàn)證準(zhǔn)確性的最簡單方法之一是添加更多數(shù)據(jù)。如果您沒有很多訓(xùn)練實(shí)例,這將特別有用。
如果您正在處理圖像識別模型,您可以考慮通過使用數(shù)據(jù)增強(qiáng)來增加可用數(shù)據(jù)集的多樣性。這些技術(shù)包括從將圖像翻轉(zhuǎn)到軸上、添加噪聲到放大圖像。如果您是一個(gè)強(qiáng)大的機(jī)器學(xué)習(xí)工程師,您還可以嘗試使用GANs進(jìn)行數(shù)據(jù)擴(kuò)充。

請注意,您使用的增強(qiáng)技術(shù)會更改圖像的整個(gè)類。例如,在y軸上翻轉(zhuǎn)的圖像沒有意義!
添加更多的層
向模型中添加更多層可以增強(qiáng)它更深入地學(xué)習(xí)數(shù)據(jù)集特性的能力,因此它將能夠識別出作為人類可能沒有注意到的細(xì)微差異。
這個(gè)技巧圖解決的任務(wù)的性質(zhì)。
對于復(fù)雜的任務(wù),比如區(qū)分貓和狗的品種,添加更多的層次是有意義的,因?yàn)槟哪P蛯⒛軌驅(qū)W習(xí)區(qū)分獅子狗和西施犬的微妙特征。
對于簡單的任務(wù),比如對貓和狗進(jìn)行分類,一個(gè)只有很少層的簡單模型就可以了。
更多的層->更微妙的模型
更改圖像大小
當(dāng)您對圖像進(jìn)行預(yù)處理以進(jìn)行訓(xùn)練和評估時(shí),需要做很多關(guān)于圖像大小的實(shí)驗(yàn)。
如果您選擇的圖像尺寸太小,您的模型將無法識別有助于圖像識別的顯著特征。
相反,如果您的圖像太大,則會增加計(jì)算機(jī)所需的計(jì)算資源,并且/或者您的模型可能不夠復(fù)雜,無法處理它們。
常見的圖像大小包括64x64、128x128、28x28 (MNIST)和224x224 (vgg -16)。
請記住,大多數(shù)預(yù)處理算法不考慮圖像的高寬比,因此較小尺寸的圖像可能會在某個(gè)軸上收縮。

從一個(gè)大分辨率的圖像到一個(gè)小尺寸的圖像,比如28x28,通常會導(dǎo)致大量的像素化,這往往會對你的模型的性能產(chǎn)生負(fù)面影響
增加訓(xùn)練輪次
epoch基本上就是你將整個(gè)數(shù)據(jù)集通過神經(jīng)網(wǎng)絡(luò)傳遞的次數(shù)。以+25、+100的間隔逐步訓(xùn)練您的模型。
只有當(dāng)您的數(shù)據(jù)集中有很多數(shù)據(jù)時(shí),才有必要增加epoch。然而,你的模型最終將到達(dá)一個(gè)點(diǎn),即增加的epoch將不能提高精度。
此時(shí),您應(yīng)該考慮調(diào)整模型的學(xué)習(xí)速度。這個(gè)小超參數(shù)決定了你的模型是達(dá)到全局最小值(神經(jīng)網(wǎng)絡(luò)的最終目標(biāo))還是陷入局部最小值。

全局最小是神經(jīng)網(wǎng)絡(luò)的最終目標(biāo)。
減少顏色通道
顏色通道反映圖像數(shù)組的維數(shù)。大多數(shù)彩色(RGB)圖像由三個(gè)彩色通道組成,而灰度圖像只有一個(gè)通道。
顏色通道越復(fù)雜,數(shù)據(jù)集就越復(fù)雜,訓(xùn)練模型所需的時(shí)間也就越長。
如果顏色在你的模型中不是那么重要的因素,你可以繼續(xù)將你的彩色圖像轉(zhuǎn)換為灰度。
你甚至可以考慮其他顏色空間,比如HSV和Lab。

RGB圖像由三種顏色通道組成:紅、綠、藍(lán)
轉(zhuǎn)移學(xué)習(xí)
遷移學(xué)習(xí)包括使用預(yù)先訓(xùn)練過的模型,如YOLO和ResNet,作為大多數(shù)計(jì)算機(jī)視覺和自然語言處理任務(wù)的起點(diǎn)。
預(yù)訓(xùn)練的模型是最先進(jìn)的深度學(xué)習(xí)模型,它們在數(shù)百萬個(gè)樣本上接受訓(xùn)練,通常需要數(shù)月時(shí)間。這些模型在檢測不同圖像的細(xì)微差別方面有著驚人的巨大能力。
這些模型可以用作您的模型的基礎(chǔ)。大多數(shù)模型都很好,所以您不需要添加卷積和池化

遷移學(xué)習(xí)可以大大提高你的模型的準(zhǔn)確性~50%到90%!(來自英偉達(dá)的論文)
超參數(shù)
上面的技巧為你提供了一個(gè)優(yōu)化模型的基礎(chǔ)。要真正地調(diào)整模型,您需要考慮調(diào)整模型中涉及的各種超參數(shù)和函數(shù),如學(xué)習(xí)率(如上所述)、激活函數(shù)、損失函數(shù)、甚至批大小等都是非常重要的需要調(diào)整的參數(shù)。
總結(jié)
這些技巧是希望大家在不知道如何去做的時(shí)候可以快速的找到提高的思路。
還有無數(shù)其他方法可以進(jìn)一步優(yōu)化你的深度學(xué)習(xí),但是上面描述的這些方法只是深度學(xué)習(xí)優(yōu)化部分的基礎(chǔ)。
另外:每次改變深度學(xué)習(xí)模型時(shí)都要保存模型。這將幫助您重用先前的模型配置,如果它提供了更大的準(zhǔn)確性。