1. 程式人生 > >TensorFlow系列專題(三):深度學習簡介

TensorFlow系列專題(三):深度學習簡介

一.深度學習的發展歷程

  • 深度學習的起源階段
  • 深度學習的發展階段
  • 深度學習的爆發階段
二.深度學習的應用
  • 自然語言處理
  • 語音識別與合成
  • 影象領域
三.參考文獻

 

一.深度學習的發展歷程

作為機器學習最重要的一個分支,深度學習近年來發展迅猛,在國內外都引起了廣泛的關注。然而深度學習的火熱也不是一時興起的,而是經歷了一段漫長的發展史。接下來我們簡單瞭解一下深度學習的發展歷程。

  • 深度學習的起源階段
1943年,心裡學家麥卡洛克和數學邏輯學家皮茲發表論文《神經活動中內在思想的邏輯演算》[1],提出了MP模型。MP模型是模仿神經元的結構和工作原理,構成出的一個基於神經網路的數學模型,本質上是一種“模擬人類大腦”的神經元模型(這裡有必要說明的是,我們說的模仿其實更準確的說法應該是參考,計算機領域的“人工神經網路”的確是受到生物學上的“神經網路”的啟發,但是兩者相差萬里,沒有直接的可比性。)。MP模型作為人工神經網路的起源,開創了人工神經網路的新時代,也奠定了神經網路模型的基礎。

1949年,加拿大著名心理學家唐納德·赫布在《行為的組織》中提出了一種基於無監督學習的規則——海布學習規則(Hebb Rule)[2]。海布規則模仿人類認知世界的過程建立一種“網路模型”,該網路模型針對訓練集進行大量的訓練並提取訓練集的統計特徵,然後按照樣本的相似程度進行分類,把相互之間聯絡密切的樣本分為一類,這樣就把樣本分成了若干類。海布學習規則與“條件反射”機理一致,為以後的神經網路學習演算法奠定了基礎,具有重大的歷史意義。

20世紀50年代末,在MP模型和海布學習規則的研究基礎上,美國科學家羅森布拉特發現了一種類似於人類學習過程的學習演算法——感知機學習[3]。並於1958年,正式提出了由兩層神經元組成的神經網路,稱之為“感知器”。感知器本質上是一種線性模型,可以對輸入的訓練集資料進行二分類,且能夠在訓練集中自動更新權值。感知器的提出吸引了大量科學家對人工神經網路研究的興趣,對神經網路的發展具有里程碑式的意義。

但隨著研究的深入,人們發現了感知器模型所存在的不足,它甚至無法解決最簡單的線性不可分問題(例如異或問題)。由於這一不足以及沒有及時推廣感知器到多層神經網路中,在20世紀70年代,人工神經網路進入了第一個寒冬期,人工神經網路的發展也受到了很大的阻礙甚至質疑。

  • 深度學習的發展階段
1982年,著名物理學家約翰·霍普菲爾德發明了Hopfield神經網路。Hopfield神經網路是一種結合儲存系統和二元系統的迴圈神經網路。Hopfield網路也可以模擬人類的記憶,根據啟用函式的選取不同,有連續型和離散型兩種型別,分別用於優化計算和聯想記憶。但由於容易陷入區域性最小值的缺陷,該演算法並未在當時引起很大的轟動。

直到1986年,深度學習之父傑弗裡·辛頓提出了一種適用於多層感知器的反向傳播演算法——BP演算法[3]。BP演算法在傳統神經網路正向傳播的基礎上,增加了誤差的反向傳播過程。反向傳播過程不斷地調整神經元之間的權值和閾值,直到輸出的誤差達到減小到允許的範圍之內,或達到預先設定的訓練次數為止。BP演算法解決了非線性分類問題,讓人工神經網路再次引起了人們廣泛的關注。

但是由於八十年代計算機的硬體水平有限,運算能力跟不上,以及當神經網路的層數增加時,BP演算法會出現“梯度消失”的問題等等。這使得BP演算法的發展受到了很大的限制。再加上90年代中期,以SVM為代表的其它淺層機器學習演算法被提出,並在分類、迴歸問題上均取得了很好的效果,其原理相較於神經網路模型具有更好的可解釋性,所以人工神經網路的發展再次進入了瓶頸期。

  • 深度學習的爆發階段
