基于深度學習的圖像識別進展
百度余凱團隊最新力作《基于深度學習的圖像識別進展百度的若干實踐》,作者:都大龍、余軼南、羅恒 ,其他作者:張健、黃暢、徐偉、余凱。《中國計算機學會通訊》,第11卷第4期,2015年4月。
本文是百度文章的摘要,其中個人觀點僅供參考。
1 深度學習三大優勢
在百度的實踐中,我們認識到深度學習主要在以下三個方面具有巨大優勢:
1.1 深度學習特別適合處理大數據
從統計和計算的角度看,深度學習特別適合處理大數據。它集中體現了當前機器學習算法的三個大趨勢:
1)用較為復雜的模型降低模型偏差(model bias),
2)用大數據提升統計估計的準確度,
3)用可擴展(scalable) 的梯度下降算法求解大規模優化問題。
【視覺機器人:這個大數據是除了數量上的大,我覺得還有更重要的是維度的大,很多算法本身是無法處理高緯度數據的,例如Kernel學習機相關的算法, 雖然理論上是先將數據向高維空間映射,然后在高維空間進行線性的求解,實際上在處理的時候還是回到原空間處理。傳統的BP算法針對高維的數據也是效果不 佳。
CNN等為什么對圖像領域更加有效,因為其不但關注了全局特征,更是利用了圖像識別領域非常重要的局部特征,應該是將局部特征抽取的算法融入到了神經網絡 中。圖像本身的局部數據存在關聯性,而這種局部關聯性的特征是其他算法無法提取的。所以我認為深度學習很重要的是對全局和局部特征的綜合把握】
1.2 深度學習不是一個黑箱系統。
1:用卷積處理圖像中的二維空間結構,
2:用遞歸神經網絡(Recurrent Neu-ral Network, RNN) 處理自然語言等數據中的時序結構
【視 覺機器人:遞推更加符合人的認知行為,我覺得更有實用價值,遞推算法可以廣泛的應用于時間序列數據中,大到國家宏觀經濟數據,小到股市的每分鐘交易,以及 工業企業中所有的傳感變量。但是是否是深度學習的用武之地,我覺得更主要的是看數據維度是否夠大,以及是否在數據中存在關聯的局部特征。】
1.3 深度學習幾乎是唯一的端到端機器學習系統
傳統機器學習往往被分解為幾個不連貫的數據預處理步驟,比如人工抽取特征,這些步驟并非一致地優化某個整體的目標函數。
【視覺機器人:在我看來深度學習本身就是一套系統一個架構,而不是一個單一的算法,有時候不能用深度學習和其他單一算法例如SVM算法比較,深度學習本身也是有抽取特征的網絡部分】
經驗1:豐富的圖像擾動是我們將關于圖像的先驗知識用于深度學習輸入端的有效手段
經驗2:結構化損失函數是我們將模型化知識用于深度學習輸出端的有效方式
經驗3:參數的稀疏化、圖像的多分辨率通道、多任務的聯合學習是我們將關于問題的認知和理解注入到深度學習模型結構中的有效方式。
前面所述深度學習的三大優勢,在最近圖像識別的進展中體現得淋漓精致:
1)模型結構越來越復雜, 訓練數據規模也不斷增加;
2)各種關于數據結構的先驗知識被體現到新的模型結構中;
3)端到端學習讓我們越來越摒棄基于人工規則的中間步驟。
【視覺機器人:個人認為先驗知識對于做產品很重要,所以要做好某方面的產品,必須成為這個領域的專家】
2 基于深度學習的圖像分類和物體檢測算法
在物體檢測方面,如圖2 所示,目前主流的算法大都采用掃描窗或是候選窗方法。掃描窗方法能夠在相鄰窗口之間共享特征,可以快速地掃描較大面積的圖像;候選窗方法能夠高效地在圖像 候選區域內進行識別,更為靈活地處理物體長寬比的變化,從而獲得較高的交并比覆蓋率。
近幾年,深度學習在圖像識別中的發展主要有以下幾個趨勢:
1)模型層次不斷加深
到2014 年,獲得冠軍的GoogleNet使用了59 個卷積層(另外包括16 個pool 層和2 個norm 層)。
2)模型結構日趨復雜。
3)海量的標注數據和適當的數據擾動。
結合圖像數據的特點,包括平移、水平翻轉、旋轉、縮放等數據擾動方式被用于產生更多有效的訓練數據,能夠普遍提高識別模型的推廣能力。
百度利用并行分布式深度學習平臺(Parallel Distributed Deep Learning, PAD-DLE),收集建立起規模更大、更符合個人電腦和移動互聯網特點的圖像數據倉庫。以互聯網色情圖片過濾為例, 我們的訓練數據囊括了1.2 億幅色情圖像,分類精度達99.4%。
【視覺機器人:1.2 億幅色情圖像,我也是High了,百度云先把讓屌絲在云上肆無忌憚的傳播色情信息,然后又統統的清0,最后原來是開發出來這么個色情圖像識別系統啊,你是不是該感謝一下那么多的盧澤爾。
知乎上有個關于“百度云是如何識別出 A 片的?”的討論,其中“熊辰炎,PhD在讀@CMU, 搜索,知識圖譜,機器學習”的答復有638的點贊。http://www.zhihu.com/question/27652950 】
3 基于端到端的序列學習:對傳統光學字符識別框架的改造
對經光學字符識別的系統流程和技術框架進行了大幅改造(見圖4)。
1)在系統流程方面,引入文字檢測概念,和行分割合并成新的預處理模塊,任務是檢測圖像中包含文字的區域并生成相應文字行;
2)將字分割和單字識別合并成新的整行識別模塊;
3)基于N-gram 的語言模型解碼模塊予以保留,但將主要依賴人工規則的版面分析和后處理模塊從系統中刪除。
4)此外, 由于整行文字識別是一個序列學習問題,我們有針對性地研發出基于雙向長短期記憶神經網絡(Bidirectional Long Short-term Memory, BLSTM) 的遞歸神經網絡序列模型學習算法。
【視覺機器人:百 度語音技術負責人@賈磊_語音技術男,4月2日發布的微博消息:百度語音技術部成功研發出改進型長短時記憶模型(LSTM)的深度學習技術,成功上線百度 語音輸入法,語音識別率大幅度提升。2015年4月初安靜環境中文普通話語音識別世界領先。同行競爭,此消彼漲。歡迎業界跟進,共同繁榮漢語語音識別市 場。】
4 并行分布式深度學習平臺
根據高維稀疏數據的特點,并行分布式深度學習平臺還提出并實現了許多非常具有針對性的體系結構和算法
1)由于海量的高維數據需要規模極大的模型與之匹配, 因此模型和數據只能分布式地存儲在大量的節點上
2)盡管有海量的數據,但是由于數據的稀疏性,過擬合仍然是需要時刻警惕的問題。
3) 并行分布式深度學習平臺對同時需要稠密矩陣運算和稀疏矩陣運算的場景進行了優化。
5 展望未來
基于深度學習的圖像識別問題可圍繞如下幾個重點展開:
1)增強學習
2)大規模弱標注和部分標注數據的應用
3)低層視覺和高層視覺的廣泛結合
4)適合進行深度學習模型計算的硬件高速發展
【視覺機器人:個人更覺得底層視覺和高層視覺的結合是一個方向,高層視覺對底層視覺需要有一個反饋的環節,這個比較符合人的認知行為】