文/王菲斐
深度學習的基本原理是通過神經網絡結構進行低維到高維的映射,從而能夠對數據的特征進行提取,最后能夠得到數據的特征表示。以圖像分類為例,深度學習下的卷積神經網絡能夠先提取圖像的低維度特征(比如水平線、垂直線、斜線等),然后將這些特征組合,從而形成更加抽象的高維特征,最后可以得到對樣本數據的分層特征表示。深度學習與其他算法一起工作,可以幫助我們進行分類,聚類和預測。當深度學習算法訓練時,將對數據進行特征提取,測量他們對訓練集猜測的錯誤,然后糾正他們猜測的方式,以便能夠更加精確,這就是優化算法。也就是說,人類可以感知的任何東西,以及我們的技術可以數字化的東西,使用深度學習都可以分析世界上發生的事情。通過深度學習,我們基本上可以通過軟件來準確地解釋我們周圍發生的事情,從而使社會有更聰明的行為能力,這就是深度學習在人工智能下的成功案例。
由于深度學習具有強大的學習能力,它已經成功地應用于多種模式分類問題,并且相比于經典的機器學習方法,深度學習在識別精度以及識別效率上有很明顯的提升。 雖然這一領域尚處于起步階段,但深度學習的發展對人工智能和機器學習領域無疑會產生廣泛和深遠的影響。但是它仍存在某些不適合處理的特殊任務,譬如醫學圖像分析,常見的腫瘤、皮膚病以及癌癥等圖片,由于各種原因造成的識別精度不高,是影響深度學習在該領域應用主要原因;基于大數據下的深度學習也是難以克服的領域;多任務識別等模式分類問題也需要深入研究。所以,仍有大量的研究工作需要我們去攻克,深度學習這一新興技術目前仍有足夠多的研究空間。比如在模型結構方面,雖然卷積神經網絡模型結構已經廣泛被人所認可,而且使用該模型結構所達到的效果也比較理想,但是能否找到更為簡單有效的模型結構,另外能否尋找出新的特征提取模型也需要我們研究。此外,雖然基于mini-batch的梯度下降算法已經很好的訓練模型,但是能否找到其他有效可行的訓練算法也值得我們去研究。目前,基于mini-batch的梯度下降算法在多個CPU中進行并行訓練是很困難的,所以訓練速度比較慢,最常用的解決辦法是使用GPU來加速訓練過程,文獻[4]則是使用一種分層并行的隨機梯度下降算法,并且使用GPU進行加速處理,能夠很快的結束訓練模型的過程。然而單個GPU對大規模數據集或類似任務數據集并不適用,多個GPU并行處理是一個值得研究的方向。
深度學習與傳統的淺層學習相比,主要的不同之處在于:
(1)深度神經網絡模型的深度比淺層學習網絡的深度要大,通常有4層、5層甚至是20多層的隱藏層(目前已知最深的網絡已經做到156層);
(2)深度學習每一個隱含層都是在做特征提取任務,充分體現了特征提取在深度網絡中的重要性,換句話說,深度神經網絡能夠將樣本數據從低維特征空間轉換到更加高維的特征空間,有利于模型的訓練與學習。
在深度學習興起之前,多數模式分類、回歸等機器學習方法為淺層結構算法,這些算法的局限性在于:在有限樣本和計算單元的情況下,對復雜非線性函數的表示能力有限,針對復雜分類問題的泛化能力有一定的缺陷。而深度學習可通過深度網絡學習一種深層非線性網絡結構,能夠實現表征輸入數據分布式表示、復雜函數逼近,并且體現了從小樣本數據集中學習本質特征的強大能力。
目前,在醫療領域中,深度學習還處于萌芽時期,由于特征的難以提取以及其他原因,導致深度學習進展緩慢。Yawen Xiao以及Jun Wu[5]所提出的基于深度學習的多模型方法預測癌癥效果遠超傳統方法;Yanyan Dong,Qinyan Zhang以及Zhiqiang Qiao[6]所使用的基于深度學習的白內障圖像分類,使用五層卷積層能夠很好的進行分類實現;Hangning Zhou, Fengying Xie[7]以及Heba Mohsen[8]分別針對皮膚病和大腦腫瘤使用新型的深度學習方法進行識別,都取得了比較好的結果;文獻[9]指出深度學習在醫學圖像分析領域的使用情況,表明深度學習將會廣泛應用于醫學領域;文獻[10]則將深度學習用于生物圖像分類當中;文獻[11]使用MT圖片進行細胞分類,分類效果比較好。我認為當前制約深度學習在醫療領域的主要原因在于醫療資源的不公開,導致許多希望使用深度學習方法來改善醫療能力的專家們不能夠全力進行相關的研究。
文獻[12]提出DGs的方法成功的分類出島嶼以及管道分布;而文獻[13]則使用所提出的SFA的方法,改進了網絡模型的一些參數,使得模糊圖像分類的效果有所提升;Kamran Kowsari以及Donald E.Brown[14]將通過一種新的分層深度學習方法將文獻進行分類;而Abdalraouf Hassan與Ausif Mahmood[15]則是使用循環層與卷積層相結合的方法對文獻進行有效的分類,這兩種方法都是在深度學習的基礎上進行改進而得到的新的方法;文獻[16]則提出一種NB-CNN的方法對劃痕進行識別與分類;Shrikant Dharwadkar以及Ganesh Bhat[17]則是使用遷移學習的方式對花卉進行分類,將深度學習與簡單神經網絡對比;文獻[18-20]則是使用不同神經網絡架構來分別實現人類行為識別(HAR)、手寫體識別以及微藻類識別,這三種方法識別率都達到不錯的效果;文獻[21]介紹了針對使用深度學習不同問題的機器翻譯。
在大數據時代,能夠為工業控制、電子商務以及智能醫療等領域提供巨大的發展商機,在過去的幾年里,深度學習在大數據分析解決方案中發揮了重要的作用[22];雖然然數據量極大的增多,但是可以使用的數據確仍然占少量,Junhua Ding以及XinChuan Li[22]將訓練數據進行擴張使用,使得訓練模型的精度大大提高;而文獻[23]則是使用遷移學習的方式對車輛的不同損傷進行分類;文獻[24,25]則是針對多任務跨領域所使用卷積神經網絡來訓練自己的模型;在能源及商業方面,Nikolaos G.Paterakis,Elena Mocanu,Madeleine Gibescu[26]將深度學習與傳統機器學習在預測能源需求方面進行比較;文獻[27]則是使用深度學習進行商業過程行為預測; brahim K與Mehmet Ulvi MEK[28]則在空氣質量預測中使用了深度學習這一方法。
深度學習這一新興的機器學習方法雖然在機器翻譯、語音識別、圖像分類以及自然語言處理等領域中大放異彩,能夠在這些領域中達到以往機器學習方法所達不到的效果,但是深度學習本身還存在著一些問題需要我們來解決:
(1)無標記特征數據學習問題。作為監督學習的一種方法,當前訓練數據大都是存在著標簽,但是在現實世界中,許多數據都是無標簽的數據,手動進行添加是不現實的,所以如何使用無標簽數據集進行訓練(即非監督學習方法)是一個需要研究的重要問題;
(2)部分訓練集的數據量太少,不適合進行深度學習,需要考慮如何使用小規模數據來進行模型的訓練;
(3)深度網絡模型的訓練速度問題。如果想要訓練一個比較好的模型,所需要的數據集就比較大,那么就會導致深度學習網絡的訓練時長比較長,所以對CPU的運算速度已經運算精度要求比較高,所以我們需要研究如何降低訓練所需要的時間或者找到一種新的CPU處理方法。
近年來,隨著大數據時代以及深度學習的興起,學習方式、學習方法開始受到人們的普遍關注。深度學習,與淺層學習相比,因其模型訓練簡單、有效以及易于實現而受到人們的大量重視,對我國深度學習相關研究提出以下建議:
(1)對于新興的深度學習熱潮,我們不能盲目跟風、隨大流,我們應該將深度學習方法應用于與我們實際生活息息相關的地方,比如醫學圖像分析、多任務識別、金融預測等領域,解決我們實際問題;
(2)關于訓練算法的方面,我們可以找到不同于梯度下降算法的其他訓練算法,能夠達到比梯度下降算法更優越的效果;
(3)關于深度模型方面,我們可以研究不同于CNN或者RNN的其他模型結構,使之能夠更好地達到特征提取以及特征學習的效果。