丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給AI研習社
發(fā)送

0

李開復的書告訴你,如何給非專業(yè)人士講解什么是深度學習

本文作者: AI研習社 編輯:賈智龍 2017-05-04 10:30
導語:在現(xiàn)在這個人工智能蓬勃發(fā)展的時代,如何向非專業(yè)的人解答人工智能是個問題了。

去年開始,工作中需要做許多有關 AI 科普的事情。很長時間里一直在想,該如何給一個沒有 CS 背景的人講解什么是深度學習,以便讓一個非技術的投資人、企業(yè)管理者、行業(yè)專家、媒體記者乃至普通大眾明白深度學習為什么會特別有效,理解 AI 是如何幫助人們解決具體問題的。中間經(jīng)由 Quora 一篇簡短回答的啟發(fā),大致形成了用水流脈絡來比擬神經(jīng)網(wǎng)絡的想法。曾經(jīng)在面向銀行界、教育界、投資界人士的演講中,嘗試過基于這個比喻的講解方法,效果很不錯。慢慢就形成了這樣一篇文章,最近也被收進了李開復和我合著的科普書《人工智能》中。

【注】特別需要說明的是,本文對深度學習的概念闡述刻意避免了數(shù)學公式和數(shù)學論證,這種用水管網(wǎng)絡來普及深度學習的方法只適合一般公眾。對于懂數(shù)學、懂計算機科學的專業(yè)人士來說,這樣的描述相當不完備也不精確。流量調節(jié)閥的比喻與深度神經(jīng)網(wǎng)絡中每個神經(jīng)元相關的權重調整,在數(shù)學上并非完全等價。對水管網(wǎng)絡的整體描述也有意忽略了深度學習算法中的代價函數(shù)、梯度下降、反向傳播等重要概念。專業(yè)人士要學習深度學習,還是要從專業(yè)教程看起。

從根本上說,深度學習和所有機器學習方法一樣,是一種用數(shù)學模型對真實世界中的特定問題進行建模,以解決該領域內相似問題的過程。

首先,深度學習是一種機器學習。既然名為 “學習”,那自然與我們人類的學習過程有某種程度的相似?;叵胍幌?,一個人類小朋友是如何學習的?

人類小朋友是如何學習的?機器又是如何學習的?

比如,很多小朋友都用識字卡片來認字。從古時候人們用的 “上大人、孔乙己” 之類的描紅本,到今天在手機、平板電腦上教小朋友認字的識字卡片 APP,最基本的思路就是按照從簡單到復雜的順序,讓小朋友反復看每個漢字的各種寫法(大一點的小朋友甚至要學著認識不同的書法字體),看得多了,自然就記住了。下次再見到同一個字,就很容易能認出來。

這個有趣的識字過程看似簡單,實則奧妙無窮。認字時,一定是小朋友的大腦在接受許多遍相似圖像的刺激后,為每個漢字總結出了某種規(guī)律性的東西,下次大腦再看到符合這種規(guī)律的圖案,就知道是什么字了。

其實,要教計算機認字,差不多也是同樣的道理。計算機也要先把每一個字的圖案反復看很多很多遍,然后,在計算機的大腦(處理器加上存儲器)里,總結出一個規(guī)律來,以后計算機再看到類似的圖案,只要符合之前總結的規(guī)律,計算機就能知道這圖案到底是什么字。

用專業(yè)的術語來說,計算機用來學習的、反復看的圖片叫 “訓練數(shù)據(jù)集”;“訓練數(shù)據(jù)集” 中,一類數(shù)據(jù)區(qū)別于另一類數(shù)據(jù)的不同方面的屬性或特質,叫做 “特征”;計算機在 “大腦” 中總結規(guī)律的過程,叫 “建?!?;計算機在 “大腦” 中總結出的規(guī)律,就是我們常說的 “模型”;而計算機通過反復看圖,總結出規(guī)律,然后學會認字的過程,就叫 “機器學習”。

