3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

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

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