2006年,傑弗裡·辛頓以及他的學生魯斯蘭·薩拉赫丁諾夫正式提出了深度學習的概念。他們在世界頂級學術期刊《Science》發表的一篇文章中詳細的給出了“梯度消失”問題的解決方案——通過無監督的學習方法逐層訓練演算法[4],再使用有監督的反向傳播演算法進行調優。該深度學習方法的提出,立即在學術圈引起了巨大的反響,以斯坦福大學、多倫多大學為代表的眾多世界知名高校紛紛投入巨大的人力、財力進行深度學習領域的相關研究,而後又迅速蔓延到工業界中。

2012年,在著名的ImageNet影象識別大賽中,傑弗裡·辛頓領導的小組採用深度學習模型AlexNet一舉奪冠[5]。AlexNet採用ReLU啟用函式,極大程度上上解決了梯度消失問題,並採用GPU極大的提高了模型的運算速度。同年,由斯坦福大學著名的吳恩達教授和世界頂尖計算機專家Jeff Dean共同主導的深度神經網路——DNN技術在影象識別領域取得了驚人的成績,在ImageNet評測中成功的把錯誤率從26%降低到了15%。深度學習技術在世界大賽的脫穎而出,又進一步吸引了學術界和工業界對於深度學習領域的關注。

隨著深度學習技術的不斷進步以及計算機硬體算力的不斷提升,2014年,Facebook基於深度學習技術的DeepFace專案,在人臉識別方面的準確率已經能達到97%以上,跟人類識別的準確率幾乎沒有差別。這樣的結果也再一次證明了深度學習技術在影象識別方面的一騎絕塵。

2016年,谷歌公司基於深度強化學習開發的AlphaGo以4:1的比分戰勝了國際頂尖圍棋高手李世石,深度學習的熱度一時無兩。後來,AlphaGo又接連和眾多世界級圍棋高手過招,均取得了完勝。這也證明了在圍棋界,基於深度學習技術的機器人幾乎已經超越了人類。

2017年,基於深度強化學習技術的AlphaGo升級版AlphaGo Zero橫空出世。其採用“從零開始”、“無師自通”的學習模式,以100:0的比分輕而易舉打敗了之前的AlphaGo。除了圍棋,它還精通國際象棋等其它棋類遊戲,可以說是真正的棋類“天才”。此外在這一年,深度學習相關技術也在醫療、金融、藝術、無人駕駛等多個領域均取得了顯著的成果。所以,也有專家把2017年看作是深度學習甚至是人工智慧發展最為突飛猛進的一年。

深度學習發展到今天已經越來越趨於成熟,尤其是影象方面。無論是科研還是應用,大家也越來越理性,而不是像早些時候,把深度學習視為“萬能的”,盲目的去跟風。當然,這一領域也還有許多問題需要解決,還有很多有趣、有挑戰性的方向可以研究。

 

圖1 深度學習發展簡史

二.深度學習的應用

作為機器學習發展到一定階段的產物,近年來深度學習技術之所以能引起社會各界廣泛的關注,是因為不光在學術界,同時也在工業界取得了重大突破和廣泛的應用。其中應用最廣的幾個研究領域分別是自然語言處理、語音識別和影象處理。接下來,我們分別來看一下這三個領域的發展現狀:

  • 自然語言處理
自然語言處理(NLP)是語言學和人工智慧的交叉科學,旨在讓計算機能夠“讀懂”人類的語言。其包括的主要範疇有(我們這裡說的自然語言處理僅僅指文字相關的):分詞、詞性標註、命名實體識別、句法分析、關鍵詞抽取、文字分類、自動摘要以及資訊檢索等等。傳統的自然語言處理主要是利用語言學領域本身的知識結合一些統計學的方法來獲取語言知識。後來伴隨著機器學習淺層模型的發展(如:SVM、邏輯迴歸等等),自然語言處理領域的研究取得了一定的突破,但在語義消歧、語言的理解等方面還是顯得力不存心。近年來,隨著深度學習相關技術(DNN、CNN、RNN等)[6][7]取得了顯著的進展,其在自然語言處理方面的應用也展現出了明顯的優勢。

