大數據&人工智能學習總結(一)· 學習地圖

序:趁著未中“知識詛咒”之前,說人話

每次進入一個新領域,在大量泛讀的階段常常心情不好,因為你會發現有太多拗口的術語、奇怪的概念,把你繞得暈頭轉向。其實,大部分作者并不是有意的,他們只是不知道自己說的不是人話。這個現象叫“知識詛咒”,一種知識,就像是一條大河,對于已經渡過河的人來說,回頭看,會感覺并不難,因為他已經把它們消化并封裝成了一個個的“概念”了,他和同樣站在河對岸的人輕松的用“概念”對話,長此以往,就很難明白還沒有渡過河的人的感受。

這一次,我在趁著自己未中“詛咒”之前,把我的學習過程用“人話”總結總結,畫一張知識地圖,為后來者鋪一條路。

主要參考書籍:《智能時代》、《大數據時代》、《決戰大數據》、《大數據之路》、《Hadoop海量數據處理》、《企業經營數據分析》、《數據驅動》、《AI基礎網課》、《機器學習》(PS:全是暢銷書,吃了快餐真是sorry了…)

書單鏈接:數學人工智能大數據

認知1:什么是大數據?數據、信息和知識

你可能覺得數據就是一堆數字,或是必須要由數字構成,其實不是,數據的范疇要比這個大得多。數據可以理解成“對客觀事實觀察所記錄下來的證據”,人的日常行為、事物的狀態變化都會留下某種證據,這就是“數據”,它的形式可能是文字、符號、聲音、圖像等等。有了數據之后,再經過系統性地整理,就變成了“信息”,信息再經過更簡潔抽象的加工,就變成了“知識”。在這里,數據是具有物理性質的,而信息和知識是邏輯性、概念性的。

舉個例子,比如通過測量星球之間的相對位置和時間,就得到了數據,通過數據得到星球的運動軌跡,就是信息,通過信息總結出開普勒三定律,就是知識。人類就是不斷通過使用知識改變世界的,在這里面,數據就是一切知識的基礎。

那現在為什么要在數據前加一個“大”字呢?這源于現在我們收集到的數據有三個特點:

1. 體量大:拿谷歌拍攝街景的汽車來說,一輛汽車每天生產的數據就是1TB。

2. 多維度:一個實體可以在N個維度上被觀察,比如一個人,性格、愛好、工作、家庭等等每個維度上都有可收集的數據。

3. 完備性:數據越全面就越有用。比如汽車導航,有地圖、交規、擁堵信息等一系列數據,數據越完備對你的出行就越有價值。

收集到這么多數據有什么用呢?總的來說有三種用途:

1. 追溯:分析歷史,找到問題發生的原則,可以用來追溯責任、追溯成就、追溯過程。

2. 監控:在記錄數據的基礎上進行分析,形成一定的過程指標和結果指標,用來管理事物發展過程。

3. 洞察:通過數據來理解事物,為什么會發生?有什么規律?從而挖掘商機或對未來進行預測。

認知2:大數據的思維方式,相關性和因果性

我們經常會看到在視頻網站上有零食的廣告,在女裝的網站上有男裝的廣告,在咖啡評論網站上有信用卡的廣告,為什么會有這種搭配呢?這就是大數據分析后所找到的“相關性”,相關性是指,兩件事同時發生,但未必有因果關系。

舉個例子,有一項研究表明:喝咖啡的人也長壽。這是因果性,還是相關性呢?喝咖啡的人,和長壽的人高度重疊,但也許他們長壽的原因,是喜歡喝咖啡的人相對有錢、有時間,也注重健康。堅持運動,也許才是他們長壽的真正原因。這就是相關性。

因果性必須證明,相關性只需發現。

關于這一點,全球最著名的案例,可能就是啤酒和尿片的故事了。傳說沃爾瑪研究數據時,發現啤酒和尿片的銷量高度相關。啤酒賣得好,尿片也賣得好,反之亦然。沃爾瑪發現這個“相關性”后,就把啤酒和尿片放在了一起,果然銷量雙雙增長。后來,人們試圖證明他們之間有”因果性“。比如有人說,這是因為老公在回家路上買尿片,順便拿了兩瓶啤酒。你覺得這個“因果性”成立嗎?成不成立都不重要了,因為只要有“相關性”,客單價就已經通過連帶銷售,被提升了。