到底計算機是怎么學習的?計算機總結出的規(guī)律又是什么樣的呢?這取決于我們使用什么樣的機器學習算法。

有一種算法非常簡單,模仿的是小朋友學識字的思路。家長和老師們可能都有這樣的經(jīng)驗:小朋友開始學識字,比如先教小朋友分辨 “一”、“二”、“三” 時,我們會告訴小朋友說,一筆寫成的字是 “一”,兩筆寫成的字是 “二”,三筆寫成的字是 “三”。這個規(guī)律好記又好用。但是,開始學新字時,這個規(guī)律就未必奏效了。比如,“口” 也是三筆,可它卻不是 “三”。我們通常會告訴小朋友,圍成個方框兒的是 “口”,排成橫排的是 “三”。這規(guī)律又豐富了一層,但仍然禁不住識字數(shù)量的增長。很快,小朋友就發(fā)現(xiàn),“田” 也是個方框兒,可它不是 “口”。我們這時會告訴小朋友,方框里有個 “十” 的是 “田”。再往后,我們多半就要告訴小朋友,“田” 上面出頭是 “由”,下面出頭是 “甲”,上下都出頭是 “申”。很多小朋友就是在這樣一步一步豐富起來的特征規(guī)律的指引下,慢慢學會自己總結規(guī)律,自己記住新的漢字,并進而學會幾千個漢字的。

有一種名叫決策樹的機器學習方法,就和上面根據(jù)特征規(guī)律來識字的過程非常相似。當計算機只需要認識 “一”、“二”、“三” 這三個字時,計算機只要數(shù)一下要識別的漢字的筆畫數(shù)量,就可以分辨出來了。當我們?yōu)榇R別漢字集(訓練數(shù)據(jù)集)增加 “口” 和 “田” 時,計算機之前的判定方法失敗,就必須引入其他判定條件。由此一步步推進,計算機就能認識越來越多的字。

李開復的書告訴你,如何給非專業(yè)人士講解什么是深度學習李開復的書告訴你,如何給非專業(yè)人士講解什么是深度學習

附圖顯示了計算機學習 “由”、“甲”、“申” 這三個新漢字前后,計算機內部的決策樹的不同。這說明,當我們給計算機 “看” 了三個新漢字及其特征后,計算機就像小朋友那樣,總結并記住了新的規(guī)律,“認識” 了更多的漢字。這個過程,就是一種最基本的機器學習了。

當然,這種基于決策樹的學習方法太簡單了,很難擴展,也很難適應現(xiàn)實世界的不同情況。于是,科學家和工程師們陸續(xù)發(fā)明出了許許多多不同的機器學習方法。

例如,我們可以把漢字 “由”、“甲”、“申” 的特征,包括有沒有出頭,筆畫間的位置關系等,映射到某個特定空間里的一個點(我知道,這里又出現(xiàn)數(shù)學術語了。不過這不重要,是否理解 “映射” 的真實含義,完全不影響后續(xù)閱讀)。也就是說,訓練數(shù)據(jù)集中,這三個字的大量不同寫法,在計算機看來就變成了空間中的一大堆點。只要我們對每個字的特征提取得足夠好,空間中的一大堆點就會大致分布在三個不同的范圍里。

這時,讓計算機觀察這些點的規(guī)律,看能不能用一種簡明的分割方法(比如在空間中畫直線),把空間分割成幾個相互獨立的區(qū)域,盡量使得訓練數(shù)據(jù)集中每個字對應的點都位于同一個區(qū)域內。如果這種分割是可行的,就說明計算機 “學” 到了這些字在空間中的分布規(guī)律,為這些字建立了模型。

李開復的書告訴你,如何給非專業(yè)人士講解什么是深度學習

接下來,看見一個新的漢字圖像時,計算機就簡單把圖像換算成空間里的一個點,然后判斷這個點落在了哪個字的區(qū)域里,這下,不就能知道這個圖像是什么字了嗎?

