【学员分享】深度学习计算机视觉,两个星期从入门到上线
Hello,everyone!今天給大家講述一個深度學習項目。
在講這個項目之前,很多業外人士可能不明白人工智能(AI),機器學習(ML),深度學習(DL),這三者是什么關系。先科普一下小常識,它們三者是包含子集關系。即人工智能是最大范疇,包含機器學習,機器學習包含深度學習。
好了,進入正題。本人所解決的是人臉識別登錄的業務,最后抽象為一個深度學習的三分類問題。接下來會以解決問題的順序進行展開描述。用的深度學習框架是caffe,網絡結構是mobilenet。
01
數據的獲取
首先深度學習的數據很重要。而數據集的獲取則應該根據業務需求去尋找。本項目是圖片數據集的獲取,可以從各大開源數據集尋找,之后發現有些類別的數據集量還是不夠大,又去各大影視中尋找錄屏,然后按幀數切分成圖片。
02
數據的清洗
該部分將消耗大概百分之七十的時間。數據清洗包括對圖片數據集的篩選,分類,又稱標注數據。尤其是數據的分類很重要。數據分類的準確性可能就決定了你訓練模型能否收斂。該部分是個細活,過程比較瑣碎,暫時先不說。數據集分為9類,為啥是9類,解決的不是3分類問題嗎?因為前期3分類訓練模型的準確率不是很高,考慮到3個大類內部的數據方差過大,于是調整策略為訓練為9分類問題,最后測試為3分類,因為最后業務解決的還是3分類問題。
以下是9類圖片標注標準:
03
訓練模型
? ? ? 接下來就是訓練模型了,模型的訓練由于是在服務器上訓練,加上模型不是很大,訓練很快,正常跑個4個小時左右就可以迭代出一個模型。模型的acc,loss,隨迭代次數的關系可以通過繪制圖表觀看,很直觀。訓練集上的acc只能做個參考,主要還是最后測試的表現,因為你模型可能參數很多,最后導致模型過擬合。
? ? ? 該部分還包含模型的調優,也就是調參,這是個學問,值得好好繼續學習。
04
測試模型
該部分是拿一批最接近業務的數據去測試,看每一類準確率。3分類是標注為0,1,2三個大類。由于業務追求0,1,2的準確率很高,允許2的召回率可以低一些,所以測試時要關注這些。
下面是訓練模型在驗證集上的表現:
acc | 0.9183 |
acc0 | 0.9676 |
acc1 | 0.8 |
acc2 | 0.9723 |
準確率已經達到業務需求了,然后就結束了嗎?當然沒有。作為一個專業人士,我們要追求細節,哈哈。因為訓練的是9分類,我們要看9分類的具體情況,以及那些錯分的樣本是哪些。
下面是9類的結果:
acc | 0.9183 |
acc0 | 0.9676 |
acc1 | 0.8748 |
acc2 | 7665 |
acc3 | 0.5178 |
acc4 | 0.8152 |
acc5 | 0.9125 |
acc6 | 0.9837 |
acc7 | 0.5072 |
acc8 | 0.6136 |
怎么3,7的準確率那么低,怎么解決了?此處先埋下伏筆。
祭出大殺器,矩陣統計。
下圖是在服務器上運行結果的矩陣部分截圖:
看著很不舒服,于是把它調整到文本中,方便觀看。
以上矩陣共有arrays1,arrays2,arrays3三個矩陣,每個矩陣的每一行代表真實標簽label,共有9行,依次表示label從0到8,每一列代表預測標簽predict,共有9列,依次表示predict從0到8,所以每個矩陣都是一個9*9的矩陣。arrays1表示共有81種可能組合,每一個元素表示模型把樣本的label預測為predict的可能的個數。例如arrays1[0][0]表示模型把0預測為0的樣本共有5975張。arrays2表示模型把樣本的label預測為predict的概率總和,例如arrays2[0][0]表示模型把0預測為0的樣本概率總和為5.53879372e+03。arrays3表示模型把樣本的label預測為predict的概率平均值,arrays3=arrays2/arrays1。例如arrays3[0][0]表示模型把0預測為0的樣本概率均值為0.92699476。從arrays3可以看出,主對角線的值(表示模型預測正確的概率均值)還是蠻大的,其它值不是很大,說明模型的整體性能還是挺優的。
好,下面解決上面埋下的伏筆: 3,7的準確率怎么那么低,答案得在arrays3中尋找,我們得看label為3時,分為predict的情況,從arrays3可以看出,arrays3[3][0]較大,表示模型把3錯分為0的概率,再去看對應的arrays1[3][0]=9, 表示模型把3錯分為0的樣本數為9,數據量不是很大啊,然后我們再去查看這9個樣本的情況,發現是自己標注錯了,好了,這不是模型的鍋,模型是還是不錯的。同理,分析7的準確率情況。
經過以上的環節,基本深度學習的模型可以出第一版本了,之后再根據業務需求看模型是否需要迭代。
感謝鵬哥帶我。
注:圖片全部為實驗數據圖片
—END—
如果想加入我們,后臺留言吧
微信
Longlongtogo
公眾號內容
1 圖像基礎|2 深度學習|3 行業信息
往期精彩
?
【深度學習圖像項目實戰-從入門到上線1】怎樣學會科學的調研并啟動一個項目。
?
【技術綜述】一文道盡softmax loss及其變種。
總結
以上是生活随笔為你收集整理的【学员分享】深度学习计算机视觉,两个星期从入门到上线的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【深度学习图像项目实战-从入门到上线1】
- 下一篇: 【技术综述】计算机审美,学的怎么样了?