認知3:人工智能和大數據的關系

一說起人工智能,最直觀的想法就是機器能模仿人腦思考。歐洲哲學的基礎叫“邏輯學”,它通過人的語言來研究人的思維方式,最終總結出了一套人的思維規律,被稱為“形式邏輯”(簡稱邏輯)。所以,人工智能問題就可以翻譯成:如何讓機器運用“形式邏輯”來計算?

1956年召開的達特茅斯會議宣告了人工智能的誕生。在襁褓期,各位奠基者們,包括約翰·麥卡錫、赫伯特·西蒙、馬文·明斯基等未來的圖靈獎得主,他們的愿景就是讓“具備抽象思考能力的程序解釋合成的物質如何能夠擁有人類的心智”,說白了就是,機器應該像人一樣運用“形式邏輯”,能夠學習、理解、判斷、推理。

這類研究方法通常被叫做“鳥飛派”,就是開始設計飛機的人都覺得如果人類想要飛,就得像鳥一樣扇動翅膀,結果大家都知道,飛機起飛的原理是空氣動力學而不是仿生學。人工智能的研究也陷入到了這個困境中,其中最核心的難題就是讓機器運用“形式邏輯”這個思路可能壓根就是走不通的,1900年,哥德爾提出了著名的“不完備性定理”從數學角度也給出了否定的答案,這對人工智能可謂是致命的一擊。其實,即使不展開定理,用我們的常識來推想也能大致明白,機器像人類一樣對知識進行有邏輯的組織和表達存在著天然的困難,根據“張三撿起足球”和“張三在運動場上”這兩個命題推斷出“足球在運動場上”對機器來說就已經不可想象,更不用說其他復雜、抽象的概念。

雖然在理論研究上沒進展,但是自從有了大數據和規模運算能力之后,就對人工智能有了更具體的應用上的訴求:如何用機器對數據進行識別、提取和分析?對應到的技術就是人工智能中的一個分支叫“機器學習”,即從數據中習得學習算法,進而解決實際的應用問題。

認知4:機器學習是怎么工作的

美國華盛頓大學的佩德羅·多明戈斯(Pedro Domingos)對機器學習給出了這樣一個定義,機器學習是由三個部分組成,分別是表示、評價、優化。下面圍繞這三點解釋一下:

1.表示:建立問題與數據的抽象模型

首先是“問題抽象”,即對要解決的真實世界的問題進行抽象化處理,轉換成一道邏輯題或者數學題。比如,判斷一個短信是不是垃圾短信,結果無外乎兩種——“是”或“不是”,那么在算法上看就是一個二分類問題,輸出就可以定義成0或1。

接下來就是“數據抽象”,即把對物理世界上的事物用數據來刻畫。還是垃圾短信的例子,判斷一個客觀存在的“短信”是否是垃圾短信,需要哪些特征呢?可能包含了有發件人、某些特殊關鍵字、短信長度、用戶主動反饋的信息等等,把這些數據記錄下來就能完成判斷。

這個階段,想要輸出模型,很重要的一點就是對問題、現實情況的理解,然后才是算法的選擇,而機器,它只能在你完成這些步驟之后才有機會參與進來,做一些具體任務的執行。

2.評價:設定目標函數評價模型性能

設計好模型之后,我們如何評價這個模型的好壞呢?這個時候就需要設定一個目標函數,簡而言之,就是用什么指標作為結果,可以清晰的評估出來計算的準確度。回到垃圾短信的例子,我們就可以定義“錯誤率”這個指標來評價,錯誤率越低,模型越準確。

通常來說,在分類問題中,“錯誤率”是個常用的指標,或者說是常用的目標函數。在回歸問題中,常用的則是“最小均方誤差”。

3.優化:求解目標函數在模型下的最優解

有了目標函數以后,我們要求解這個目標函數在模型之下的一個最優解,這個模型能夠獲取到的最小錯誤率,或者最小均方誤差是多少呢?結合實際問題的需求,我們要定義一個特定值作為目標,比如每次識別要在1秒內完成,錯誤率<1%,這樣我們再逐步的調整算法來達到目標。