很多人可能已經(jīng)看出來了,使用畫直線的方法來分割一個平面空間(如附圖所示),很難適應幾千個漢字以及總計至少數(shù)萬種不同的寫法。如果想把每個漢字的不同變形都對應為空間中的點,那就極難找到一種數(shù)學上比較直截了當?shù)姆椒?,來將每個漢字對應的點都分割包圍在不同區(qū)域里。

很多年里,數(shù)學家和計算機科學家就是被類似的問題所困擾。人們不斷改進機器學習方法。比如,用復雜的高階函數(shù)來畫出變化多端的曲線,以便將空間里相互交錯的點分開來,或者,干脆想辦法把二維空間變成三維空間、四維空間甚至幾百維、幾千維、幾萬維的高維空間。在深度學習實用化之前,人們發(fā)明了許多種傳統(tǒng)的、非深度的機器學習方法。這些方法雖然在特定領域取得了一定成就,但這個世界實在是復雜多樣、變化萬千,無論人們?yōu)橛嬎銠C選擇了多么優(yōu)雅的建模方法,都很難真正模擬世界萬物的特征規(guī)律。這就像一個試圖用有限幾種顏色畫出世界真實面貌的畫家,即便畫藝再高明,他也很難做到 “寫實” 二字。

那么,如何大幅擴展計算機在描述世界規(guī)律時的基本手段呢?有沒有可能為計算機設計一種靈活度極高的表達方式,然后讓計算機在大規(guī)模的學習過程里不斷嘗試和尋找,自己去總結規(guī)律,直到最終找到符合真實世界特征的一種表示方法呢?

現(xiàn)在,我們終于要談到深度學習了!

深度學習就是這樣一種在表達能力上靈活多變,同時又允許計算機不斷嘗試,直到最終逼近目標的一種機器學習方法。從數(shù)學本質上說,深度學習與前面談到的傳統(tǒng)機器學習方法并沒有實質性差別,都是希望在高維空間中,根據(jù)對象特征,將不同類別的對象區(qū)分開來。但深度學習的表達能力,與傳統(tǒng)機器學習相比,卻有著天壤之別。

簡單地說,深度學習就是把計算機要學習的東西看成一大堆數(shù)據(jù),把這些數(shù)據(jù)丟進一個復雜的、包含多個層級的數(shù)據(jù)處理網(wǎng)絡(深度神經(jīng)網(wǎng)絡),然后檢查經(jīng)過這個網(wǎng)絡處理得到的結果數(shù)據(jù)是不是符合要求——如果符合,就保留這個網(wǎng)絡作為目標模型,如果不符合,就一次次地、鍥而不舍地調整網(wǎng)絡的參數(shù)設置,直到輸出滿足要求為止。

這么說還是太抽象,太難懂。我們換一種更直觀的講法。

假設深度學習要處理的數(shù)據(jù)是信息的 “水流”,而處理數(shù)據(jù)的深度學習網(wǎng)絡是一個由管道和閥門組成的巨大的水管網(wǎng)絡。網(wǎng)絡的入口是若干管道開口,網(wǎng)絡的出口也是若干管道開口。這個水管網(wǎng)絡有許多層,每一層有許多個可以控制水流流向與流量的調節(jié)閥。根據(jù)不同任務的需要,水管網(wǎng)絡的層數(shù)、每層的調節(jié)閥數(shù)量可以有不同的變化組合。對復雜任務來說,調節(jié)閥的總數(shù)可以成千上萬甚至更多。水管網(wǎng)絡中,每一層的每個調節(jié)閥都通過水管與下一層的所有調節(jié)閥連接起來,組成一個從前到后,逐層完全連通的水流系統(tǒng)(這里說的是一種比較基本的情況,不同的深度學習模型,在水管的安裝和連接方式上,是有差別的)。

李開復的書告訴你,如何給非專業(yè)人士講解什么是深度學習

