2015年以來,安防監控公司表示全球數據井噴式的爆發(年均增速都在40%以上)、GPU計算能力的飛速增長和深度神經網絡算法的突破,使得并行計算變得更快速和更有效,人工智能開始全面爆發。深度學習使得機器學習拓展了人工智能的領域范圍,讓幾乎大部分機器輔助功能都變為可能,比如無人駕駛汽車、無人機、語音識別、欺詐檢測、產品推薦等方面。在圖像分類、物體檢測、圖像語義分析、人臉識別、光學字符識別等計算機視覺領域,深度學習的應用尤為廣泛,在一些場景中甚至可以比人做得更好。其中,深度學習對圖像解析的突出作用使得視頻監控系統得到了跨越式發展,視頻監控的核心需求是在圖像中準確快速地發現目標,人工智能將傳統的錄像回放轉變為實時預警布控,為大數據分析研判提供了重要技術支撐。
深度學習的應用主要來自三個方面:巨大的標記數據樣本(圖像和語音)、先進的算法/模型/軟件(神經網絡算法CNN和RNN以及深度學習框架)和高性能計算(數據樣本多/模型訓練時間長/參數更新快速同步)。
除了數據之外,算法和算力分別從軟件和硬件兩個維度撐起了人工智能平臺的巨大生態。
高清監控安裝公司稱算法方面,目前CNN的深度學習框架主要包括:加州大學伯克利分校維護的Caffe、谷歌維護的Tensorflow、微軟研究院維護的CNTK、分布式機器學習社區維護的MXNet以及百度維護的PaddlePaddle等。CNN分為模型訓練和應用推理兩個環節:模型訓練是獲取推理模型,應用推理是根據訓練模型和輸入數據獲取計算結果,如圖片分類。不同環節采用不同的計算架構:模型訓練使用CPU+GPU計算架構,應用推理可以采用CPU+FPGA、計算架構等。主要因為:GPU算法實現架構成熟,適合較復雜的訓練算法,FPGA可靈活實現多任務處理且運行能效更好。
以Caffe為例,其特點是上手快(模型與相應優化都是以文本形式而非代碼形式給出)、模塊化(設計上力求模塊化,允許對新數據格式、網絡層和損失函數進行擴展)、表示和分離(模型定義寫進配置文件,根據網絡需求調度內存)、測試覆蓋(每個模塊對應一個測試)、開放性(公開的代碼和參考模型)
算力方面,當下實現深度學習的高性能計算硬件平臺主要包括GPU、ASIC、FPGA,GPU因為先發優勢占據較大市場份額,FPGA正試圖在云端服務器發力,ASIC難度更高但更適用于深度學習算法。算力需要具備并行性、多線程、高內存帶寬等特性,而且由于數據的訓練時間長,需要低功耗的硬件架構。三類平臺和傳統CPU平臺的性能對比如下:
GPU是目前深度學習訓練系統比較成熟和廣泛的硬件平臺,最初為處理圖形而設計具備了大規模的獨立神經元,相比CPU的串行邏輯,GPU更擅長高度并行的密集計算,有很多計算核心是為矩陣運算專門優化,并且CJPU為適應復雜多層網絡,提供15TFLOPS的單精度浮點計算能力和900GB/s帶寬。通常,訓練平臺采用CPU+P4/P40/P100/V100等GPLT卡組建集群和數據中心,應用程序的串行部分在CPU上運行,計算任務繁重的部分由CPU加速,CPU與GPU通過PCIE總線通信,此外,邊緣端的推理應用可以采用Jetson方案。GPU主要通過專用編程框架CUDA軟件開發,CLDA不需要借助圖形學API,采用通用計算并行架構和C語言進行開發,降低了難度。