4.小結

總而言之,如果按照最早的人工智能的設定,機器執行的是純粹的邏輯推理,可以用來模擬“思考”,證明各類問題,是具有一般性、普遍性的。而現在,用機器學習實現的人工智能,則是在給定一些數據的情況之下來做出一定的判斷或推理,是問題驅動的,每個過程都是具有一定的特殊性。在這里面,對問題的抽象、對事實的觀察、對目標的設定、對算法的選擇等等一系列比較困難的事情,還是需要由人來完成。

學習地圖

下面終于到重點了,我根據近期學到的東西,列了一張簡單的學習地圖,做了一個分類,同時把一些聽上去怪怪的概念也塞了進去。這個領域很有趣,從科學的角度看,它似乎并沒有很“硬”很“新”的知識,從應用的角度看,它又似乎比其他學科更難、涉獵更廣一些,不過總體看,它還是一個偏應用類的學科。

總體有四章,希望讀后能獲得一個全局的、廣度上的認識,同時我也把對應的參考書擺了進去,方便深入理解。

  • 底層:基礎理論
  • 中層:大數據技術
  • 中層:人工智能技術
  • 頂層:一次問題的解決過程

一.底層:基礎理論

1.線性代數(linear algebra)

今天的人工智能技術歸根到底都建立在數學模型之上,而這些數學模型又都離不開線性代數的理論框架。它的核心思想是,萬事萬物都可以被抽象成某些特征的組合,并在由預置規則定義的框架之下以靜態和動態的方式加以觀察。簡而言之,它就是一種用虛擬數字世界表示真實物理世界的工具。

相關概念:空間;維度;特征、特征值、特征向量;集合(set);標量(scalar);向量(Vertor);矩陣(matrix);張量(tensor)

參考書籍:《線性代數及其應用》

2.概率論(probability theory)

概率論代表了一種看待世界的方式,它的核心是對隨機事件發生的可能性進行規范的數學描述。這里面又分為兩種觀察角度,第一種叫“頻率學派”,他們假設某個事件出現的概率是客觀存在且不會改變的,只是作為觀察者的我們無從知曉,因此根據事件發生的頻率來計算概率;另一種叫“貝葉斯學派”,他們則假設某個事件出現的概率本身是一個變量,會隨著觀察而發生變化,因此應該隨著觀察者的每次觀察的結果來修正概率值,以確保觀察者對概率的主觀認識更加接近客觀實際。

頻率學派使用的概率估計法叫“最大似然估計法”;而貝葉斯學派則使用“最大后驗概率法”。

從理論的角度來說,頻率學派和貝葉斯學派各有千秋,都發揮著不可替代的作用。但具體到人工智能領域,基于貝葉斯定理的各種方法與人類的認知機制吻合度更高,在機器學習等領域中也扮演著更加重要的角色。

相關概念:大數定律;隨機變量(random variable);離散型隨機變量(discrete random variable);連續型隨機變量(continuous random variable);離散分布(兩點分布、二項分布、泊松分布);連續分布(均勻分布、指數分布、正態分布);數學期望(expected value);方差(variance);協方差(covariance)

參考書籍:《概率論基礎教程》、《概率論沉思錄》

3.數理統計(mathematical statistics)

在現實中,我們很難獲得一個事物的全部數據,大部分情況是某一部分數據或某一個時間段的數據,如何用局部的數據來分析整體的規律呢?這就要用到數理統計了。數理統計的能力是通過觀察或實驗得到的數據(樣本),對研究對象的客觀規律做出合理的估計和判斷。

用買彩票打個比方,概率論解決的是根據已知的搖獎規律判斷一注號碼中獎的可能性,數理統計解決的則是根據之前多次中獎或不中獎的號碼記錄以一定的精確性推測搖獎的規律,雖然這種嘗試往往無功而返。

相關概念:中心極限定理;樣本(sample);總體(population);參數估計(estimation theory);假設檢驗(hypothesis test);置信區間(confidence interval)

參考書籍:《統計學習方法》、《數理統計學教程》、《統計推斷》

4.最優化理論(optimization)

最優化理論研究的問題是判定給定目標函數的最大值(最小值)是否存在,并找到令目標函數取到最大值(最小值)的數值。如果把給定的目標函數看成連綿的山脈,最優化的過程就是判斷頂峰的位置并找到到達頂峰路徑的過程。