從演算法上來看,詞向量(word vector)作為深度學習演算法在自然語言領域的先驅,有著及其廣泛的應用場景,在機器翻譯、情感分析等方面均取得了不錯的效果。其基本思想是把人類語言中的詞儘可能完整地轉換成計算機可以理解的稠密向量,同時要保證向量的維度在可控的範圍之內,在Bahdanau等人利用LSTM[8]模型結合一些自定義的語料,解決了傳統模型的Out of dictionary word問題之後,更使得基於深度學習的自然語言處理較於傳統方法有明顯的優勢。目前,基於深度學習的自然語言處理在文字分類、機器翻譯、智慧問答、推薦系統以及聊天機器人等方向都有著極為廣泛的應用。

  • 語音識別與合成
語音相關的處理其實也屬於自然語言處理的範疇,目前主要是語音合成(Text to Speech,TTS)和語音識別(Automated Speech Recognition,ASR)。語音識別應該是大家最為熟知的,也是應用最為廣泛的。同自然語言處理類似,語音識別也是人工智慧和其它學科的交叉領域,其所涉及的領域有:模式識別、訊號處理、概率論、資訊理論,發聲原理等等。近年來隨著深度學習技術的興起,語音識別取得顯著的進步,基於深度學習的語音技術不僅從實驗室走向了市場,更得到了谷歌、微軟、百度以及科大訊飛等眾多科技公司的青睞。語音輸入法、家用聊天機器人、醫療語音救助機、智慧語音穿戴裝置等具體的應用場景也是層出不窮。

事實上,在深度學習演算法還未普及之前的很長一段時間,語音識別系統大多采用高斯混合模型(GMM)這一機器學習淺層模型完成資料的量化和建模。由於該模型可以精確地量化訓練集並對資料有較好的區分度,所以長期在語音識別領域占主導地位。直到2011年,微軟公司推出了基於深度學習的語音識別系統,模擬人類大腦分層對資料特徵進行提取,使得樣本特徵之間的聯絡更加密切,完美的克服了GMM[9]模型處理高維資料方面的不足。直到今天,基於深度神經網路的模型仍然廣泛應用在語音相關的各個領域中。

  • 影象領域
事實上,影象領域目前算是深度學習應用最為成熟的領域。也正是由於深度學習演算法在ImageNet影象識別大賽中遠超其它機器學習演算法、以巨大優勢奪魁才推動了深度學習發展的第三次浪潮。目前,通過卷積神經網路(CNN)構建的影象處理系統能夠有效的減小過擬合、對大畫素數影象內容能很好的識別,在融合GPU加速技術後,使得神經網路在實際中能夠更好的擬合訓練資料,更快更準確的識別大部分的圖片。總而言之,深度學習模型可謂是和影象處理技術的完美結合,不僅能夠提高影象識別的準確率,同時還可以在一定程度上提高執行效率,減少了一定的人力成本。

 

三.參考文獻

[1] A Logical Calculus of the Ideas Immanent in Nervous Activity .  Warren S. McCulloch. Walter Pitts.1943

[2] Organization of Behavior: A Neuropsychological Theory . Donald Hebb . 1949

[3] Learning Internal Representations by Error Propagation . Rumelhart.1986

[4] Reducing the dimensionality of data with neural networks . Hinton.2006

[5]Imagenet classification with deep convolutional neural networks. Hinton.2012

[6] ImageNet Classification with Deep Convolutional Networks. Yann LeCun .1998

[7] Supervised Sequence Labelling with Recurrent Neural Networks. Alex Graves .2008

[8] Learning to forget: continual prediction with LSTM. FA Gers , J Schmidhuber , F Cummins . 2014

[9] A finite sample correction for the variance of linear efficient two-step GMM estimators. F Windmeijer.2000