乙個網路的三要素:結構、演算法、權值
網路模型一旦選定,三要素中結構和演算法就確定了,接下來要對權值進行調整。
神經網路是將一組訓練集(training set)送入網路,根據網路的實際輸出與期望輸出間的差別來調整權值。
訓練模型的步驟:
選擇樣本集合的乙個樣本(ai bi) (資料 標籤)
送入網路,計算網路的實際輸出y(此時網路中的權重都是隨機的)
計算d=bi -y(**值與實際值的差)
根據誤差d調整權值矩陣w
對每個樣本重複上述過程,直到對整個樣本集來說,誤差不超過規定範圍。
caffe是一種開源的軟體框架,利用這套框架,我們可以實現新的網路、修改已有的神經網路、訓練網路、編寫網路使用。
實現新的網路
1 資料打包
2 編寫網路結構檔案
3 編寫網路求解檔案
4 開始訓練
caffe的檔案結構
例如安裝後會有 mnist ilsvrc12 cifar10
docs example 使用的幫助文件和**樣例
直接使用caffe神經網路框架比較複雜,可以使用nvidia推出的digist視覺化工具進行網路的訓練。
tensorrt 網路框架 採取「」精度換速度「」的策略,在精度無明顯下降的前提下,其對inference的加速明顯,往往有1倍以上的效能提公升,它能根據prototxt檔案和caffemodel權值,轉化為支援半精度的新的模型。其工作流程:
訓練對於深度學習來說是為了獲得乙個效能優異的模型,其主要的關注點在於模型的準確度等指標。推理則不一樣,其沒有了訓練中的反向迭代過程,是針對新的資料進行**,而我們日常生活中使用的ai服務都是推理服務。相較於訓練,推理的關注點不一樣,從而也給現在有技術帶來了新的挑戰:推理 需求
現有框架的侷限性
影響高吞吐率
無法處理大量和高速的資料
增加了單次推理的開銷
低響應時間
應用無法提供實時的結果
損害了使用者體驗(語音識別、個性化推薦和實時目標檢測)
高效的功耗以及視訊記憶體消耗控制
非最優性能
增加了推理的開銷甚至無法進行推理部署
專業部署級別的解決方案
非專用於部署使用
框架複雜度和配置增加了部署難度以及生產率
推理更關注的是高吞吐率、低響應時間、低資源消耗以及簡便的部署流程,而tensorrt就是用來解決推理所帶來的挑戰以及影響的部署級的解決方案。
神經網路訓練
學習了bp神經網路演算法,剛開始最終要的一點不明白的就是前一層和後一層 這裡指的只有三層,輸入層,隱藏層,輸出層 的權重,其實神經網路演算法中,前一層的每乙個節點和後一層的每乙個節點都有連線權重,初始權重是隨機的。而更新權重是通過輸出層的值來反向更新的。基本過程如下 1.輸入第乙個訓練樣本 對應的就...
神經網路的訓練
既然我們希望網路的輸出盡可能的接近真正想要 的值。那麼就可以通過比較當前網路的 值和我們真正想要的目標值,再根據兩者的差異情況來更新每一層的權重矩陣 比如,如果網路的 值高了,就調整權重讓它 低一些,不斷調整,直到能夠 出目標值 因此就需要先定義 如何比較 值和目標值的差異 這便是損失函式或目標函式...
神經網路訓練技巧
1 學習速率。首先設學習速率為乙個較大的值,確保training cost在不斷下降。當accuracyy在n個epoch內不再增加時,使得學習速率減小一半。重複迭代,直到學習速率變成原來的1 1024。2 學習速率要根據訓練cost調。但是網路層數和神經元數目,mini batch size要根據...