具有前景的深度學習工具一覽

解決問題往往需要大量工具的支持,深度學習也不例外。要說真有什麼區別的話,那就是在不遠的將來,用好這一領域的工具將愈發重要。

深度學習雖是一顆冉冉升起的“超新星”,但目前仍處於發展初期,許多該領域的工程師與有志之士正爲深度學習的高效化進程而拼搏奮鬥。除了人才輩出,我們還見證着越來越多深度學習工具的誕生,它們有助於推進深度學習曲折的發展進程,增加其便利性與高效性。

深度學習正逐漸從學者專家的理論研究邁向一個更爲廣闊的世界,在那裏,深度學習愛好者想要投身該領域(便利性),越來越多的工程小組想要簡化運作流程,化繁爲簡(高效性)。隨着這一進程的發展,我們也整理出了一份最佳深度學習工具圖表。

研究深度學習生命週期

要想對高效便捷的深度學習工具做出更好的評估,我們應先了解下深度學習週期的大致情況。(有監督)深度學習應用的生命週期包括多個不同步驟,始於原始數據,終於實況預測。

典型的深度學習生命週期© 2018 Luminovo

數據來源

任何深度學習技術應用的第一步都是確定正確信息的來源。如果幸運的話,你會輕而易舉地找到可用的歷史數據。否則,你要搜索開源數據集,在網頁中提取信息,購買原始數據或使用模擬數據集。鑑於該步驟要視手頭所擁有的具體技術應用而定,我們便未將其列入文末的工具圖表中。不過請注意,谷歌數據集搜索或Fast.ai數據等網站會幫助我們省去不少麻煩。

數據標註

許多監督深度學習技術應用涉及對圖片、視頻、文本與音像的處理。在進行模式訓練前,要用真值(真實的有效值)來標註原始數據(未處理數據)。數據標註高成本,高耗時。

在一個理想的安裝程序中,數據標註往往與模型訓練與模型部署緊密相連,並儘可能(雖然目前效果不盡如人意)地對深度學習訓練模型做出調節。

數據版本

(假設你有個智能標註處理流程,隨着數據集的增長,模型也得到不斷地重訓)數據會隨時間推移而演變,而時間過得越久,對數據集的版本更新就愈發重要(這和經常更新代碼和訓練模型是一個道理)。

硬件規模

對模型訓練與模型部署來說,有一點很重要——採用適當的硬件規模。在模型訓練從本地服務器發展到大規模實驗這一過程中,硬件的規模也需要做出適當調整。這就和部署模型時要根據用戶需求來調整硬件規模是一個道理。

模型結構

想要開始模型訓練,需要選擇一個神經網絡模型結構。

提醒:如果你有一個標準問題(例如找出網絡上與貓有關的表情包),這就意味着只需要在GitHub開源代碼庫中找出一個最先進的模型直接照搬即可,不過有的時候爲了改善性能,要親自動手調整自己的模型結構。隨着諸如神經網絡架構搜索(Neural Architecture Search)等新途徑的出現,選擇合適的模型架構逐漸併入模型訓練這一步驟,不過對於2018年大部分技術應用來說,使用NAS的性價比並不夠高。

一想到深度學習技術應用的編碼,人們首先想到的往往就是模型結構這一步驟,但是這只是深度學習運行週期中區區一環而已,並且通常而言,這還不是最重要的一環。

模型訓練

在模型訓練中,所標註數據需錄入神經網絡,並通過迭代來更新權值(即參數),以此實現損失(函數)的最小化。一旦確定了一個指標,便可用很多組不同的超參數(如學習率、模型架構與可選預處理步驟)來訓練模型,這個過程便叫做超參數調優。

模型評價

如果你不能甄別模型的好壞,那訓練神經網絡無從談起。在模型評價中,你通常會選擇一個指標對其優化(同時你也可以觀測許多不同的指標)。對於這個指標,你通常會找出一個最佳建模,它可以從訓練數據推廣到驗證數據。而這需要跟蹤記錄不同的實驗數據(不同的超參數、模型結構與數據集)與性能指標,實現訓練模型的輸出可視化並將各個實驗進行比對。

如果沒有合適的工具予以輔助,尤其是在許多工程師採用同樣的深度學習數據管道進行作業時,這個過程很快便會變得盤根錯節,撲朔迷離。

模型版本管理

這是在模型評價和模型部署之間的一個小環節(但仍值得一提):給不同版本下的模型添上標識符。在最新版本沒有達到你的預期時,你可以通過這個標識符輕鬆返回到上一個運行正常的版本。

模型部署

如果你願意將模型版本投入生產,那需要對該模型做出部署,使其與用戶(人或另一個應用)實現交互:用戶能對其發送數據請求並收到模型做出的預測。理論上來說,模型部署工具支持不同版本的漸進性變化,因此你可以預測出新投入生產模型的運行效果。

監控預測

一旦模型部署完成,你肯定會想密切關注模型的實地預測數據,時刻留意其數據發佈與運行性能,以防用戶在發現模型出問題後上門投訴。

提醒:上面提到的流程圖已反映出深度學習這一工作流程的循環特性。實際上,深度學習應用要想成功,要點之一就是將所部署模型與新添加的標記之間構成的反饋迴路(即人機迴圈)視爲深度學習工作流程中的重中之重。

與流程圖上描述的相比,現實中深度學習的運行要複雜得多。你會發現深度學習的運行出現很多問題:“一躍千里”(比如處理預處理數據集時跳步驟),“重蹈覆轍”(模型性能數據不夠準確,因此你需要蒐集更多的數據),“鬼打牆”(陷入一個死循環,如建模——訓練——評價——訓練——評價——建模)。

強推——深度學習工具一覽

知識貴在分享,下面的圖表簡要地列舉了當今市場最具前景的深度學習工具。這些工具由深度學習工程師所研製,惠及所有樂於爲深度學習這一超讚技術添磚加瓦的同道中人。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章