理想情況下,最優化算法的目標是找到全局最小值。但找到全局最優解意味著在全局范圍內執行搜索。還是以山峰做例子,全局最小值對應著山脈中最高的頂峰,找到這個頂峰最好的辦法是站在更高的位置上,將所有的山峰盡收眼底,再在其中找到最高的一座。

可遺憾的是,目前實用的最優化算法都不具備這樣的上帝視角。它們都是站在山腳下,一步一個腳印地尋找著附近的高峰,比如最常用的“梯度下降法”實際就是在山腳下找到一個看上去最陡的坡爬上去,但受視野的限制,找到的峰值很可能只是方圓十里之內的頂峰而已。

此外下,相對于傳統的基于數學理論的最優化方法,還有一類收到仿生學影響而誕生的方法,叫“啟發式算法”。啟發式算法顯得返璞歸真,它核心思想就是大自然中 " 優勝劣汰 " 的生存法則,并在算法的實現中添加了選擇和突變等經驗因素。

事實上,搜索越多并不意味著智能越高,智能高的表現恰恰是能夠善用啟發式策略,不用經過大量搜索也能解決問題。啟發式算法的實例包括模擬生物進化規律的遺傳算法、模擬統計物理中固體結晶過程的模擬退火算法、模擬低等動物產生集群智能的蟻群算法等等。今天炙手可熱的神經網絡實際上也是一類啟發式算法,它模擬的則是大腦中神經元競爭和協作的機制。

