文/毛敏 浙江大華技術股份有限公司智能算法工程師
深度學習算法與傳統(tǒng)機器算法的比較
由于幾乎所有的人工智能領域的問題都可以轉(zhuǎn)化為分類問題,因此機器學習的基本步驟可分為如下形式:目標預處理-特征提取-目標分類,機器學習是一個級聯(lián)串行結構,因此每一環(huán)節(jié)的處理結果都會影響到最后的分類效果,在傳統(tǒng)的機器學習中針對其中的各個環(huán)節(jié)都有其各自獨立的算法:
目標預處理:直方圖歸一化,傾斜矯正,形態(tài)學處理等;
特征提?。篖BP,Haar,SIFT,SURF(Handcrafted Feature Extractor),Cluster,BOW(bag of word), Fisher vector,PCA,LDA(Unsupervised features);
分類器:SVM,Decision tree, Ensample(集成分類器);
由于上述方法具有各自獨立性,因此傳統(tǒng)機器學習算法在處理問題時需要對各個環(huán)節(jié)進行優(yōu)化,并通過組合優(yōu)化方法在各個模塊中選取最優(yōu)的組合方式。
與傳統(tǒng)機器學習相比深度學習可以把機器學習中的各個部分合成為一個整體結構,通過統(tǒng)一的訓練方法(Backpropagation)對其中所有的參數(shù)進行調(diào)節(jié)。當前人們所指的深度學習主要是以CNN(卷積網(wǎng)絡)為核心的一系列應用算法,其算法結構如下圖所示:
PT1:CNN(卷積網(wǎng)絡)算法結構
上圖中的每一層都是采用卷積方式與某一卷積核進行卷積所得到的結果,每一結果代表了從原始圖像所提取的特征,通過級聯(lián)方式對圖像或信號進行特征提取,最后得到人們想要的分類結果。
2000年以前,深層網(wǎng)絡較難收斂,其原因是傳統(tǒng)的網(wǎng)絡采用的激勵函數(shù)為sigmoid/tanh函數(shù),其受初始化影響較大且會產(chǎn)生梯度消失的情況。直到2006年Hitton提出了RBM方法對網(wǎng)絡進行預訓練,之后采用了ReLU作為激活函數(shù)使得深度學習在數(shù)據(jù)量相對較小的任務中無需采用預訓練模型的方式來訓練網(wǎng)絡。
到2000中期,卷積神經(jīng)網(wǎng)絡盡管已經(jīng)在物體分類方面取得了較好的成績,但其效果還是比傳統(tǒng)方法略差。其原因主要有兩方面,一是帶標簽的訓練樣本太少;二是計算機的計算效率太低。直到2012年,F(xiàn)ei-Fei Li推出多達120萬張標注樣本的ImageNet訓練數(shù)據(jù)集,NVIDIA提供了高效并行計算工具,極大的提升了卷積神經(jīng)網(wǎng)絡在物體分類方面的速度和準確性。
CNN應用舉例:
PT2:目標檢測
PT3:姿態(tài)估計
PT4:圖像描述
PT5:場景解析及標注
上述基于圖像或視頻的應用特別是基于深度學習目標檢測與識別方法可應用于城市監(jiān)控、智能交通及行為分析等。
深度學習算法優(yōu)化及技術應用存在的問題
憑借在目標檢測與識別方面出色的算法能力,以智能安防為首的多個行業(yè)正在掀起一場基于深度學習算法的應用浪潮,而在這個過程中,深度學習在算法優(yōu)化和技術應用上依舊存在一些待解決的問題。
首先,深度學習開發(fā)平臺尚未統(tǒng)一,當前深度學習的平臺主要包括:Caffe、Torch、Theano、TensorFlow等,各個平臺間的數(shù)據(jù)接口仍未統(tǒng)一,因此同一套算法需要根據(jù)不同平臺提供不同的版本,算法移植成本較大,且給不同算法間的評估帶來了一定難度;
其次,算法優(yōu)化方向尚不明確,與傳統(tǒng)算法相比深度學習可以看成是一個黑箱模型,因此當算法效果較差時很難評估具體是其中的哪個部分出了問題,當前的經(jīng)驗方法是采用更深的網(wǎng)絡結構,增大樣本量,此外尚無較明確的算法優(yōu)化方法;
最后,在理論研究方面,目前從理論角度理解深度學習主要有這樣幾大方向:1、深度網(wǎng)絡中的目標函數(shù)的幾何特征是怎樣的?2、從理論角度來解釋卷積網(wǎng)絡的有效性?3、如何將機器學習中的:監(jiān)督學習、無監(jiān)督學習以及增強學習進行融合,使其成為一種單一的算法?4、如何有效的設計一種類似于人類的無監(jiān)督學習方法?
當前對于問題1與2尚無較好的解釋及解決方法,對于問題3目前仍在探索階段(對波爾玆曼機及自動編碼器是當前該方向的研究熱點),關于問題4,尚處于探索階段,但已有一些初步成果,即GAN(生成對抗網(wǎng)絡)。
安防領域深度學習應用需要關注的問題
依賴于大數(shù)據(jù)應用方面的突破,安防領域人工智能的應用正呈現(xiàn)出燎原之勢,當前的發(fā)展水平下,人工智能融合到安防領域所要解決的主要問題是算法的計算性能問題,由于安防領域的大量產(chǎn)品都屬于前端產(chǎn)品,因此,深度學習需要運行在ARM等芯片上,如何把GPU上運行的算法移植到前端去運行是目前急需解決的問題。
另外,針對現(xiàn)階段深度學習開發(fā)平臺尚未統(tǒng)一的問題,由于目前深度學習對樣本的數(shù)量及質(zhì)量具有較大的依賴性,因此需要建立起一個統(tǒng)一的管理樣本的平臺,該平臺應具有管理樣本的能力,包括:去除重復樣本,排除錯誤樣本及自動生成訓練所需的隨機樣本的能力。
而在芯片和算法方面,目前各廠商采用的芯片及算法相似,由于在芯片上運行的是根據(jù)實際應用所設計的算法,因此不同公司產(chǎn)品的優(yōu)劣取決于其所提供算法的正確率及速度,在深度學習中這兩部分對樣本的質(zhì)量具有較強的依賴性,因此公司的核心競爭力取決于對樣本的管理能力。