當前位置:
首頁 > 知識 > 乾貨 | 深度學習應用中需要思考的問題

乾貨 | 深度學習應用中需要思考的問題


微信公眾號


關鍵字全網搜索最新排名


【機器學習演算法】

:排名第一


【機器學習】

:排名第二


【Python】

:排名第三


【演算法】

:排名第四


我在這兒只是列出了一部分該考慮的問題,各位小夥伴們可以在下面留言區進行補充。演算法學習的過程不要想當然,從實際角度切入可能會讓你少走很多彎路。




對於下列問題,我們無法給出統一的回答,因為答案取決於您想要解決的具體問題。

但是,我們希望本文中列出的各項因素能引導您在初期系統地思考如何選擇演算法和工具:




我要解決的是有監督學習問題,還是無監督問題?如果是有監督學習,那麼是分類問題還是回歸問題?

有監督學習是有「老師」的。這位「老師」就是一個確定輸入和輸出數據之間關聯的訓練數據集。例如,您可能需要標記圖像。在這種分類問題中,輸入是原始像素,而輸出則是圖片中的事物的名稱。而在回歸問題中,您可能需要教授神經網路如何預測連續值,例如根據住房面積這樣的輸入數據來判斷房子的價格。無監督學習則能通過分析未標記的數據來檢測相似性或異常狀況。無監督學習沒有「老師」;具體應用包括圖像搜索和欺詐檢測等。




如果是有監督學習,需要處理的標籤數量有多少?

需要準確標記的標籤數量越多,問題的計算強度也就越大。ImageNet的訓練數據集約有1000個類別;而鳶尾花資料庫則只有3個類別。




每個批次應當包含多少數據?一個批次指的是數據集中的一組樣例或實例,比如一組圖像。

在訓練過程中,一個批次的實例全部輸入神經網路,網路對這些實例進行預測,然後依據所有預測誤差的平均值來更新模型的權重。批次越大,兩次更新之間的等待時間(或稱學習步驟)就越長。批次較小意味著網路從每個批次中學到的與問題數據集相關的信息較少。如果您有大量數據,一開始不妨將批次大小設定為1000,對於一些問題可以取得較好的學習效果。




需要處理的特徵數量有多少?特徵數量越多,需要的內存也越大。

就圖像而言,第一層的特徵數量等於圖像所包含的像素數。所以MNIST數據集中的28 x 28像素的圖像有784個特徵。醫療診斷中的圖像則可能有14兆像素。




同樣的問題,另一種表述是:應當選擇哪種網路架構?

微軟研究院開發的Resnet網路在最近的ImageNet大賽中獲得冠軍,該網路有150個層。

在其他條件相同的情況下,層數越多,需要處理的特徵越多,所需要的內存也就越大。多層感知器(MLP)中的一個稠密層的特徵密集度要遠高於一個卷積層。

人們之所以使用包含二次抽樣層的卷積網路,正是因為這樣可以大刀闊斧地「修剪」需要運算的特徵。




要用怎樣的方法來調試神經網路?

許多人可能還對神經網路調試感到有些雲里霧裡。具體的操作方式有以下幾種。

可以根據實踐經驗來調試

:觀察網路的F1值,然後調整超參數。

您也可以用超參數優化工具來實現一定程度的自動化調試。

最後,

您還可以採用示意性方法

,比如用一個GUI來明確顯示誤差下降的速度以及激活分布的狀況。




模型訓練需要多少數據?怎樣找到這些數據?



硬體:使用GPU、CPU還是兩者並用?用單一GPU系統還是分散式系統?

目前許多研究是用1~4個GPU的系統開展的。企業級解決方案通常需要更多資源,因此還必須使用大型CPU集群。




要使用哪種數據加工管道?如何進行數據的提取、轉換和載入(ETL)?數據是在Oracle資料庫中嗎?還是在Hadoop集群上? 數據是在本地還是雲端?




如何提取數據中的特徵?

雖然深度學習可以自動提取特徵,但您可以用不同形式的特徵工程來減輕計算負荷,加快訓練速度,尤其是在特徵比較稀疏的情況下。




應使用何種非線性函數、損失函數和權重初始化方式?

非線性函數是與深度神經網路中每個層相對應的激活函數,可能是sigmoid函數、修正線性單元或其他函數。每種非線性函數通常與特定的損失函數搭配。




解決這個問題的最簡架構是什麼?

並非所有人都願意或有能力用Resnet來進行圖像分類。




網路在哪裡進行訓練?模型要部署到哪裡?需要與哪種平台集成?

大多數人直到完成一個的原型時才開始思考這些問題,此時他們往往得用可擴展性更強的工具來重寫自己的網路。您應當提前考慮最終需要使用的是Spark、AWS、Hadoop,還是別的平台。




我在這兒只是列出了一部分該考慮的問題,各位小夥伴們可以在下面留言區進行補充。演算法學習的過程不要想當然,從實際角度切入可能會讓你少走很多彎路。




原文:DL4J(https://deeplearning4j.org/cn/questions)




近期熱文


資源 | 26份機器學習視頻資源,涵蓋入門->中級->項目的各個階段!(可直接下

載......)



機器學習(37)之矩陣分解在協同過濾推薦中的應用


資料 | 美圖區域鏈白皮書(附PDF鏈接)


手冊 | Linux 運維人員最常用 150 個命令匯總


機器學習(36)之協同過濾典型演算法概述【精華】


機器學習(35)之PrefixSpan演算法原理詳解


2017年度盤點:Github上十大有趣的機器學習項目(文末有驚喜......)



加入微信機器學習交流


請添加微信:guodongwe1991


備註姓名-單位-研究方向





廣告、商業合作


請添加微信:guodongwe1991


(備註:商務合作)

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!

TAG: |