相關概念:目標函數(objective function);全局最小值(global minimum);局部極小值(local minimum);無約束優化(unconstrained optimization);約束優化(constrained optimization);線性規劃(linear programming);梯度下降法(gradient descent);牛頓法(Newton's method);置信域方法(trust region);啟發式算法(heuristics);遺傳算法(genetic algorithm);退火算法(simulated annealing);蟻群算法(ant colony optimization)

參考書籍:《凸優化》

5.信息論

不知你發現沒有,生活中一直隱含了這樣一個規律:有效信息的數量會影響事物的不確定性程度。比如考試前,你準備的越充分,對知識理解的越深刻、越多,得高分的概率就越大。因此反過來,我們就可以用不確定性、用概率來度量信息。信息論就是用這樣的思路為“信息”這一定性的概念提供了一種定量的分析方法。

在這里面,“熵”很重要,它本是在熱力學中的概念,描述的是一個系統內在的混亂、無序的程度。后來被克勞迪·香農引用到信息論中,提出了“信息熵”,它可以用來描述一個系統的不確定性,在世界的不確定性和信息的可測量性之間搭建起一座橋梁。

信息論建立在概率的基礎上,在機器學習中,常被用來解決分類特征的選擇和判斷不同概率分布之間的差異。

相關概念:熵;信息熵;條件熵;信息增益;Kullback-Leibler散度;最大熵原理

參考書籍:《信息論基礎》
我的科普文章:《如何用信息看世界》人類解決問題的基本原理

二.中層:大數據技術(BigData)

數據庫又是一套自成一家的知識體系,因為我自己在這里已經有了一些積累,所以反而擔心寫的不好,我盡量用大白話說清楚。

1.數據系統

為了進行大數據的獲取、存儲、操作和分析而構建的系統,總體來說有兩類:

  • OLTP(On-Line Transaction Processing):也被成為“實時系統”,常用于作為和用戶直接打交道的軟件的底層數據庫,接收到數據后可以快速、實時的處理。

  • OLAP(Online Analytical Processing):為了收集數據做分析而建立的系統,通常都是在面向用戶的軟件之外單獨建設,定時從人家的數據系統中讀取數據,進行匯總和分析。

2.數據建模

(1)建模方法論:Inmon和Kimball是兩種主流的數據倉庫方法論,分別由Bill Inmon和Ralph Kimbal提出,在實際數據倉庫建設中,業界往往會相互借鑒使用兩種開發模式。

  • Immon data model:先建立一個大倉庫,匯總所有的數據,然后在建立為各個部門服務的小倉庫,用來做數據分析。其難度在于這個大倉庫要符合數據三范式(3NF),簡單說就是你必須對通盤的理解業務,而且確保其不會太大的變化,否則這個大倉庫就會不停的被調整。對應的建模方法叫“實體關系模型”(ER model)

  • Kimball data model:在各個部門已有的數據倉庫基礎上抽取解決當前問題所需的數據,建立數據庫。它特點是循序漸進,見招拆招,對應的建模方法叫“維度模型”

總得來說,如果業務確定,可以用ER模型系統的、全面的刻畫,比如Teradata公司基于對金融的理解和抽象發布了FSLDM模型。相反,如果業務快速變化,ER模型的應變成本就會很高,此時,就要選擇維度模型,聚焦要分析的某一個事件的動作或者事物的狀態,進行刻畫。

(2)建模過程:不論什么方法,數據建模的過程都具有一定的通用性,就是把真實世界的具有N個維度的立體事物或動作,翻譯成在二維的數據表,建模有四個步驟:

  • 業務建模:根據對業務的理解,分解、轉化問題。

  • 領域建模:也叫概念模型,對業務中涉及的概念和關系進行抽象。

  • 邏輯建模:用對應的建模方法論把領域模型翻譯成“實體和關系”或“動作和維度”。

  • 物理建模:把邏輯模型轉化為數據庫能操作的物理數據表。

3.數據存儲和計算

這章側重實現,以Hadoop來講可能更容易理解。Hadoop是一個由Apache基金會所開發的分布式系統基礎架構,它為大數據而生,非常適合海量數據的處理。Hadoop的構造本身就蘊含著人們處理復雜問題的普遍思想,下面拆解出來看看。

  • HDFS:分布式文件系統,處于最底層,負責存儲所有數據。它的理論源于google的一篇論文《The Google File System》,理念是以流式數據訪問模式存儲超大文件。

  • HBase:基于HDFS的列式分布式存儲數據庫,擅長實時的讀寫超大規模數據集。

  • MapReduce:分布式計算模型,也是根據Google的論文實現,它的核心思想是分而治之,把復雜任務拆解為N個小任務,分配給海量的機器去并行計算,最后再匯總計算結果。

整個的數據處理過程是這樣的:

  1. 數據的抽取:把業務軟件中的數據庫的數據定期導入到HDFS中,可以每次全量導入也可以增量導入。

  2. 數據轉換:業務數據現在已經在HDFS中了,在這一步要做的就是按照計算的要求把數據組織好,這個過程也叫“數據清洗”。

整個過程簡稱為數據的ETL(Extract-Transfoloa-Load),即將業務系統的數據經過抽取、轉換之后加載到數據倉庫的過程。接下來,就可以做數據分析了。

4.數據分析

在這個環節,可以根據實際要解決的問題類型,選擇對應的分析方法,可以是人工分析、用簡單程序實現也可以選擇人工智能算法。拋開技術實現,從方法論上總結一下,人類的所有的分析方法好像就四大類:

  • 對比:最基本的方法之一,就是比大小。可以橫向比、縱向比、多維度比。

  • 分類:也是人類的基本能力,理解事物的本質,把一個大類里的事物拆分,找到把相似的元素打一個標簽,放到一起。比如對客戶的分類,可以分大客戶、中客戶、小客戶,和對比一樣,它的難度在于事物的多面性,到底應該按什么維度分類呢?構成要素、屬性還是行為。

  • 聚類:分類的反向,找到看似不相關的事物的相似性,放到一起。比如找到上千個有個性的客戶的共同需求,聚在一起,批量的滿足他們。分類和聚類其實本質是一樣的,只不過出發點不同,分類是從整體出發進行細分,聚類則是從每個事物的特點出發進行聚合,但是其結果都是一個個的類別。

  • 找邏輯關系:找到事物之間的因果關系或相關關系,這里常用的數學方法就是線性回歸和邏輯回歸。此外,分解事物的結構,找到結構之間的關系也可以放到這里。

這里不得不提一下“預測”,從數據分析的角度理解,預測是期望在歷史數據中找到規律去判斷未來的形式,當然,這很難,甚至可能就沒規律。比如很多人喜歡研究歷史,說要“以史為鑒”,實際情況是,歷史的記載很可能只是把某些單點的、偶然的事件連起來形成的故事,“存在著某種規律”也許只是人美好的愿望。所以預測到底算不算一個方法,我不太能拿的準。而從機器學習的角度看,“預測”又有其他的含義,比如根據100個人臉數據學習經驗后,判斷101個人,不過我自己感覺叫“識別”更準確一些。

最后,從數學、統計學角度還有很多方法,偏技術實現層面,此處就不一一列舉了。

參考書籍:《大數據之路》、《Hadoop海量數據處理》《企業經營數據分析》、《深入淺出數據分析》

三.中層:人工智能技術(Artificial Intelligence)

1.機器學習(machine learning)

機器學習其實就是簡化版的人類學習,它的過程是,先讓計算機基于已有數據構建概率統計模型,再運用模型對新數據進行預測與分析。

它所定義的“預測”,更像是“識別”,比如一個簡單的場景,從認識的1萬個人中學習亞洲人和歐美人的特征,然后判斷新來的人是亞洲人還是歐美人。

根據輸入輸出數據類型,預測問題可分為三類:

  • 分類問題,輸出變量為有限個離散變量,當個數為 2 時即為最簡單的二分類問題。將連續取值的輸入映射為離散取值的輸出,常用算法是“樸素貝葉斯方法”“邏輯回歸”;還有另外一種思路叫“決策樹算法”,它采用樹形結構,使用層層推理來實現最終的分類;此外,**“支持向量機”也是一種二分類算法,通過在高維空間中構造超平面實現對樣本的分類。

  • 回歸問題:輸入變量和輸出變量均為連續變量;常用的算法有“線性回歸”,按分析的屬性數量,可分為單變量和多變量,按懲罰項不同則可以分為嶺回歸和LASSO 回歸)。

  • 標注問題:輸入變量和輸出變量均為變量序列。

