整理:深度學習 vs 機器學習 vs 模式識別
【編者按】本文來自CMU的博士,MIT的博士後,vision.ai的聯合創始人Tomasz Malisiewicz的我的博客文章,閱讀本文,你能夠更好的理解計算機視覺是怎麼一回事,同時對機器學習是如何隨着時間緩慢發展的也有個直觀的認識。html
如下爲正文:linux
本文咱們來關注下三個很是相關的概念(深度學習、機器學習和模式識別),以及他們與2015年最熱門的科技主題(機器人和人工智能)的聯繫。git
圖1 人工智能並不是將人放入一臺計算機中(圖片來源於 WorkFusion 的博客)github
環繞四周,你會發現不缺少一些初創的高科技公司招聘機器學習專家的崗位。而其中只有一小部分須要深度學習專家。我敢打賭,大多數初創公司均可以從最基本的數據分析中獲益。那如何才能發現將來的數據科學家?你須要學習他們的思考方式。算法
三個與「學習」高度相關的流行詞彙
模式識別(Pattern recognition)、機器學習(machine learning)和深度學習(deep learning)表明三種不一樣的思想流派。模式識別是最古老的(做爲一個術語而言,能夠說是很過期的)。機器學習是最基礎的(當下初創公司和研究實驗室的熱點領域之一)。而深度學習是很是嶄新和有影響力的前沿領域,咱們甚至不會去思考後深度學習時代。咱們能夠看下圖所示的谷歌趨勢圖。能夠看到:編程
1)機器學習就像是一個真正的冠軍同樣持續昂首而上;
2)模式識別一開始主要是做爲機器學習的代名詞;
3)模式識別正在慢慢沒落和消亡;
4)深度學習是個嶄新的和快速攀升的領域。
2004年至今三個概念的谷歌搜索指數(圖來源於 谷歌趨勢 )網絡
1. 模式識別:智能程序的誕生架構
模式識別是70年代和80年代很是流行的一個術語。它強調的是如何讓一個計算機程序去作一些看起來很「智能」的事情,例如識別「3」這個數字。並且在融入了不少的智慧和直覺後,人們也的確構建了這樣的一個程序。例如,區分「3」和「B」或者「3」和「8」。早在之前,你們也不會去關心你是怎麼實現的,只要這個機器不是由人躲在盒子裏面假裝的就好(圖2)。不過,若是你的算法對圖像應用了一些像濾波器、邊緣檢測和形態學處理等等高大上的技術後,模式識別社區確定就會對它感興趣。光學字符識別就是從這個社區誕生的。所以,把模式識別稱爲70年代,80年代和90年代初的「智能」信號處理是合適的。決策樹、啓發式和二次判別分析等所有誕生於這個時代。並且,在這個時代,模式識別也成爲了計算機科學領域的小夥伴搞的東西,而不是電子工程。從這個時代誕生的模式識別領域最著名的書之一是由Duda & Hart執筆的「模式識別(Pattern Classification)」。對基礎的研究者來講,仍然是一本不錯的入門教材。不過對於裏面的一些詞彙就不要太糾結了,由於這本書已經有必定的年代了,詞彙會有點過期。app
圖2 一個字符「3」的圖像被劃分爲16個子塊。框架
自定義規則、自定義決策,以及自定義「智能」程序在這個任務上,曾經都風靡一時(更多信息,能夠查看這個 OCR 網頁)
小測試:計算機視覺領域最著名的會議叫CVPR,這個PR就是模式識別。你能猜出第一屆CVPR會議是哪年召開的嗎?
2. 機器學習:從樣本中學習的智能程序
在90年代初,人們開始意識到一種能夠更有效地構建模式識別算法的方法,那就是用數據(能夠經過廉價勞動力採集得到)去替換專家(具備不少圖像方面知識的人)。所以,咱們蒐集大量的人臉和非人臉圖像,再選擇一個算法,而後衝着咖啡、曬着太陽,等着計算機完成對這些圖像的學習。這就是機器學習的思想。「機器學習」強調的是,在給計算機程序(或者機器)輸入一些數據後,它必須作一些事情,那就是學習這些數據,而這個學習的步驟是明確的。相信我,就算計算機完成學習要耗上一天的時間,也會比你邀請你的研究夥伴來到你家而後專門手工得爲這個任務設計一些分類規則要好。
圖3 典型的機器學習流程(圖來源於 Natalia Konstantinova 博士的博客)。
在21世紀中期,機器學習成爲了計算機科學領域一個重要的研究課題,計算機科學家們開始將這些想法應用到更大範圍的問題上,再也不限於識別字符、識別貓和狗或者識別圖像中的某個目標等等這些問題。研究人員開始將機器學習應用到機器人(強化學習,操控,行動規劃,抓取)、基因數據的分析和金融市場的預測中。另外,機器學習與圖論的聯姻也成就了一個新的課題---圖模型。每個機器人專家都「無奈地」成爲了機器學習專家,同時,機器學習也迅速成爲了衆人渴望的必備技能之一。然而,「機器學習」這個概念對底層算法隻字未提。咱們已經看到凸優化、核方法、支持向量機和Boosting算法等都有各自輝煌的時期。再加上一些人工設計的特徵,那在機器學習領域,咱們就有了不少的方法,不少不一樣的思想流派,然而,對於一個新人來講,對特徵和算法的選擇依然一頭霧水,沒有清晰的指導原則。但,值得慶幸的是,這一切即將改變……
延伸閱讀:要了解更多關於計算機視覺特徵的知識,能夠看看原做者以前的博客文章:「 從特徵描述子到深度學習:計算機視覺的20年 」。
3. 深度學習:一統江湖的架構
快進到今天,咱們看到的是一個奪人眼球的技術---深度學習。而在深度學習的模型中,受寵愛最多的就是被用在大規模圖像識別任務中的卷積神經網絡(Convolutional Neural Nets,CNN),簡稱ConvNets。
圖4 ConvNet框架(圖來源於 Torch的教程 )
深度學習強調的是你使用的模型(例如深度卷積多層神經網絡),模型中的參數經過從數據中學習得到。然而,深度學習也帶來了一些其餘須要考慮的問題。由於你面對的是一個高維的模型(即龐大的網絡),因此你須要大量的數據(大數據)和強大的運算能力(圖形處理器,GPU)才能優化這個模型。卷積被普遍用於深度學習(尤爲是計算機視覺應用中),並且它的架構每每都是非淺層的。
若是你要學習Deep Learning,那就得先複習下一些線性代數的基本知識,固然了,也得有編程基礎。我強烈推薦Andrej Karpathy的博文:「 神經網絡的黑客指南 」。另外,做爲學習的開端,能夠選擇一個不用卷積操做的應用問題,而後本身實現基於CPU的反向傳播算法。
對於深度學習,還存在不少沒有解決的問題。既沒有完整的關於深度學習有效性的理論,也沒有任何一本能超越機器學習實戰經驗的指南或者書。另外,深度學習不是萬能的,它有足夠的理由能日益流行,但始終沒法接管整個世界。不過,只要你不斷增長你的機器學習技能,你的飯碗無憂。但也不要對深度框架過於崇拜,不要懼怕對這些框架進行裁剪和調整,以獲得和你的學習算法能協同工做的軟件框架。將來的Linux內核也許會在Caffe(一個很是流行的深度學習框架)上運行,(什麼意思呢這句話??)然而,偉大的產品老是須要偉大的願景、領域的專業知識、市場的開發,和最重要的:人類的創造力。
其餘相關術語
1)大數據(Big-data):大數據是個豐富的概念,例如包含大量數據的存儲,數據中隱含信息的挖掘等。對企業經營來講,大數據每每能夠給出一些決策的建議。對機器學習算法而言,它與大數據的結合在早幾年已經出現。研究人員甚至任何一個平常開發人員均可以接觸到雲計算、GPU、DevOps和PaaS等等這些服務。
2)人工智能(Artificial Intelligence):人工智能應該是一個最老的術語了,同時也是最含糊的。它在過去50年裏經歷了幾度興衰。當你遇到一個說本身是作人工智能的人,你能夠有兩種選擇:要麼擺個嘲笑的表情,要麼抽出一張紙,記錄下他所說的一切。
延伸閱讀:原做者2011的博客:「 計算機視覺當屬人工智能 」。
結論
關於機器學習的討論在此停留(不要單純的認爲它是深度學習、機器學習或者模式識別中的一個,這三者只是強調的東西有所不一樣),然而,研究會繼續,探索會繼續。咱們會繼續構建更智能的軟件,咱們的算法也將繼續學習,但咱們只會開始探索那些能真正一統江湖的框架。
若是你也對深度學習的實時視覺應用感興趣,特別是那些適合機器人和家居智能化的應用,歡迎來咱們的網站 vision.ai 交流。但願將來,我能說的再多一點……
做者簡介:Tomasz Malisiewicz,CMU的博士,MIT的博士後,vision.ai的聯合創始人。關注計算機視覺,在這個領域也作了大量的工做。另外,他的博客也富含信息量和價值,感興趣的能夠瀏覽他我的主頁和博客。
原文連接: Deep Learning vs Machine Learning vs Pattern Recognition(譯者/鄒曉藝,CSDN 博客專家,關注機器學習、計算機視覺、人機交互和人工智能等領域 責編/錢曙光)
由「2015 OpenStack技術大會」、「2015 Spark技術峯會」、「2015 Container技術峯會」 所組成的 OpenCloud 2015大會於4月17-18日在北京召開。 日程已經所有公開!懂行的人都在這裏!(優惠票價期,速來)
本文爲CSDN編譯整理,未經容許不得轉載,如需轉載請聯繫market#csdn.net(#換成@)
- 頂
- 102
- 踩
- 0
已有41條評論