首頁>技術>

全文共2301字,預計學習時長6分鐘

深度學習的關注度正持續上升,它是機器學習的一個子領域,基於人工神經網路的概念來執行特定任務。然而在理論上,人工神經網路與人類大腦的運作方式並不相同,甚至都不相似!

它們之所以被命名為人工神經網路,是因為它們可以完成確切的任務,同時達到理想的精確度,而無需使用任何特定規則進行明確程式設計。

幾十年前AI失敗的主要原因是缺乏資料和計算能力。經過數年時間,這一情況已顯著改善。基於大型科技巨頭和跨國公司投資AI資料,資料的豐富程度已大大提高。而鑑於圖形處理單元(GPUs)功能強大,計算能力也不再是挑戰。

1.定義架構

深度學習是解決複雜任務的最優方法之一,例如影象分類或分割、人臉識別、目標檢測、聊天機器人等。但是,對於每一個複雜的專案,深度學習模型均需進行五個固定步驟以完成當前任務。

構建深度學習模型的第一步,也是最重要的一步就是成功定義網路和架構。根據所執行任務的型別,一般傾向於使用特定型別的體系結構。

通常,對於計算機視覺任務,如影象分割、影象分類、面部識別和其他類似專案,首選卷積神經網路(CNNs)或ConvNets。而對於自然語言處理和與文字資料相關的問題,遞迴神經網路(RNNs)和長短期記憶(LSTMs)更為可取。

2.編譯模型

首選架構構建完成後,將繼續進行構建模型的第二個步驟——編譯模型。編譯步驟通常是TensorFlow深度學習框架中的一行程式碼,可以採用model.compile()函式進行編譯。

在深度學習中,編譯的要求是配置模型,以便成功完成擬合/訓練過程。正是在編譯中,為評估程式定義了培訓程式的一些關鍵組成部分。

列舉一些必要引數,下一步需要分配損耗、最佳化器和指標。損耗的種類取決於所遇問題的型別以及亟待解決的問題。最佳化器通常是指用於計算的adam、RMSprop或類似最佳化器;指標是指用於分析的準確性度量或任何其他由使用者定義的衡量標準。

3.擬合模型

成功定義整體架構並編譯模型後,第三個邏輯步驟是在訓練資料集上擬合模型。擬合功能可在固定數量的週期(資料集上的迭代)內訓練模型。藉助擬合功能,可以確定訓練週期的數量、輸入和輸出資料、驗證資料等重要引數。擬合功能可用於計算和估算這些基本引數。

在培訓過程中,必須持續評估擬合步驟。重要的是要確保所訓練的模型在提高準確性和減少整體損失的同時,執行良好。

同樣重要的是,要考慮到該模型沒有以任何方式被過度擬合。為此,必須使用Tensorboard之類的工具進行持續評估,以分析各種圖表,並瞭解這些模型是否有可能被過度擬合。一旦訓練完成並對固定數量的週期進行分析後,就可以繼續進行第四個步驟——評估並使用訓練好的模型進行預測。

4.評估和預測

評估深度學習模型是檢驗構建模型是否按預期工作的一個十分重要的步驟。構建的深度學習模型在現實應用程式中可能執行不佳。因此,評估深度學習模型變得至關重要。

評估深度學習模型的一個主要方法是,確保模型對預處理步驟開始時,將分割測試資料所做的預測考慮在內,以驗證訓練模型的有效性。除測試資料外,還必須用可變資料和隨機測試對模型進行測試,以檢視其在未經訓練的資料上的有效性,以及其效能效率是否符合預期要求。

假設我們建立了一個簡單的人臉識別模型。需考慮到該模型已使用影象訓練過,並嘗試在測試資料和實時影片錄製中使用不同面孔評估這些影象,以確保訓練的模型執行良好。

5.部署模型

部署階段是構建任何模型的最後一步。一旦成功完成模型構建後,如果想要保留模型或進行部署,以面向更廣泛的受眾,這便是一個可選的步驟。部署方法各不相同,可以將其部署為跨平臺傳輸的應用程式,也可以使用amazon提供的AWS雲平臺進行部署,或者使用嵌入式系統部署。

如果想要部署監控攝像頭之類的東西,則可以考慮使用類似樹莓派的嵌入式裝置與攝像頭模組共同執行此功能。帶有人工智慧的嵌入式系統是部署物聯網專案的常用方法。

使用flask、Django或任何其他類似框架構建深度學習模型後,也可以選擇在網站上部署這些深度學習模型。另一個有效部署模型的方法是為智慧手機使用者開發一個android或iOS應用程式,以覆蓋更廣泛的使用者。

構建任何深度學習模型都需遵循這些步驟,至少包含前述五個中的四個。對於新手或初級專案而言,部署步驟是可選步驟,但在相關行業和公司中,該步驟卻是極其重要,不可或缺。

需要格外注意的是,在構建和使用深度學習模型前,必須考慮資料預處理、探索性資料分析以及其他強制性清理步驟。模型的構建步驟必須在完成所有資料的預處理後才可以執行。

我們一起分享AI學習與發展的乾貨

16
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Python真的值得學習嗎