根據輸入數據(稱為訓練數據)是否已經被明確的分類(稱為打標簽),又對應三種學習過程:

  • 監督學習:基于已知類別的訓練數據進行學習。
  • 無監督學習:基于未知類別的訓練數據進行學習。
  • 半監督學習:同時使用已知類別和未知類別的訓練數據進行學習。

受學習方式的影響,目前效果較好的學習算法執行的都是監督學習的任務。包括號稱自學成才、完全脫離了對棋譜依賴的 AlphaGo Zero。

不過有一種場景,只能使用無監督學習,就是對用戶進行分組與歸類時需要用到的聚類分析,它的能力是學習沒有分類標記的訓練樣本,以揭示數據的內在性質和規律。分類和聚類的區別也正在于此,分類是先確定類別再劃分數據;聚類則是先劃分數據再確定類別根據形成聚類方式的不同。聚類算法可以分為層次聚類、原型聚類、分布聚類、密度聚類等幾類。

最后,再總結一下機器學習中提升預測性能的思路,叫做“集成學習”,使用多個個體學習器來獲得比每個單獨學習器更好的預測性能。其中一個典型的并行化學習方法叫“隨機森林方法”,正所謂“獨木不成林”,隨機森林的能力就是對多個決策樹模型進行集成。

此外這里面還有很多艱深、晦澀的概念,此處不一一列舉,細節和公式可在“西瓜書”中找到。

2.深度學習(deep learning)

(1)人工神經網絡(Artificial Neural Networks)

了解深度學習之前必須掌握的概念就是人工神經網絡。

當下,人工智能主流的研究方法叫連接主義,這個學派并不認為人工智能源于邏輯,也不認為智能的關鍵在于思維方式。這一學派把智能建立在神經生理學和認知科學的基礎上,強調智能活動是將大量簡單的單元通過復雜方式相互連接后并行運行的結果。基于以上的思路,通過人工構建神經網絡的方式來模擬人類智能,這就是“人工神經網絡”

例如,我們可以把一幅圖像切分成圖像塊,輸入到神經網絡的第一層。在第一層的每一個神經元都把數據傳遞到第二層。第二層的神經元也是完成類似的工作,把數據傳遞到第三層,以此類推,直到最后一層,然后生成結果。

神經網絡的特點是它的結果是調制、訓練出來的,時不時還是很容易出錯的。它最需要的,就是訓練,需要成百上千甚至幾百萬張圖像來訓練,直到神經元的輸入的權值都被調制得十分精確。

