大話“人工智能、數(shù)據(jù)科學、機器學習”--綜述
寫作此文需要6小時,包含4個帶圖實例,目的是從宏觀上剖析和理解這三個術語,適合不同階段人工智能(縮寫AI)、數(shù)據(jù)科學、機器學習(縮寫人數(shù)機)愛好者。完整閱讀可能需要20分鐘。
前言:學科交叉乃大勢所趨,新興學科應市場需求孕育而生。人數(shù)機,便產生在這樣的時代背景下。什么,你所在的學校至今還沒開設相關專業(yè)?不必驚慌,老牌資本主義國家德國同樣如此。但是,學好微積分、線代、優(yōu)化、統(tǒng)計、編程,你和人數(shù)機可能只是倆三堂專業(yè)課的距離。本文旨在從宏觀的視角剖析人數(shù)機,具體到某個學科或問題,請參見文中給出的鏈接。
機器學習、深度學習、增強學習,這些“學習”都是什么鬼?3 中的回答或許會讓你大跌眼鏡。
本文提綱:
1,人數(shù)機的概念 2,AI的應用領域 3,AI的解法-機器學習 4,機器學習底層的模型-運籌、統(tǒng)計 5,AI的算法 6,強AI vs 弱AI 7,AI學術界、工業(yè)界的全球排名
書歸正傳,我們一起逐點擊破人數(shù)機這個大泡泡,力求以最通俗易懂的語言還原他們高大上外表下弱小的真面目(數(shù)學模型+算法)。
本文部分內容節(jié)選自我在下面問題的回答:
機器學習、優(yōu)化理論、統(tǒng)計分析、數(shù)據(jù)挖掘、神經網絡、人工智能、模式識別之間的關系是什么? – 知乎
首先我把最近火起來的,關于人數(shù)機最熱門的幾個術語都列出來,因為不知道它們的話,你可能已經OUT了。
人工智能、數(shù)據(jù)科學、大數(shù)據(jù)、機器學習、神經網絡、深度學習、計算機視覺、自然語言處理、增強學習、(無)監(jiān)督學習、數(shù)據(jù)挖掘、文本挖掘、模式識別、虛擬現(xiàn)實、增強現(xiàn)實、GPU計算、并行計算、物聯(lián)網、工業(yè)4.0、智能供應鏈、智能xx、商業(yè)智能、xx智能、圖像處理、自動駕駛、統(tǒng)計推斷、(凸)優(yōu)化、K-means算法、Ford-Fulkerson算法等等。(歡迎評論區(qū)補充“火”的術語)
下文我嘗試把這些術語按照概念、應用、模型、方法、算法來進行分類。
1,概念–人工智能(Artificial Intelligence)、數(shù)據(jù)科學(Data Science)、大數(shù)據(jù)(Big Data)
這三個術語最大,放在第一個說–他們屬于概念。
簡單地說,計算機能像人一樣思考并自動處理任務,就可以稱為人工智能,即教計算機完成人想完成的復雜的或具有高度重復性的任務。(這里需要注意計算機能理解的只是數(shù)據(jù),包括向量和矩陣)
從這個概念出發(fā),那么計算機從發(fā)明至今,可以說就頂著“人工智能”的帽子了。比如我們學習任何一門計算語言的循環(huán)語句,就很好地服務于這個宗旨。你寫一個for i=1..100,就等于讓計算機給你重復做了100遍活。還嫌不夠多?把100改成1個億吧。讓(“教”)電腦給你干活,這就是人工智能。
由于人工智能“教”計算機處理的,通常都是很大的數(shù)據(jù)。例如圖像處理,對于計算機來說,一張1000*1000的圖片在它看來只是100萬個像素(灰度圖是100萬個數(shù)字,RGB圖是100萬*3的一個向量)。
因此數(shù)據(jù)科學、大數(shù)據(jù)也屬于人工智能概念的范疇,它們和人工智能一樣,僅僅是被炒起來的“術語”。而理解上面三段話,你就擁有了和小白吹牛的資本。
這些行業(yè)到底有多熱,看看薪資就能略知一二:
國內(全球)TOP互聯(lián)網公司、學術界(人工智能)超高薪的攬才計劃有哪些? – 知乎
再舉個比循環(huán)語句稍稍復雜點的例子:預測(Forecasting、Prediction)。
給你一堆點(x_i,y_i),人眼一看,根據(jù)數(shù)據(jù)以往的趨勢,下一個點x_n的y坐標–y_n應該出現(xiàn)在箭頭所指的地方。但是如果有1000堆類似數(shù)據(jù)等你預測呢?你需要1000個人來描這個點么?NO,你只需要教會計算機如何根據(jù)x_n預測出y_n的值。–很簡單,學過統(tǒng)計的應該都知道線性回歸(Linear Regression),用最小二乘法根據(jù)以往的數(shù)據(jù)(x_i,y_i)算出線性系數(shù)b_0和b_1,那么預測函數(shù)y=b_0+b_1*x,電腦就可以根據(jù)這個公式來預測后面所有的y值。當然有進階版的分段線性回歸(piecewise linear fitting),歡迎聽下回分解。
2,應用
模式識別(Pattern Recognition)、計算機視覺(Computer Vision)、自然語言處理(Natural Language Processing)、數(shù)據(jù)挖掘(Data Mining)、物聯(lián)網(Intenet of Things)、商業(yè)智能(Business Inteligence)、自動駕駛(Auto Driving)、云計算(Cloud Computing)、虛擬增強現(xiàn)實(Virtual Augmented Reality)等
這些都屬于人工智能和大數(shù)據(jù)的應用場景。
模式識別:把一堆雜亂無章的數(shù)據(jù)或像素(圖像)里深藏的“模式”或規(guī)則用計算機自動識別出來。
計算機視覺、圖像處理:“教”計算機像人一樣識別圖像或視頻中的模式。
自然語言處理:同樣的,計算機看待人說的話只是一段段音頻信號(signal),或者更底層些,只是一個x坐標為時間t的二維數(shù)據(jù)。如何把電信號翻譯成文字(text),需要人來“教”它。
數(shù)據(jù)挖掘:從一大堆數(shù)據(jù)里挖掘出你想要的有用的信息。怎么樣,是不是和模式識別有點異曲同工之妙?不過其主要數(shù)據(jù)對象是數(shù)據(jù)庫(Database),類似的還有文本挖掘(text mining)。
物聯(lián)網:把所有東西(例如家電)都聯(lián)網,并實時保持數(shù)據(jù)的連通,然后計算機處理這些數(shù)據(jù)。例如根據(jù)主人的生活習性自動開關暖氣。
商業(yè)智能:人工智能應用在商業(yè)大數(shù)據(jù)領域。例如銀行欺詐性交易的監(jiān)測。
自動駕駛:顧名思義,內置在汽車甚至設置在云端的計算機自動給你開車。利用的是計算機處理汽車上的攝像頭實時產生的圖片信息,以及雷達產生的信號。
云計算:把計算任務傳送到“云端”,得出結果后再傳送回來。云端可能是一個大的計算機集群(Cluster),難點在于如何協(xié)同CPU和GPU。
虛擬、增強現(xiàn)實(VR、AR):VR眼鏡應該都體驗過吧?未來的趨勢,3D電影演唱會等,足不出戶體驗現(xiàn)場感。Pokemon Go是AR最好的例子,使虛擬和現(xiàn)實混合在一起。倆者的核心技術都在計算機視覺里,包括校準、3D重建、識別、追蹤等等。
通過以上九個術語的翻譯,相信媽媽再也不用擔心我被“概念”的炒作蒙蔽雙眼了。
再舉個例子:模式識別(Pattern Recognition)里的圖像分割(Image Segmentation)。
給你一張圖片,你自然知道描出圖里所有物體的輪廓,把該圖分割成了幾塊,該圖的“模式”就被識別出來了。但是給你100,1000張圖呢?你還有耐心一張張用手描輪廓?這時候你需要教計算機如何畫這個輪廓,并且不僅僅限于幾張圖,這個模型或算法必須適用于絕大多數(shù)的圖片。這就是模式識別和圖像分割。
3,方法–機器學習(Machine Learning)
前面討論了概念和應用,那么用什么方法來實現(xiàn)2中的應用呢?機器學習便是最有力的方法之一。把機器學習單獨放在方法里,是為了體現(xiàn)其重要性。雖然它是一門建立在統(tǒng)計和優(yōu)化上的新興學科,但是在人工智能、數(shù)據(jù)科學等領域,它絕對是核心課程中的核心。
機器學習,顧名思義,教機器如何“學習”,或讓機器自己“學習”。因此從字面上看就天然的屬于人工智能范疇。“學習”這個看似高深的術語,在1線性回歸的例子里,僅僅指求解(學習)b0, b1這倆個系數(shù)。任何其他炒得火熱的“xx學習”,也只是求解一些參數(shù)-說得都很好聽,僅此而已。
對于統(tǒng)計和運籌學這倆門基礎學科來說,機器學習又是應用(見下面四類問題),因為它大量地用到了統(tǒng)計的模型如馬爾可夫隨機場(Markov Random Field–MRF),和其他學科的模型,如偏微分方程(變分法等),最后通常轉化成一個能量函數(shù)最小化的優(yōu)化問題。
機器學習的核心在于建模和算法,學習得到的參數(shù)只是一個結果(見5)。
機器學習里最重要的四類問題(按學習的結果分類):
預測(Prediction)–可以用如回歸(Regression)等模型。
聚類(Clustering)–如K-means方法。
分類(Classification)–如支持向量機法(Support Vector Machine)。
降維(Dimensional reduction)–如主成份分析法(Principal component analysis (PCA)–純矩陣運算)。
前三個從字面意思就好理解,那么為什么要降維呢?因為通常情況下,一個自變量x就是一個維度,機器學習中動不動就幾百萬維,運算復雜度非常高。但是幾百萬維度里,可能其中幾百維就包含了95%的信息。因此為了運算效率,舍棄5%的信息,我們需要從幾百萬維中找出這包含95%信息的維度。這就是降維問題。
機器學習按學習方法的分類:
監(jiān)督學習(Supervised Learning,如深度學習),
無監(jiān)督學習(Un-supervised Learning,如聚類),
半監(jiān)督學習(Semi-supervised Learning),
增強學習(Reinforced Learning)。
這里不從晦澀的定義上深入展開,舉倆個例子或許效果更好。
郵件分類的例子:
郵件管理器中的垃圾郵件和非垃圾郵件的分類,就是一個典型的機器學習的分類問題。這是一個有監(jiān)督的學習問題(Supervised Learning),什么叫有監(jiān)督呢?計算機是在你的監(jiān)督(標記)下進行學習的。簡單地說,新來一封郵件,你把他標記為垃圾郵件,計算機就學習該郵件里有什么內容才使得你標記為“垃圾”;相反,你標記為正常郵件,計算機也學習其中的內容和垃圾郵件有何不同你才把它標記為“正常”。可以把這倆個分類簡單的看成”0″和“1”的分類,即二分問題(Binary Classification)。并且,隨著你標記越來越多,計算機學習到的規(guī)律也越來越多,新出現(xiàn)一封郵件標記的正確率也會越來越高。
當然分類可不止用在判別垃圾郵件,其他應用例如銀行欺詐交易的判別(商業(yè)智能范疇),計算機視覺里給計算機一張圖片,分類為狗還是貓(著名的ImagNet,可是把圖片分成了2萬多類)。等等。
前面講了監(jiān)督學習,無監(jiān)督學習即在沒有人工標記的情況下,計算機進行預測、分類等工作。
再來一個例子–聚類(Clustering)–無監(jiān)督的學習
事先沒有對圖中的點進行標記類別,左圖在計算機看來,僅僅是12個點(x,y坐標),但是人眼可以判別它大致可以分為三類(這時,123,321,132代表的都是相同的聚類,順序沒有關系)。如何教計算機把數(shù)據(jù)歸類呢?這就是聚類問題。其中最經典的算法叫K-means。
半監(jiān)督介于倆者之間,增強學習牽扯到更深的運籌、隨機過程、博弈論基礎,這里暫時不展開。
機器學習作為新創(chuàng)的學科或方法,被廣泛地應用于人工智能和數(shù)據(jù)科學等問題的求解。按照行業(yè)的說法,神經網絡、深度學習、增強學習等模型都屬于機器學習的范疇。
本節(jié)最后出一個思考題,1中的線性回歸屬于監(jiān)督還是無監(jiān)督學習呢?
4,模型–運籌學(Operations Research(O.R.))、
凸優(yōu)化(Convex Optimization)、統(tǒng)計分析(Statistical Analysis)、神經網絡(Neural Network)、深度學習(Deep Learning)
把它們歸到一類,因為他們都是一種解決實際問題的模型。例如解決圖像分割問題,你可以用統(tǒng)計的模型(如馬爾可夫隨機場),也可以用神經網絡模型,當然也可以用深度學習,即卷積神經網絡模型(Convolutional Neural Networks)。
統(tǒng)計和運籌作為有深厚淵源的學科,這倆個名詞本身就能成為一個專業(yè),其下又有無數(shù)的分支和方向。他們本身研究的對象就是大數(shù)據(jù),因此和人工智能、數(shù)據(jù)科學有著天然的淵源。最近因為人數(shù)機的興起,統(tǒng)計、凸優(yōu)化模型也再度熱了起來(特別是概率圖模型)。相信他們和人工智能會起到相輔相成、互相促進的效果。
神經網絡(監(jiān)督學習門下,需要有標簽的數(shù)據(jù))和深度學習,相比前倆個龐大學科,充其量只能算一個基于圖論(Graph Theory)的模型。神經網絡也是由來已久,剛開始的全連接神經網絡(Fully Connected Neural Network)以及多層神經網絡,都是傳統(tǒng)神經網絡,由于參數(shù)多計算(學習這些參數(shù))的復雜度很高,因此實用性不強沒有得到足夠的重視。直到近些年卷積神經網絡的橫空出世,深度神經網絡(Deep Neural Network)已基本秒殺其他一切傳統(tǒng)方法,缺點是需要有標簽的龐大的數(shù)據(jù)集以及訓練時間過長(計算機資源)。
當然人工智能,特別是深度學習有過熱的趨勢,導致炒概念這樣不良風氣的產生,甚至有偷換概念之嫌。下面鏈接乃計算機視覺領軍人物之一加州大學洛杉磯分校UCLA統(tǒng)計學和計算機科學教授Song-Chun Zhu的訪談錄,給深度學習潑一點冷水。 初探計算機視覺的三個源頭、兼談人工智能|正本清源
由于O.R.出身,把運籌放在最后一點–樓主必須正本清源O.R.的在人工智能中扮演的重要角色。
在機器學習里我已提到,這里再強調一遍,幾乎所有的人工智能問題最后會歸結為求解一個優(yōu)化問題(Optimization Problem)。而研究如何求解優(yōu)化問題的學科,正是運籌學。
運籌學的作用,不僅限于求解其他模型(如統(tǒng)計)最后產生的優(yōu)化問題,也可以作為模型本身(優(yōu)化模型)來解決人工智能問題。
優(yōu)化模型包含目標函數(shù)和約束條件。優(yōu)化問題就是求解滿足約束條件的情況下使得目標函數(shù)最優(yōu)的解。敬請讀者們關注我的運籌專欄,聽我下回仔細分解。這里只提一點,大家所熟知的支持向量機,其實完全可以看作運籌中的二次規(guī)劃(Quadratic Programming)問題。
[運籌帷幄]大數(shù)據(jù)和人工智能時代下的運籌學 – 知乎專欄
最后嘮叨一句樓主的科研方向,就是用運籌學中的混合整數(shù)規(guī)劃(Mixed Integer Nonlinear Programming)模型建模,解決人工智能中的應用,如圖像分割。
由于版面有限,不再具體展開。關于運籌學你所要知道的幾乎一切,都在下面:
5,算法–K-means,F(xiàn)ord-Fulkerson
做過人工智能實際/科研項目的人知道,解決一個實際問題就像小時候解應用題,從假設未知數(shù)開始(已是模型的范疇),一般步驟便是數(shù)學建模-設計算法-編程實現(xiàn),并以此反復推敲。因此為了文章的完整性,加上算法這一節(jié)。
K-means在3的聚類問題中已提到,這里重點講講最大流以及算法和模型之間的關系。
Ford-Fulkerson算法屬于運籌學或圖論-網絡流問題(Network Flow Problem)中一個非常經典的問題-最大流問題(Max Flow Problem)的算法,它在圖像處理特別是圖像分割中,有著極為重要的應用。
如圖:把一張3*3像素的圖像看作3*3個點的圖(圖論術語里的圖),并且把上下左右相鄰的點用邊連接起來,組成edge(圖論里的邊)。這么一來,圖像分割問題就完美地轉換成了一個基于圖論(或者network flow)的優(yōu)化問題。如下圖,九個像素的圖被最大流算法用綠線分割成了倆個部分(segment),綠線即為最小分割(min cut),這里s點和t點是為了構建網絡流模型額外增加的倆個點(terminal node)。
下面討論模型和算法的關系,引自我在下面的回答:
想學數(shù)據(jù)分析(人工智能)需要學哪些課程? – 知乎
這里強調下數(shù)學建模的重要性,為何要數(shù)學建模呢?的確很多naive的算法完全不需要建立在數(shù)學模型之上,比如clustering里面經典的EM算法,是一個iterative method,基本一眼就能看出算法的思路然后編程實現(xiàn)。那么基于數(shù)學模型上的算法有何妙處呢?答案是一個好的數(shù)學模型,往往是被研究了幾十甚至幾百年的學科,比如圖論,很多性質都已經被研究得很透徹可以直接使用。回到上面的例子,我建立的這個網絡流的模型,是一個被研究了很久的模型,因此我可以直接使用其很多已知的好定理或算法來服務我的問題,比如這里基于里max flow的Ford-Fulkerson算法,如果能在其基礎上做改進,等于站在巨人的肩膀。因此這就是數(shù)學建模的重要之處。
往往同一個問題,從不同的角度去看可以有千百種數(shù)學建模方法,而不同的數(shù)學模型差別往往巨大。而數(shù)學建模又是解決一個實際問題的第一步,在這基礎上才考慮算法和數(shù)據(jù)結構設計。因此,數(shù)學模型和背后的數(shù)學基礎在我看來是重中之重,也是我推薦學習的課程的核心。當然了,計算機系出生的朋友,數(shù)學這個層面學習得不是很深,可以偏向于算法的設計和實現(xiàn),它們也是重要的。
6,強人工智能(Strong AI或 Artificial General Intelligence) vs 弱人工智能(Applied AI,narrow AI,weak AI)
上面嘮叨了那么多,說來說去都是建立在以二進制為機理的圖靈計算機上的“弱人工智能”,即計算機需要人去“教”它怎么做。而人工智能、神經網絡的最終目的,是模仿人腦的機理和組成(腦神經元、神經網絡),讓計算機能像人一樣具有思維、自主意識,自行學習和決策,稱為“強人工智能”。
這里不得不提到母校德國海德堡大學物理系和英國曼徹斯特大學牽頭的歐盟“人腦計劃”,其最終目的就是打破計算機的二進制機理,模仿人腦神經元(Neuron)放電(spark)的隨機性,打造出一臺能像人腦一樣“思考”的計算機。從此計算機不再二進制(0或1),而是可以取[0,1]間的隨機值。另外工業(yè)界如IBM也在打造此類計算機。
此機一旦面世,以往一切慣例將被打破,“強人工智能”的新紀元或許會隨之到來。
7,人工智能學術界、工業(yè)界全球排名
按照本文作者的尿性,最后不出意外會給個排名。今天也不例外,排名不分先后。
學術界:人工智能等新興學科通常設置在計算機系,此處可參考CS排名
美國憑借教授數(shù)量一如既往地排在前頭:CMU、斯坦福、MIT、UC伯克利、哈佛、普林斯頓
英國倫敦也是AI重地:牛津、劍橋、帝國理工再加愛丁堡
加拿大可謂深度學習孵化地,DL三杰都和
國有淵源:多大、蒙特利爾、UCB
歐洲因教職稀少排名自然弱,瑞士倆校拔得頭籌,ETH、EPFL,海德堡HCI五教授之陣容理應占得一席,哦,原來三個隸屬物理系。
亞洲新加坡、香港你來我往,日本東大山河日下,中國清華異軍突起,姚班功不可沒。
工業(yè)界:憑借著財大氣粗吸引人才,以及計算能力和數(shù)據(jù)量的優(yōu)勢,工業(yè)界在AI領域或許已經趕超學術界
美國自然是全球AI中心(硅谷、西雅圖、波士頓、紐約):Google剛請來了斯坦福李飛飛(sabbatical)以及多大的Geoffrey Hinton,F(xiàn)acebook有NYU的Yann LeCun, 微軟、IBM研究院早已名聲在外,Amazon云計算一家獨大,還有Uber、Airbnb、LinkedIn等新貴互聯(lián)網公司的助力。
英國倫敦:DeepMind被Google收購,Google、微軟等在倫敦都設有研究院。
歐洲:IBM、Google在蘇黎世和慕尼黑都有研究院,擴招中;amazon在盧森堡有研究院;德國傳統(tǒng)公司,如拜耳、博世、西門子等紛紛發(fā)力AI建立研究院,寶馬奔馳奧迪等車場也投注自動駕駛。最后說說海德堡,SAP總部所在地,還有NEC、ABB等歐洲研究院。
加拿大:加拿大政府在多倫多剛成立人工智能研究院-Vector Institute ,G Hinton任首席科學顧問,Google在蒙特利爾準備成立新研究院,可見Yoshua Bengio領導的深度學習研究院名聲在外。
中國:北有科技之都北京,得天獨厚的優(yōu)勢,微軟亞洲研究院培養(yǎng)起了中國一大批AI大佬;百度、京東以及地平線機器人、滴滴等一大批互聯(lián)網新貴開始嶄露頭角。南有深圳,華為、騰訊、大疆、順豐等也毫不示弱。
到此,相信讀者們可以更有自信地吹“人工智能、數(shù)據(jù)科學、機器學習”的牛逼了。