可以提高你的圖像識別模型準確率的7個技巧

2020-09-12 deephub



假定,你已經收集了一個數據集,建立了一個神經網絡,並訓練了您的模型。

但是,儘管你投入了數小時(有時是數天)的工作來創建這個模型,它還是能得到50-70%的準確率。這肯定不是你所期望的。

下面是一些提高模型性能指標的策略或技巧,可以大大提升你的準確率。

得到更多的數據

這無疑是最簡單的解決辦法,深度學習模型的強大程度取決於你帶來的數據。增加驗證準確性的最簡單方法之一是添加更多數據。如果您沒有很多訓練實例,這將特別有用。

如果您正在處理圖像識別模型,您可以考慮通過使用數據增強來增加可用數據集的多樣性。這些技術包括從將圖像翻轉到軸上、添加噪聲到放大圖像。如果您是一個強大的機器學習工程師,您還可以嘗試使用GANs進行數據擴充。


請注意,您使用的增強技術會更改圖像的整個類。例如,在y軸上翻轉的圖像沒有意義!

添加更多的層

向模型中添加更多層可以增強它更深入地學習數據集特性的能力,因此它將能夠識別出作為人類可能沒有注意到的細微差異。

這個技巧圖解決的任務的性質。

對於複雜的任務,比如區分貓和狗的品種,添加更多的層次是有意義的,因為您的模型將能夠學習區分獅子狗和西施犬的微妙特徵。

對於簡單的任務,比如對貓和狗進行分類,一個只有很少層的簡單模型就可以了。

更多的層->更微妙的模型


更改圖像大小

當您對圖像進行預處理以進行訓練和評估時,需要做很多關於圖像大小的實驗。

如果您選擇的圖像尺寸太小,您的模型將無法識別有助於圖像識別的顯著特徵。

相反,如果您的圖像太大,則會增加計算機所需的計算資源,並且/或者您的模型可能不夠複雜,無法處理它們。

常見的圖像大小包括64x64、128x128、28x28 (MNIST)和224x224 (vgg -16)。

請記住,大多數預處理算法不考慮圖像的高寬比,因此較小尺寸的圖像可能會在某個軸上收縮。


從一個大解析度的圖像到一個小尺寸的圖像,比如28x28,通常會導致大量的像素化,這往往會對你的模型的性能產生負面影響

增加訓練輪次

epoch基本上就是你將整個數據集通過神經網絡傳遞的次數。以+25、+100的間隔逐步訓練您的模型。

只有當您的數據集中有很多數據時,才有必要增加epoch。然而,你的模型最終將到達一個點,即增加的epoch將不能提高精度。

此時,您應該考慮調整模型的學習速度。這個小超參數決定了你的模型是達到全局最小值(神經網絡的最終目標)還是陷入局部最小值。


全局最小是神經網絡的最終目標。

減少顏色通道

顏色通道反映圖像數組的維數。大多數彩色(RGB)圖像由三個彩色通道組成,而灰度圖像只有一個通道。

顏色通道越複雜,數據集就越複雜,訓練模型所需的時間也就越長。

如果顏色在你的模型中不是那麼重要的因素,你可以繼續將你的彩色圖像轉換為灰度。

你甚至可以考慮其他顏色空間,比如HSV和Lab。


RGB圖像由三種顏色通道組成:紅、綠、藍

轉移學習

遷移學習包括使用預先訓練過的模型,如YOLO和ResNet,作為大多數計算機視覺和自然語言處理任務的起點。

預訓練的模型是最先進的深度學習模型,它們在數百萬個樣本上接受訓練,通常需要數月時間。這些模型在檢測不同圖像的細微差別方面有著驚人的巨大能力。

這些模型可以用作您的模型的基礎。大多數模型都很好,所以您不需要添加卷積和池化


遷移學習可以大大提高你的模型的準確性~50%到90%!(來自英偉達的論文)


超參數

上面的技巧為你提供了一個優化模型的基礎。要真正地調整模型,您需要考慮調整模型中涉及的各種超參數和函數,如學習率(如上所述)、激活函數、損失函數、甚至批大小等都是非常重要的需要調整的參數。

總結

這些技巧是希望大家在不知道如何去做的時候可以快速的找到提高的思路。

還有無數其他方法可以進一步優化你的深度學習,但是上面描述的這些方法只是深度學習優化部分的基礎。

另外:每次改變深度學習模型時都要保存模型。這將幫助您重用先前的模型配置,如果它提供了更大的準確性。

作者:Jason Dsouza

deephub翻譯組

