天天看點

深度學習的昨天,今天和明天

深度學習的昨天,今天和明天

機器學習是人工智能領域的一個重要學科.自從20世紀80年代以來機器學習在算法理論和應用等方面都獲得巨大成功.2006年以來機器學習領域中一個叫深度學習的課題開始受到學術界廣泛關注到今天已經成為網際網路大資料和人工智能的一個熱潮.深度學習通過建立類似于人腦的分層模型結構對輸入資料逐級提取從底層到高層的特征進而能很好地建立從底層信号到高層語義的映射關系.近年來谷歌微軟ibm百度等擁有大資料的高科技公司相繼投入大量資源進行深度學習技術研發,在語音圖像自然語言線上廣告等領域取得顯著進展.從對實際應用的貢獻來說深度學習可能是機器學習領域最近這十年來最成功的研究方向。

2012年6月,紐約時報披露了谷歌的google brain項目,吸引了公衆的廣泛關注。這個項目是由著名的斯坦福大學的機器學習教授ng和在大規模計算機系統方面的世界頂尖專家dean共同主導的用16000個cpu core的并行計算平台訓練一種稱為深度神經網絡 (deep neural networks,dnn)的機器學習模型,該模型在語音識别和圖像識别等領域獲得了巨大的成功。

2012年11月,微軟在中國天津的一次活動上公開示範了一個全自動的同聲傳譯系統,講演者用英文演講,背景的計算機一氣呵成自動完成語音識别英中機器翻譯和中文語音合成,效果非常流暢。據報道後面支撐的關鍵技術也是dnn,【或者深度學習(deep learning,dl)】

2013年的1月在中國最大的網際網路搜尋引擎公司百度的年會上,創始人兼ceo李彥宏高調宣布要成立百度研究院,其中第一個重點方向的就是深度學習,并為此而成立institute of deep learning(idl).這是百度成立10多年以來第一次成立研究院。2013年4月,麻省理工學院技術評論mit technology review雜志将深度學習列為2013年十大突破性技術“break through technology”之首。

為什麼深度學習受到學術屆和工業界如此廣泛的重視?深度學習技術研發面臨什麼樣的科學和工程問題?深度學習帶來的科技進步将怎樣改變人們的生活?本文将簡要回顧機器學習在過去20多年的發展介紹深度學習的昨天,今天和明天。

機器學習的兩次浪潮:從淺層學習到深度學習

在解釋深度學習之前我們需要了解什麼是機器學習。機器學習是人工智能的一個分支,而在很多時候幾乎成為人工智能的代名詞。簡單來說機器學習就是通過算法使得機器能從大量曆史資料中學習規律進而對新的樣本做智能識别或對未來做預測。從20世紀80年代末期以來機器學習的發展大緻經曆了兩次浪潮淺層學習shallow learning和深度學習deep learning.需要指出是機器學習曆史階段的劃分是一個仁者見仁智者見智的事情,從不同的次元來看會得到不同的結論。這裡我們是從機器學習模型的層次結構來看的。

第一次浪潮:淺層學習

20世紀20年代末期用于人工神經網絡的反向傳播算法,也叫back propagation算法或者bp算法,的發明給機器學習帶來了希望,掀起了基于統計模型的機器學習熱潮.這個熱潮一直持續到今天.人們發現利用bp算法可以讓一個人工神經網絡模型從大量訓練樣本中學習出統計規律進而對未知事件做預測。這種基于統計的機器學習方法比起過去基于人工規則的系統在很多方面顯示出優越性。

這個時候的人工神經網絡雖然也被稱作多層感覺機multi-layer perceptron。由于多層網絡訓練的困難,實際使用的多數是隻含有一層隐層節點的淺層模型。

20世紀90年代,各種各樣的淺層機器學習模型相繼被提出。比如支撐向量機support vector machine,boosting,最大熵方法,比如logistic regression,lr等.這些模型的結構基本上可以看成帶有一層隐層節點如svm,boosting,或沒有隐層節點如lr。這些模型在無論是理論分析還是應用都獲得了巨大的成功。相比較之下,由于理論分析的難度而且訓練方法需要很多經驗和技巧,這個時期多層人工神經網絡反而相對較為沉寂。

2000年以來網際網路的高速發展,對大資料的智能化分析和預測提出了巨大需求。淺層學習模型在網際網路應用上獲得了巨大的成功。最成功的應用包括搜尋廣告系統,比如谷歌的adwords,百度的鳳巢系統的廣告點選率ctr預估,網頁搜尋排序,比如雅虎和微軟的搜尋引擎,垃圾郵件過濾系統,基于内容的推薦系統等等。

第二次浪潮:深度學習

2006年加拿大多倫多大學教授機器學習領域的泰鬥hinton和他的學生salakhutdinov在頂尖學術刊物《科學》上發表了一篇文章,開啟了深度學習在學術界和工業界的浪潮。這篇文章有兩個主要的訊息:

1. 很多隐層的人工神經網絡具有優異的特征學習能力,學習得到的特征對資料有更本質的刻劃,進而有利于可視化或分類。

2. 深度神經網絡在訓練上的難度可以通過“逐層初始化layer-wise-pre-training”來有效克服。在這篇文章中逐層初始化是通過無監督學習實作的。

自2006年以來深度學習在學術界持續升溫。斯坦福大學紐約大學加拿大蒙特利爾大學等成為研究深度學習的重鎮。2010年美國國防部darpa計劃首次資助深度學習項目,參與方有斯坦福大學、紐約大學和nec美國研究院。支援深度學習的一個重要依據就是腦神經系統的确具有豐富的層次結構。一個最著名的例子就是huble-wiesel模型.由于揭示了視覺神經的機理而曾獲得諾貝爾醫學與生理學獎。

除了仿生學的角度,目前深度學習的理論研究還基本處于起步階段。但在應用領域已經顯現巨大能量。2011年以來微軟研究院和谷歌的語音識别研究人員先後采用dnn技術降低語音識别錯誤率20%-30%,是語音識别領域10多年來最大的突破性進展。2012年dnn技術在圖像識别領域取得驚人的效果在imagenet評測上将錯誤率從26%降低到15%.在這一年dnn還被應用于制藥公司的drugeactivity預測問題并獲得世界最好成績,這一重要成果被紐約時報報道。

正如文章開頭所描述的,今天谷歌微軟百度等知名的擁有大資料的高科技公司争相投入資源占領深度學習的技術制高點,正是因為他們都看到了,在大資料時代更加複雜且更加強大的深度模型,能夠深刻揭示海量資料裡所承載的負責而豐富的資訊,并對未來或未知事件做更精準的預測。

大資料與深度學習

在工業界一直有一個很流行的觀點,在大資料條件下簡單的機器學習模型會比複雜模型更加有效。比如說,在很多的大資料應用中最簡單的線性模型得到大量使用。而最近深度學習的驚人進展促使我們也許到了要重新思考這個觀點的時候。簡而言之,在大資料情況下也許隻有比較複雜的模型或者說表達能力強的模型才能夠充分發掘海量資料中蘊藏的豐富資訊。現在我們到了需要重新思考“大資料+簡單模型”的時候。運用更強大的深度模型也許我們能從大資料中發掘出更多的有價值的資訊和知識。

為了了解為什麼大資料需要深度模型,先舉一個例子。語音識别已經是一個大資料的機器學習問題。在其聲學模組化部分通常面臨的是十億到千億級别的訓練樣本。

在谷歌的一個語音識别實驗中發現,訓練後的dnn對訓練樣本和測試樣本的預測誤差基本相當.這是非常違反常識的。因為通常模型在訓練樣本上的預測誤差會顯著小于測試樣本.隻有一個解釋就是由于大資料裡含有豐富的資訊次元,使得即便是dnn這樣的高容量複雜模型也是處于欠拟合的狀态,更不必說傳統的gmm聲學模型了.是以在這個例子裡我們看出,大資料更加需要深度學習。

淺層模型有一個重要特點,就是假設靠人工經驗來抽取樣本的特征,而強調模型主要是負責分類或預測。在模型的運用不出差錯的前提下,比如假設網際網路公司聘請的是機器學習的專家,特征的好壞就成為整個系統性能的瓶頸。是以通常一個開發團隊中更多的人力是投入到發掘更好的特征上的。發現一個好的特征,要求開發人員對待解決的問題要有很深入的了解。而達到這個程度往往需要反複的摸索甚至是數年磨一劍。是以人工設計樣本特征不是一個可擴充的途徑。

深度學習的實質,是通過建構具有很多隐層的機器學習模型和海量的訓練資料來學習更有用的特征,進而最終提升分類或預測的準确性。是以,深度模型是手段,特征學習是目的。差別于傳統的淺層學習,深度學習的不同在于:

1 強調了模型結構的深度,通常有5層6層甚至10多層的隐層節點;

2 明确突出了特征學習的重要性。也就是說,通過逐層特征變換,将樣本在原空間的特征表示,變換到一個新特征空間。進而使分類或預測更加容易。

與人工規則構造特征的方法相比,利用大資料來學習特征,更能夠刻劃資料更豐富内在資訊。是以在未來的幾年裡我們将看到越來越多的,深度模型+大資料的應用,而不是淺層的線性模型。

作者:餘凱、賈磊、陳雨強、徐偉

餘凱,百度深度學習研究院(idl)常務副院長,第九批"千人計劃“國家特聘專家,知名機器學習專家。斯坦福大學計算機系adjunct faculty (2011), 南京大學兼職教授 (2013-),北京郵電大學兼職教授 (2013-),和中科院計算所客座研究員 (2013-)

原文釋出時間為:2014-06-07

本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号

繼續閱讀