本文我們來關注下三個非常相關的概念(深度學習、機器學習和模式識別),以及他們與2023年最熱門的科技主題(機械人和人工智慧)的聯絡。
圖1 人工智慧並非將人放入一台計算機中(**於 workfusion 的部落格)
環繞四周,你會發現不缺乏一些初創的高科技公司招聘機器學習專家的崗位。而其中只有一小部分需要深度學習專家。我敢打賭,大多數初創公司都可以從最基本的資料分析中獲益。那如何才能發現未來的資料科學家?你需要學習他們的思考方式。
模式識別(pattern recognition)、機器學習(machine learning)和深度學習(deep learning)代表三種不同的思想流派。模式識別是最古老的(作為乙個術語而言,可以說是很過時的)。機器學習是最基礎的(當下初創公司和研究實驗室的熱點領域之一)。而深度學習是非常嶄新和有影響力的前沿領域,我們甚至不會去思考後深度學習時代。我們可以看下圖所示的谷歌趨勢圖。可以看到:
1)機器學習就像是乙個真正的冠軍一樣持續昂首而上;2023年至今三個概念的谷歌搜尋指數(圖**於 谷歌趨勢 )2)模式識別一開始主要是作為機器學習的代名詞;
3)模式識別正在慢慢沒落和消亡;
4)深度學習是個嶄新的和快速攀公升的領域。
1. 模式識別:智慧型程式的誕生
模式識別是70年代和80年代非常流行的乙個術語。它強調的是如何讓乙個電腦程式去做一些看起來很「智慧型」的事情,例如識別「3」這個數字。而且在融入了很多的智慧型和直覺後,人們也的確構建了這樣的乙個程式。例如,區分「3」和「b」或者「3」和「8」。早在以前,大家也不會去關心你是怎麼實現的,只要這個機器不是由人躲在盒子裡面偽裝的就好(圖2)。不過,如果你的演算法對影象應用了一些像濾波器、邊緣檢測和形態學處理等等高大上的技術後,模式識別社群肯定就會對它感興趣。光學字元識別就是從這個社群誕生的。因此,把模式識別稱為70年代,80年代和90年代初的「智慧型」訊號處理是合適的。決策樹、啟發式和二次判別分析等全部誕生於這個時代。而且,在這個時代,模式識別也成為了電腦科學領域的小夥伴搞的東西,而不是電子工程。從這個時代誕生的模式識別領域最著名的書之一是由duda & hart執筆的「模式識別(pattern classification)」。對基礎的研究者來說,仍然是一本不錯的入門教材。不過對於裡面的一些詞彙就不要太糾結了,因為這本書已經有一定的年代了,詞彙會有點過時。
圖2 乙個字元「3」的影象被劃分為16個子塊。
自定義規則、自定義決策,以及自定義「智慧型」程式在這個任務上,曾經都風靡一時(更多資訊,可以檢視這個 ocr 網頁)
小測試:計算機視覺領域最著名的會議叫cvpr,這個pr就是模式識別。你能猜出第一屆cvpr會議是哪年召開的嗎?
2. 機器學習:從樣本中學習的智慧型程式
在90年代初,人們開始意識到一種可以更有效地構建模式識別演算法的方法,那就是用資料(可以通過廉價勞動力採集獲得)去替換專家(具有很多影象方面知識的人)。因此,我們蒐集大量的人臉和非人臉影象,再選擇乙個演算法,然後衝著咖啡、曬著太陽,等著計算機完成對這些影象的學習。這就是機器學習的思想。「機器學習」強調的是,在給電腦程式(或者機器)輸入一些資料後,它必須做一些事情,那就是學習這些資料,而這個學習的步驟是明確的。相信我,就算計算機完成學習要耗上一天的時間,也會比你邀請你的研究夥伴來到你家然後專門手工得為這個任務設計一些分類規則要好。
圖3 典型的機器學習流程(圖**於 natalia konstantinova 博士的部落格)。
在21世紀中期,機器學習成為了電腦科學領域乙個重要的研究課題,計算機科學家們開始將這些想法應用到更大範圍的問題上,不再限於識別字元、識別貓和狗或者識別影象中的某個目標等等這些問題。研究人員開始將機器學習應用到機械人(強化學習,操控,行動規劃,抓取)、基因資料的分析和金融市場的**中。另外,機器學習與圖論的聯姻也成就了乙個新的課題---圖模型。每乙個機械人專家都「無奈地」成為了機器學習專家,同時,機器學習也迅速成為了眾人渴望的必備技能之一。然而,「機器學習」這個概念對底層演算法隻字未提。我們已經看到凸優化、核方法、支援向量機和boosting演算法等都有各自輝煌的時期。再加上一些人工設計的特徵,那在機器學習領域,我們就有了很多的方法,很多不同的思想流派,然而,對於乙個新人來說,對特徵和演算法的選擇依然一頭霧水,沒有清晰的指導原則。但,值得慶幸的是,這一切即將改變……
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 交流。希望未來,我能說的再多一點……
整理 深度學習 vs 機器學習 vs 模式識別
摘要 本文我們來關注下三個非常相關的概念 深度學習 機器學習和模式識別 以及他們與2015年最熱門的科技主題 機械人和人工智慧 的聯絡,讓你更好的理解計算機視覺,同時直觀認識機器學習的緩慢發展過程。以下為正文 本文我們來關注下三個非常相關的概念 深度學習 機器學習和模式識別 以及他們與2015年最熱...
整理 深度學習 vs 機器學習 vs 模式識別
摘要 本文我們來關注下三個非常相關的概念 深度學習 機器學習和模式識別 以及他們與2015年最熱門的科技主題 機械人和人工智慧 的聯絡,讓你更好的理解計算機視覺,同時直觀認識機器學習的緩慢發展過程。以下為正文 本文我們來關注下三個非常相關的概念 深度學習 機器學習和模式識別 以及他們與2015年最熱...
整理 深度學習 vs 機器學習 vs 模式識別
摘要 本文我們來關注下三個非常相關的概念 深度學習 機器學習和模式識別 以及他們與2015年最熱門的科技主題 機械人和人工智慧 的聯絡,讓你更好的理解計算機視覺,同時直觀認識機器學習的緩慢發展過程。以下為正文 本文我們來關注下三個非常相關的概念 深度學習 機器學習和模式識別 以及他們與2015年最熱...