4步助你找到正確的深度學習模型!

人工智慧頻道發表於2018-11-06

如果您一直在尋求使您的應用程式為機器學習提供支援,您會注意到有大量的ML模型和模型實現可能適合您的任務,當然,也可能不適合您的任務。特別是如果你對特定型別的模型沒有深入的瞭解,那麼選擇適合你的專案的模型實現可能會非常困難。

我已經編譯了這4個步驟,當你在與數百名工程師和他們的ML專案交談後,選擇下一個機器學習模式時,你應該明白它們是ModelDepot的一部分!

1.理解問題域

4步助你找到正確的深度學習模型!


雖然您可能正在構建熱狗定位器,但您正在尋找的模型可能不會被稱為“熱狗定位器”。我們如何從使用者和ML研究人員那裡思考模型的差異可能會使找到合適的模型變得令人沮喪。

對於熱狗位置問題,它是“計算機視覺”類別下的“物件檢測”問題。事實上,還存在一個資料集,在熱狗周圍有一個包圍框,叫做COCO!

當您考慮手頭的問題時,將其轉換為正確的ML術語的最簡單方法是考慮您的輸入是文字還是圖片?那些通常分別對應自然語言處理(NLP)或計算機視覺(CV)。從那以後,你會想深入瞭解該領域,找出存在哪些子問題,例如NLP中的情感分類。此外,您可以探索可能已包含感興趣專案(例如熱狗)的資料集,以限制在該特定資料集上訓練的模型。有時候使用術語可能會很棘手,因此使用使用者友好的ML模型搜尋工具(如ModelDepot)可以幫助您快速查詢和理解可以幫助您使用案例的模型。

2.找到“正確”的準確性

4步助你找到正確的深度學習模型!

來自xkcd的“機器學習”

很明顯,準確性是你應該關心的事情,但僅僅相信準確的數字可能會導致專案的失敗,因此,在考慮準確性時,要記住幾件事。

您正在解決的問題,有很多不同的指標。ML中的每個特定問題域都有一組相關的標準指標。找出對你來說最重要的指標是非常重要的!

例如,如果我們正在建立一個信用卡欺詐檢測系統,並且只考慮correct_predictions / all_predictions(又稱準確性),我們可以簡單地開發一個模型,該模型總是返回“非欺詐”並獲得> 99%的準確性,因為大多數交易都不是欺詐!因此,為您的任務選擇正確的指標非常重要!

報告的準確性

報告的準確性是確定模型是否滿足您的應用要求的良好開端。幾乎總是,模型的原始論文將報告模型的精度。如果兩者不同,請確保您瞭解他們使用的指標與您使用的指標的關係。但也要明白,他們的資料集可能與您手頭的任務有所不同,並且他們的問題在2%的改進最終對您來說可能並不重要。

你自己的準確性

如果您發現某些內容似乎具有合理的報告準確度指標,您將需要自己測試該模型,以瞭解該模型對您的影響。理想情況下,您有一個模型預期會接收的測試輸入集(例如電子郵件,評論等)和相應的預期輸出。在您自己的資料上測試模型是確保它在您的用例中表現良好的最佳方式,儘管這也是最費力的方式。

4步助你找到正確的深度學習模型!

ModelDepot上的瀏覽器內現場演示

有一些快速演示模型的方法,例如使用ModelDepot的線上演示功能。您可以使用示例輸入快速輸入模型,並在不到一分鐘的時間內檢視模型的結果。您還可以在Google Colab等線上環境中試用該模型,以跳過設定本地開發環境。

3.瞭解您的資料

根據您擁有或願意收集的資料量,您尋找模型的方法會有很大差異!讓我們深入研究這些案例。

有很多資料

如果您有大量的訓練資料,您將需要尋找具有易於訪問的訓練指令碼的模型,以便從頭開始訓練您的模型。讓DL模型收斂可能非常困難;為了讓您的生活更輕鬆,您應該在Github上尋找看起來活躍的專案。圍繞模型建立支援性社群可以幫助您解決問題。

有一些資料

如果您只有一些資料,您可以使用稱為“遷移學習”的訓練技術。遷移學習允許您在類似的域上採用預先訓練的模型來調整模型,以便使用少量的訓練資料很好地解決您的特定問題。你會想要尋找易於“剖析”和重新訓練的預訓練模型。您可以在Tensorflow Hub或Keras應用程式中找到一些。

我只有一些例子

別擔心!有一些例子是一個很好的開始。尋找經過預先訓練的模型,並使用您的示例作為“測試集”來評估這些模型對您的資料的執行情況。幸運的是,您可以查詢幾個地方來檢視預先訓練的模型,例如每個框架的各種模型:Tensorflow、Caffe、ONNX、PyTorch。ModelDepot還為預先訓練的模型提供了更通用的搜尋介面,以幫助選擇正確的ML模型。

4.挑選架構

4步助你找到正確的深度學習模型!


我們現在可以看看模型背後的架構,1)模型對您自己的資料具有可接受的準確度,2)易於重新訓練或帶有預先訓練的模型。

準確性、速度和尺寸

最重要的實際考慮因素之一是速度與精度的權衡。研究人員開發了各種各樣的體系結構,以匹配應用程式在現實世界中可能遇到的不同用例。例如,也許您的模型應該在計算限制的行動電話上執行,因此您可能正在尋找輕量且快速的MobileNet架構。否則,如果您不是計算受限但希望獲得最佳精確度,那麼無論模型有多慢或多大,您都可以使用最先進的技術保證最高精度。

某些型號可能具有輕量級變體,例如PSPNet50與完整PSPNet,可減少層數,使其更快更輕薄。其他時候,您可以使用諸如修剪或量化等技術來使模型更小更快。

完成!

透過這四個步驟,您可以從瞭解要解決的問題,到選擇一些能夠儘快解決問題的模型。

還有其他一些考慮因素,例如ML框架、程式碼質量或模型作者的聲譽,但這些考慮因素通常是您在超出PoC / MVP階段將ML整合到產品中時所能提供的奢侈品。

4步助你找到正確的深度學習模型!

祝你好運,尋找你的下一個ML模型!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545819/viewspace-2218851/,如需轉載,請註明出處,否則將追究法律責任。

相關文章