成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何給非專業人士講解什么是深度學習?

人工智能 深度學習
深度學習就是這樣一種在表達能力上靈活多變,同時又允許計算機不斷嘗試,直到最終逼近目標的一種機器學習方法。

[[190380]]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

現在,我們終于要談到深度學習了!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

責任編輯:武曉燕 來源: 36大數據
相關推薦

2017-05-04 13:11:28

深度學習AI

2023-01-04 09:03:31

云計算

2013-09-29 09:20:06

2021-12-21 13:58:53

大數據數據治理數據分析

2019-06-14 14:55:07

大數據金融會計師

2023-07-18 15:04:51

2017-11-06 14:18:03

2012-12-10 09:20:40

微軟公有云云計算

2011-04-25 10:41:36

2024-06-13 19:31:20

WordMarkdownLaTeX

2009-12-01 17:56:57

路由器安裝設置

2014-11-27 13:37:41

雙頻802.11ac

2014-08-19 10:13:15

編程書籍Java書籍

2024-08-16 15:56:25

2013-09-27 09:39:07

BYOD部署BYOD

2024-05-16 08:00:00

2010-12-28 19:53:47

微軟嵌入式MVP

2019-06-13 05:20:17

2022-08-03 00:03:10

工具操作系統Kali

2019-12-24 12:02:29

區塊鏈分布式比特幣
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 极品粉嫩国产48尤物在线播放 | 欧美成年网站 | 一区二区三区视频在线观看 | 色婷婷影院 | 国产精品成人一区二区 | 国产精品久久久久久久久久妇女 | 日韩二三区 | 国产精品一区二区久久久久 | 亚洲精品www | 欧美嘿咻| 色偷偷888欧美精品久久久 | 国产免费一区二区 | ww 255hh 在线观看 | 91成人精品 | www.色.com| 成人午夜影院 | 日韩欧美二区 | 日韩三级电影一区二区 | 久久精点视频 | 日韩国产欧美一区 | 国产国产精品久久久久 | h片在线免费观看 | 91视频.com | 精品一区久久 | 99爱免费 | 国产一区二区欧美 | 日本三级电影在线观看视频 | 国产精品 亚洲一区 | 狠狠狠色丁香婷婷综合久久五月 | 日韩精品一区二区三区在线播放 | 日韩精品一区二区三区中文字幕 | 日韩一区二区三区精品 | 人人干人人干人人 | 欧美一级电影免费 | 日韩av免费看 | 国产乱码精品1区2区3区 | 精品国产乱码久久久久久牛牛 | 日韩av美女电影 | 日韩高清成人 | 欧美6一10sex性hd | 美女在线一区二区 |