5大關鍵步驟!如何構建深度學習模型?

2020-12-23 讀芯術

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

圖源:unsplash

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

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

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

本文將詳細討論構建深度學習模型的五個基本步驟,以及如何使用這些步驟來處理各種深度學習項目。

1.定義架構

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

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

通常,對於計算機視覺任務,如圖像分割、圖像分類、面部識別和其他類似項目,首選卷積神經網絡(CNNs)或ConvNets。而對於自然語言處理和與文本數據相關的問題,遞歸神經網絡(RNNs)和長短期記憶(LSTMs)更為可取。

在此步驟中,還可以決定整個深度學習架構的模型構建結構類型。執行此操作的三個主要步驟是順序模型(Sequential Models)、功能性API或用戶定義的自定義架構。下文將更詳細地討論每種方法。

2.編譯模型

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

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

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

3.擬合模型

圖源:unsplash

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

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

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

4.評估和預測

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

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

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

5.部署模型

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

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

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

圖源:unsplash

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

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

留言點讚關注

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

如轉載,請後臺留言,遵守轉載規範

相關焦點

  • 如何通過7個步驟構建機器學習模型
    學習來源於數據,因此正確的機器學習方法源於以數據為中心的需求,並產生專注於數據發現、清理、培訓、模型構建和迭代階段的項目。對於許多組織來說,機器學習模型開發是一項新活動,但是在某種程度上已經建立了以數據為中心的項目構建方法。
  • 如何通過7個步驟構建機器學習模型
    學習來源於數據,因此正確的機器學習方法源於以數據為中心的需求,並產生專注於數據發現、清理、培訓、模型構建和迭代階段的項目。對於許多組織來說,機器學習模型開發是一項新活動,但是在某種程度上已經建立了以數據為中心的項目構建方法。
  • 金融中的三種深度學習用例及這些模型優劣的證據
    「差分」一詞雖未出現在 ARIMA 的英文名稱中,卻是關鍵步驟。ARIMA 模型的基本思想是:將預測對象隨時間推移而形成的數據序列視為一個隨機序列,用一定的數學模型來近似描述這個序列。這個模型一旦被識別後就可以從時間序列的過去值及現在值來預測未來值。現代統計方法、計量經濟模型在某種程度上已經能夠幫助企業對未來進行預測。
  • 谷歌,DeepMind,微軟和Uber大規模訓練深度學習模型框架簡介
    大規模訓練是在現實世界中構建深度學習解決方案最具挑戰性的方面之一。從訓練到優化,深度學習程序的生命周期需要健壯的基礎設施構建塊,以便能夠並行化和擴展計算工作負載。儘管深度學習框架正在快速發展,但相應的基礎架構模型仍處於初期階段。
  • 如何設計算法模型驅動業務增長:7 大步驟+5 個關鍵
    比如常見的集成學習(ensemble model)、深度學習、前幾年大家所熟知的在下圍棋應用中非常成功的強化學習模型、去年大家十分關心的換臉技術背後的 GAN 模型等等。所以我們會面臨的一個問題是:如何把這些不好理解但功能十分強大的工具應用到我們的業務體系當中。
  • 如何設計算法模型驅動業務增長:7 大步驟+5 個關鍵
    比如常見的集成學習(ensemble model)、深度學習、前幾年大家所熟知的在下圍棋應用中非常成功的強化學習模型、去年大家十分關心的換臉技術背後的 GAN 模型等等。所以我們會面臨的一個問題是:如何把這些不好理解但功能十分強大的工具應用到我們的業務體系當中。
  • 深度森林第三彈:周志華組提出可做表徵學習的多層梯度提升決策樹
    自去年周志華等研究者提出了「深度森林」以後,這種新型的層級表徵方式吸引了很多研究者的關注。今日,南京大學的馮霽、俞揚和周志華提出了多層梯度提升決策樹模型,它通過堆疊多個回歸 GBDT 層作為構建塊,並探索了其學習層級表徵的能力。
  • 如何系統性掌握深度學習模型設計和優化
    模型是深度學習的核心技術之一,我們平時在從事相關工作時,有很大一部分精力都在模型設計和優化上。對於新手朋友們來說,往往只會跑一跑別人的模型或者只會盲目的簡單修改一下參數,不知道該如何進行設計和優化。今天便來談談這個問題,同時介紹一個好的學習社區供大家討論與提升。
  • 《好好思考》:6個方法構建多元思維模型,幫你練就高超學習力
    作者把學習知識的基本單位定義為「思維模型」。思維模型有四個層次:經驗技巧型、方法流程型、學科原理型、哲學視角型。那我們應該如何從思維模型入手,構建一個全新的學習思考體系,進而練就超強學習力呢?因此,我們要學習多元的思維模型,多元的思維模型是非常重要的。但很多人都一個學習誤區,認為收集起、記憶和明白思維模型的概念是什麼,就算掌握了思維模型。人們忽視了問題的關鍵,學習思維模型的起點,不是具體的知識,而是要解決問題。不知道解決什麼問題的思維模型,只是一個孤立的死概念而已。
  • IEEE預發:DeepMind主攻的深度強化學習3大核心算法及7大挑戰
    視頻遊戲是一個有趣的挑戰,但學習如何玩遊戲不是DRL的最終目標。DRL背後的驅動力之一是創造能夠在現實世界中學習如何適應環境的系統。從管理電力消耗到拾取和收集物體,DRL通過學習來增加可以自動化的物理任務的數量。然而,DRL並不止於此,因為RL是通過試錯接近優化問題的一般方法。從設計最先進的機器翻譯模型到構建新的優化函數,DRL被用於處理各種機器學習任務。
  • 《安娜卡列尼娜》文本生成——利用 TensorFlow 構建 LSTM 模型
    代碼的基礎框架來自於 Udacity 上深度學習納米學位的課程(付費課程)的一個 demo,我剛開始看代碼的時候真的是一頭霧水,很多東西沒有理解,後來反覆查閱資料,並我重新對代碼進行了學習和修改,對步驟進行了進一步的剖析,下面將一步步用 TensorFlow 來構建 LSTM 模型進行文本學習並試圖去生成新的文本。本篇文章比較適合新手去操作,LSTM 層採用的是 BasicLSTMCell。
  • 機器學習者必知的5種深度學習框架
    深度學習框架的創建目標是在GPU上高效運行深度學習系統。這些深度學習框架都依賴於計算圖的概念,計算圖定義了需要執行的計算順序。在這些框架中你使用的是一種可以建立計算圖的語言,並且語言的執行機制與其宿主語言本身的機制有所不同。然後,計算圖可以並行地在目標GPU中優化和運行。 在這篇文章中,我想向大家介紹推動深度學習發展的5個主力框架。
  • 機器學習和深度學習的最佳框架大比拼
    如果把網撒得大些,可能還會覆蓋其他幾個流行的框架,包括Theano(一個10年之久的Python深度學習和機器學習框架),Keras(一個Theano和TensorFlow深度學習的前端),DeepLearning4j(Java和Scala在Hadoop和Spark之上的深度學習軟體)。如果你有興趣使用機器學習和神經網絡,你從來沒有像現在這樣多的選擇。
  • 深度學習人體姿態估計縱覽
    這是了解圖像和視頻中人物的關鍵步驟。在這篇文章中,我寫了人體姿勢估計(2D)的基礎知識,並回顧了有關該主題的文獻。這篇文章還將作為人體姿勢估計的教程,可以幫助您學習基礎知識。什麼是人體姿勢估計?基於深度學習的方法經典流水線有其局限性,CNN已經大大改變了姿態估計。隨著Toshev等人引入「 DeepPose 」,人類姿勢估計的研究開始從經典方法轉向深度學習。
  • 深度| 超越DQN和A3C:深度強化學習領域近期新進展概覽
    強化學習領域內的很多最大的挑戰都圍繞著兩大問題:如何有效地與環境交互(比如探索與利用、樣本效率),以及如何有效地從經歷中學習(比如長期信用分配、稀疏獎勵信號)。DQN 使用了兩個關鍵策略來使 Q 學習適用於深度神經網絡,而且這兩個策略也在後續的深度強化學習研究中得到了成功的應用。
  • 如何利用深度學習技術訓練聊天機器人語言模型?
    本文將主要介紹如何使用深度學習技術,依靠聊天語料來訓練Bot Model。第一篇傳送門:聊天機器人的發展狀況與分類第二篇傳送門:基於規則和檢索的聊天機器人引擎本篇文章以這個為主線進行。開源項目數據預處理模型能聊的內容也取決於選取的語料。
  • 普林、DeepMind新研究:結合深度學習和符號回歸,從深度模型中看見...
    符號模型緊湊,具備可解釋性和良好的泛化能力,但很難處理高維機器學習問題;深度模型擅長在高維空間中學習,但泛化性和可解釋性卻很差。那麼有沒有什麼辦法可以取二者之所長呢?這項研究做到了。如何將深度模型轉換為符號方程?來自普林斯頓、DeepMind 等機構的研究人員提出了一種解決方案:結合深度學習和符號回歸實現這一目標。
  • 【獨家重磅】54項大數據關鍵模型
    大數據文摘編輯整理,歡迎個人轉發朋友圈,機構、媒體轉載需後臺申請授權,已經申請過授權的朋友,不必再次申請,按照約定轉載即可。在醫療領域,數據來源從一年數次的醫療記錄演變為採用可穿戴式與移動式醫療解決方案產生的持續不斷的數據。數據流可以結合社交媒體,創造出全新的更為豐富的融合數據。新的數據來源中的關鍵模型在於:4. 全新的數據來源可能意味著競爭優勢的提升。大多數企業都容易依賴現有的數據源,而忽略利用外部數據源來獲取全新的數據;5.
  • 訓練模型讓你厭煩?莫慌,收下這篇深度學習模型超參數搜索指南
    乾明 整理編譯自 FloydHub Blog量子位 報導 | 公眾號 QbitAI在文章開始之前,我想問你一個問題:你已經厭倦了小心翼翼地照看你的深度學習模型嗎?如果是的話,那你就來對地方了。近日,FloydHub Blog發表了一篇文章,詳細討論了為深度學習模型尋找最佳超參數集的有效策略。文章在一開頭就說,讀完之後能夠讓你在找最佳配置的過程中變得事半功倍。要知道,與機器學習模型不同,深度學習模型裡面充滿了各種超參數。
  • 如何利用深度學習實現單通道語音分離?
    大家好,我是來自大象聲科的閆永傑,接下來我會從以下六個方面為大家介紹深度學習在單通道語音分離中的應用:  1、單通道語音分離問題的引入  2、藉助深度學習來解決單通道語音分離  3、工程實踐中的挑戰及解決方案  4、思考  5、總結  一、單通道語音分離問題的引入