(2)深度學習

深度學習的概念源于人工神經網絡的研究,它受啟于視覺神經系統的感受方式,利用多個隱藏層模擬視覺過程。第一個隱藏層學習到“邊緣”的特征,第二個隱藏層學習到的是由“邊緣”組成的“形狀”的特征,第三個隱藏層學習到的是由“形狀”組成的“圖案”的特征,最后的隱藏層學習到的是由“圖案”組成的“目標”的特征。當然,這樣的識別思想不僅適用于視覺信息的處理,對其他類型的信息同樣適用。

雖然關于認知的理論早已成熟,但真正推動深度學習走到聚光燈下的還是工程上的兩大進步,也就是數據的井噴和計算力的飆升。在目前的算法水平上,要提取出復雜的深層特征,必須要以大量訓練樣本為基礎。簡單的數據集只會讓深度學習“消化不良”,因而大數據和深度學習的搭配稱得上天作之合。

另一方面,多個隱藏層的使用引入了大量隱藏神經元,這使得深度神經網絡的參數將以指數形式增加,給網絡的訓練帶來沉重的計算負荷。而基于向量和矩陣計算的圖形處理單元(graphical processing unit, GPU)完美解決了這一問題,其龐大的處理吞吐量能夠使深度神經網絡的訓練顯著提速,因而也成了深度學習的標配硬件。如果說深度學習是一臺探礦機,大數據就是那座有待挖掘的金礦,計算能力的進展則為這臺探礦機提供了源源不斷的動力。

盡管取得了很多成果,但關于深度學習技術的爭論正顯出愈演愈烈的趨勢,研究者批判深度學習的一個焦點在于其缺乏堅實的理論基礎。在機器學習和淺層神經網絡中,絕大部分最優解的最優性都是可以證明的。但在深度學習中,很多結果都是經驗性而非理論性的,隱隱透出一絲看天吃飯的無力感。

常見的深度學習模型:

  • 深度前饋網絡(Deep Feedforward Network)
  • 卷積神經網(Convolutional neural network)
  • 循環神經網絡(Recurrent Neural Network)
  • 生成式對抗網絡
  • 長短記憶網絡

參考書:《機器學習》(也叫西瓜書)、《深度學習》、《信息論、推理與學習算法》

四.頂層:一次問題的解決過程

  1. 問題分析與識別:todo
  2. 數據的采集和預處理:todo
  3. 數據的存儲:todo
  4. 數據的分析和挖掘:todo
  5. 數據的可視化:todo

總結

這篇學習總結還在迭代更新中,當然,這里面還有海量的東西我沒搞明白,主要是時間不夠,資質也有限,不過隱約中我能感覺到,在里面最難的似乎還是機器無法替代的部分,比如對實際問題的定義和理解,對現實事物的觀察和刻畫,對空間、時間、準確率等各類指標平衡性的選擇,對我自己而言,出一道有解的好題可能要比具體解一道題要困難一點,不會解題我可以去請教,總有聰明的人會,但是能不能消化足夠的真實信息,能不能把事情想清楚,能不能問出一個好問題,能不能把題目出出來,似乎就只能靠自己了。

專題入口

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 本白皮書前期在國標委工業二部和工信部科技司的指導下,通過梳理人工智能技術、應用和產業演進情況,分析人工智能的技術熱...
    筆名輝哥閱讀 24,144評論 2 143
  • 朋友圈小視頻 一個團契認識的姑娘 教堂婚禮 雙人背影 接受祝福 我在心里祝福 我從小渴望 教堂婚禮 并且覺得長大一...
    林小膽閱讀 487評論 0 0
  • 玉儉閱讀 263評論 4 3
  • 我走在青春的路上 走在春夏相交的季節 偶爾陽光和著輕快的節拍 碎碎地撲上窗棱 偶爾驟雨攜風而至 沉沉砸向我明媚的裙...
    桃子雜談閱讀 939評論 0 5
  • 《帕丁頓熊2》講述與布朗一家住在一起的呆萌小熊帕丁頓,在露西嬸嬸100歲生日前夕,努力工作為她買來名貴禮物,卻被壞...
    蒹葭essay閱讀 288評論 0 1