相關焦點

  • 最大規模數據集、最優圖像識別準確率!Facebook解決訓練數據難題
    為了改善這些計算機視覺系統,訓練它們識別和分類大量對象,Facebook 需要包含數十億張圖像的數據集,如今常見的數百萬張圖像的數據集已經不足夠了。由於當前模型通常在人類標註者手動標註的數據上進行訓練,因此提升識別準確率不只是向系統輸入更多圖像那麼簡單。這種勞動密集型的監督學習過程通常獲得最好的性能,但是手動標註的數據集在規模方面已經接近其函數極限。
  • 讓圖像識別準確率瞬間下降40個點,「江蘇卷」版ImageNet你考得過嗎?
    這一新的數據集能夠讓模型的性能下降了 40 多個點。最終,研究者們公開了這個數據集,並鼓勵人們開發更好的模型來解決問題。這一數據集相關的論文已經被 NeurlPS 2019 大會接收為 Poster 論文,讀者們可以參考這個有趣的研究,看看自己的圖像識別模型性能如何。
  • 如何優化你的圖像分類模型效果?
    有趣的是,你必須竭盡所能來提升額外的1%的準確率。當我參加「 Intel Scene Classification Challenge hosted by Analytics Vidhya(由Analytics Vidhya主辦的英特爾場景分類挑戰)」我非常喜歡這次比賽,因為我嘗試從我的深度學習模型中榨乾所有的潛力。下面的技術通常是可以應用到手頭上的任何圖像分類問題中去。
  • 乾貨 :10分鐘搭建你的第一個圖像識別模型(附步驟、代碼)
    本文介紹了圖像識別的深度學習模型的建立過程,通過陳述實際比賽的問題、介紹模型框架和展示解決方案代碼,為初學者提供了解決圖像識別問題的基礎框架。 序言「幾分鐘就可以建立一個深度學習模型?訓練就要花幾個小時好嗎!我甚至沒有一臺足夠好的機器。」
  • 圖像驗證碼和大規模圖像識別技術
    2012年前後,深度卷積神經網絡在圖像識別領域開始應用,則是同時去解決模型和特徵的問題。也就是,既可以通過深度學習直接從圖像像素開始訓練圖像識別模型,也可以通過同樣的訓練得到圖像的更有效的特徵描述,然後採用傳統的機器學習模型來訓練識別模型。基本上,深度學習的方法擊敗了所有傳統的方法,使得圖像識別的準確率向前邁了很大一步。
  • 基於百度EasyDL定製化圖像識別平臺的海洋魚類識別方法
    【方法】本文提出了一種基於百度EasyDL定製化圖像識別平臺的海底魚類識別方法。首先使用伽馬校正法和暗通道先驗算法對圖片數據進行預處理,提高圖片亮度和清晰度,接著利用百度EasyDL定製化圖像識別平臺構建初魚類識別模型,再使用數據增強等方法對模型進行調優,提高模型識別能力。
  • 深度學習與圖像識別
    其中3000對是正樣本,每對的兩張圖像屬於同一個人;剩下3000對是負樣本,每對的兩張圖像屬於不同的人。隨機猜的準確率是50%。有研究表明[5],如果只把不包括頭髮在內的人臉的中心區域給人看,人眼在LFW測試集上的識別率是97.53%。如果把整張圖像,包括背景和頭髮給人看,人眼的識別率是99.15%。經典的人臉識別算法Eigenface [6] 在這個測試集上只有60%的識別率。
  • 基於飛槳PaddlePaddle的多種圖像分類預訓練模型強勢發布
    目前,已開源10種不同網絡結構,25個預訓練模型,包括當前效果最優的ResNet50(top-1:79.84%),助力用戶提高構建模型的效率,大大減輕「煉丹」的煩惱。一方面,廣泛使用的ResNet50在imagenet 1000分類任務上,top1識別準確率可以達到較高的識別準確率76.5%;另一方面對一張224*224的圖像進行分類,預測效率高,適合研究探索新方法和實際場景應用,在TeslaP4卡測試,如果使用飛槳核心框架Paddle Fluid預測,平均預測時間是8.787ms,進一步結合TensorRT
  • 德國學者給CNN潑冷水:圖像分類策略太簡單,提高準確率全靠調參
    上面一堆雜亂無章的圖片,你能看出是什麼嗎?但CNN卻能很輕鬆地識別它們。其實,人與機器在這方面的差異,恰恰蘊含著神經網絡分類策略背後簡單的邏輯。最近,來自德國的一群學者構造了一個簡單模型BagNet,就是為了解答上面的疑惑。該模型可以在ImageNet上實現很高的準確率,甚至超過了AlexNet。文章已經發表在ICLR 2019上。
  • 華人研究團隊推出AI「諷刺」檢測模型,準確率達86%
    其實也就這樣,大家還是買1024g的吧如果答對了,你可別驕傲,因為這道題可能連AI都會。最近,中國北京的信息工程研究所和中國科學院聯合推出的一款AI模型,『諷刺』識別準確率高達86%。而且,這項研究成果還登上了計算機語言協會(ACL)。
  • RestNet50預訓練模型top1近80%,基於飛槳PaddlePaddle的多種圖像...
    目前,已開源10種不同網絡結構,25個預訓練模型,包括當前效果最優的ResNet50(top-1:79.84%),助力用戶提高構建模型的效率,大大減輕「煉丹」的煩惱。一方面,廣泛使用的ResNet50在imagenet1000分類任務上,top1識別準確率可以達到較高的識別準確率76.5%;另一方面對一張224*224的圖像進行分類,預測效率高,適合研究探索新方法和實際場景應用,在Tesla P4卡測試,如果使用飛槳核心框架Paddle Fluid預測,平均預測時間是8.787ms,進一步結合TensorRT預測,平均預測時間可以加速到5.434ms
  • ...個離在線一體語音識別解決方案,自研AI降噪算法提高30%識別準確率
    信噪比,是衡量需要識別的目標聲源與其它幹擾聲源強度比值的對數。一般將信噪比低於15dB的稱為噪聲環境。信噪比越低,識別難度越大。在語音識別的研發過程中,一個完整的識別鏈路可以簡化為麥克風輸入、降噪處理、語音識別、識別結果輸入四個環節。想做好識別,首先要在降噪處理上下功夫。
  • 深度學習的7個技巧,幫你訓練出好的模型
    ,不過和之前的那篇文章側重點有所不同,這篇文章更加注重於如何在實際的項目的數據集中訓練出好的模型出來,與其說是深度學習的技巧,不如說是深度學習項目的技巧。在這裡,我將和你分享7個實用的技巧,讓你充分利用你的深層神經網絡。1  數據,數據,數據這不是什麼大秘密。一直運轉良好的深度學習機器需要燃料——大量的燃料,這裡燃料就是數據。我們擁有的標註的數據越多,我們的模型的性能就越好。
  • 學界 | 精細識別現實世界圖像:李飛飛團隊提出半監督適應性模型
    圖像識別技術的發展速度很快,我們開發的機器學習模型已經可以識別越來越多的物體種類了。
  • 這個AI系統識別乳腺癌症狀準確率高達92%
    美國雲計算巨頭Salesforce最近宣布其一項AI技術也能幫助識別乳腺癌的跡象,準確率高達92%。識別乳腺癌症狀準確率高達92%日前,Salesforce揭開了其一項名為「ReceptorNet」機器學習系統的面紗,該項目由Salesforce公司的研究人員與南加州大學醫學研究所醫生勞倫斯J.埃裡森一同合作開發的。
  • 大幅提升ASR系統識別準確率:雲從科技語義糾錯模型解析
    這裡,雲從科技語音組提出了一種基於BART預訓練模型[1]的語義糾錯(SC)技術方案,它不僅可以對ASR數據中常見的拼寫錯誤進行糾正,還可以對一些常識錯誤、語法錯誤,甚至一些需要推理的錯誤進行糾正。在我們一萬小時數據的實驗中,糾錯模型可以將基於3gram解碼結果的錯字率(CER)相對降低21.7%,取得與RNN重打分相近的效果。
  • 4個提高深度學習模型性能的技巧
    ,我們將討論提高深度學習模型性能的4個難題和技巧這是一篇以代碼實踐為重點的文章,所以請準備好你的Python IDE並改進你的深度學習模型!這是一個相當好的經歷,這中間我參與了圖像和視頻數據相關的多個項目。在那之前,我處於邊緣地帶,我迴避了對象檢測和人臉識別等深度學習概念。直到2017年底才開始深入研究。在這段時間裡,我遇到了各種各樣的難題。我想談談四個最常見的問題,大多數深度學習實踐者和愛好者在他們的旅程中都會遇到。如果你之前參與過深度學習項目,你就能很快理解這些障礙。好消息是克服它們並不像你想的那麼難!
  • 基於TensorFlow和Keras的圖像識別
    其設計原則旨在用戶友好和模塊化,儘可能地簡化TensorFlow的強大功能,在Python下使用無需過多的修改和配置圖像識別(分類)圖像識別是指將圖像作為輸入傳入神經網絡並輸出該圖像的某類標籤。該標籤對應一個預定義的類。圖像可以標記為多個類或一個類。如果只有一個類,則應使用術語「識別」,而多類識別的任務通常稱為「分類」。
  • 圖像識別之KNN算法的理解與應用
    該算法既可以用於數據分類,也可以用於數據回歸預測,其核心思路是在訓練樣本中尋找距離最接近待分類樣本的K個樣本。然後,如果目的是分類,則統計這K個樣本中的各個類別數量,數量最多的類別即認為是待分類樣本的類別;如果目的是回歸預測,則計算這K個樣本的平均值作為預測值。圖像識別,本質上也是數據分類,也即把每一張圖像歸類,因此KNN算法可以應用於圖像識別。
  • 10分鐘帶你做出自己的AI識別醫學圖像
    10分鐘帶你做出自己的AI識別醫學圖像想要課程代碼的小夥伴,可點擊文末的連結獲取。前面的幾節課我們對醫咖會原有的肺癌表格集建立了簡單的神經網絡分析,對MNIST手寫數字圖片也用了scikit-learn和TensorFlow建立了一些稍複雜的神經網絡。