那么,計算機該如何使用這個龐大的水管網(wǎng)絡,來學習識字呢?

比如,當計算機看到一張寫有 “田” 字的圖片時,就簡單將組成這張圖片的所有數(shù)字(在計算機里,圖片的每個顏色點都是用 “0” 和 “1” 組成的數(shù)字來表示的)全都變成信息的水流,從入口灌進水管網(wǎng)絡。

我們預先在水管網(wǎng)絡的每個出口都插一塊字牌,對應于每一個我們想讓計算機認識的漢字。這時,因為輸入的是 “田” 這個漢字,等水流流過整個水管網(wǎng)絡,計算機就會跑到管道出口位置去看一看,是不是標記有 “田” 字的管道出口流出來的水流最多。如果是這樣,就說明這個管道網(wǎng)絡符合要求。如果不是這樣,我們就給計算機下達命令:調節(jié)水管網(wǎng)絡里的每一個流量調節(jié)閥,讓 “田” 字出口 “流出” 的數(shù)字水流最多。

這下,計算機可要忙一陣子了,要調節(jié)那么多閥門呢!好在計算機計算速度快,暴力計算外加算法優(yōu)化(其實,主要是精妙的數(shù)學方法了,不過我們這里不講數(shù)學公式,大家只要想象計算機拼命計算的樣子就可以了),總是可以很快給出一個解決方案,調好所有閥門,讓出口處的流量符合要求。

下一步,學習 “申” 字時,我們就用類似的方法,把每一張寫有 “申” 字的圖片變成一大堆數(shù)字組成的水流,灌進水管網(wǎng)絡,看一看,是不是寫有 “申” 字的那個管道出口流出來的水最多,如果不是,我們還得再次調整所有的調節(jié)閥。這一次,要既保證剛才學過的 “田” 字不受影響,也要保證新的 “申” 字可以被正確處理。

如此反復進行,直到所有漢字對應的水流都可以按照期望的方式流過整個水管網(wǎng)絡。這時,我們就說,這個水管網(wǎng)絡已經(jīng)是一個訓練好的深度學習模型了。

例如,附圖顯示了 “田” 字的信息水流被灌入水管網(wǎng)絡的過程。為了讓水流更多地從標記有 “田” 字的出口流出,計算機需要用特定方式近乎瘋狂地調節(jié)所有流量調節(jié)閥,不斷實驗、摸索,直到水流符合要求為止。

當大量識字卡片被這個管道網(wǎng)絡處理,所有閥門都調節(jié)到位后,整套水管網(wǎng)絡就可以用來識別漢字了。這時,我們可以把調節(jié)好的所有閥門都 “焊死”,靜候新的水流到來。

與訓練時做的事情類似,未知的圖片會被計算機轉變成數(shù)據(jù)的水流,灌入訓練好的水管網(wǎng)絡。這時,計算機只要觀察一下,哪個出口流出來的水流最多,這張圖片寫的就是哪個字。

簡單嗎?神奇嗎?難道深度學習竟然就是這樣的一個靠瘋狂調節(jié)閥門來 “湊” 出最佳模型的學習方法?整個水管網(wǎng)絡內部,每個閥門為什么要如此調節(jié),為什么要調節(jié)到如此程度,難道完全由最終每個出口的水流量來決定?這里面,真的沒有什么深奧的道理可言?

深度學習大致就是這么一個用人類的數(shù)學知識與計算機算法構建起整體架構,再結合盡可能多的訓練數(shù)據(jù),以及計算機的大規(guī)模運算能力去調節(jié)內部參數(shù),盡可能逼近問題目標的半理論、半經(jīng)驗的建模方式。

指導深度學習的基本是一種實用主義的思想。

不是要理解更復雜的世界規(guī)律嗎?那我們就不斷增加整個水管網(wǎng)絡里可調節(jié)的閥門的個數(shù)(增加層數(shù)或增加每層的調節(jié)閥數(shù)量)。不是有大量訓練數(shù)據(jù)和大規(guī)模計算能力嗎?那我們就讓許多 CPU 和許多 GPU(圖形處理器,俗稱顯卡芯片,原本是專用于作圖和玩游戲的,碰巧也特別適合深度學習計算)組成龐大計算陣列,讓計算機在拼命調節(jié)無數(shù)個閥門的過程中,學到訓練數(shù)據(jù)中的隱藏的規(guī)律。也許正是因為這種實用主義的思想,深度學習的感知能力(建模能力)遠強于傳統(tǒng)的機器學習方法。

實用主義意味著不求甚解。即便一個深度學習模型已經(jīng)被訓練得非常 “聰明”,可以非常好地解決問題,但很多情況下,連設計整個水管網(wǎng)絡的人也未必能說清楚,為什么管道中每一個閥門要調節(jié)成這個樣子。也就是說,人們通常只知道深度學習模型是否工作,卻很難說出,模型中某個參數(shù)的取值與最終模型的感知能力之間,到底有怎樣的因果關系。

這真是一件特別有意思的事。有史以來最有效的機器學習方法,在許多人看來,竟然是一個只可意會、不可言傳的 “黑盒子”。

由此引發(fā)的一個哲學思辨是,如果人們只知道計算機學會了做什么,卻說不清計算機在學習過程中掌握的是一種什么樣的規(guī)律,那這種學習本身會不會失控?

比如,很多人由此擔心,按照這樣的路子發(fā)展下去,計算機會不會悄悄學到什么我們不希望它學會的知識?另外,從原理上說,如果無限增加深度學習模型的層數(shù),那計算機的建模能力是不是就可以與真實世界的終極復雜度有一比呢?如果這個答案是肯定的,那只要有足夠的數(shù)據(jù),計算機就能學會宇宙中所有可能的知識——接下來會發(fā)生什么?大家是不是對計算機的智慧超越人類有了些許的憂慮?還好,關于深度學習到底是否有能力表達宇宙級別的復雜知識,專家們尚未有一致看法。人類至少在可見的未來還是相對安全的。

補充一點:目前,已經(jīng)出現(xiàn)了一些可視化的工具,能夠幫助我們 “看見” 深度學習在進行大規(guī)模運算時的 “樣子”。比如說,谷歌著名的深度學習框架 TensorFlow 就提供了一個網(wǎng)頁版的小工具(Tensorflow — Neural Network Playground),用人們易于理解的圖示,畫出了正在進行深度學習運算的整個網(wǎng)絡的實時特征。

李開復的書告訴你,如何給非專業(yè)人士講解什么是深度學習

附圖顯示了一個包含 4 層中間層級(隱含層)的深度神經(jīng)網(wǎng)絡針對某訓練數(shù)據(jù)集進行學習時的 “樣子”。圖中,我們可以直觀地看到,網(wǎng)絡的每個層級與下一個層級之間,數(shù)據(jù) “水流” 的方向與大小。我們還可以隨時在這個網(wǎng)頁上改變深度學習框架的基本設定,從不同角度觀察深度學習算法。這對我們學習和理解深度學習大有幫助。

雷鋒網(wǎng)按:本文摘自李開復、王詠剛《人工智能》一書。


實戰(zhàn)特訓:遠場語音交互技術  

智能音箱這么火,聽聲智科技CTO教你深入解析AI設備語音交互關鍵技術!

課程鏈接:http://www.mooc.ai/course/80

加入AI慕課學院人工智能學習交流QQ群:624413030,與AI同行一起交流成長

雷峰網(wǎng)版權文章,未經(jīng)授權禁止轉載。詳情見轉載須知。

李開復的書告訴你,如何給非專業(yè)人士講解什么是深度學習

分享:
相關文章

編輯

聚焦數(shù)據(jù)科學,連接 AI 開發(fā)者。更多精彩內容,請訪問:yanxishe.com
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說