第四次工業革命:人工智能(AI)入門

轉載自 http://www.infoq.com/cn/articles/the-fourth-industrial-revolution-an-introduction-to-ai程序員

「過去10年咱們在忙於打造移動爲先的世界。將來10年,咱們將步入AI爲先的世界。」(谷歌CEO Sundar Pichai,2016年10月)算法

從亞馬遜到Facebook,再到谷歌和微軟,全球最頂尖、最有影響力的技術公司都將目光轉向了人工智能(AI)。AI究竟是什麼?爲什麼如此重要?爲什麼如今變得重要?雖然人們對AI的關注與日俱增,但對該領域有着充分理解的依然僅僅只是業內專家。本文意在讓更多人瞭解這一重要的前沿領域。數據庫

本文首先會介紹「AI」的含義以及包括「機器學習」在內的一些關鍵詞。咱們將介紹「深度學習」這一最有成效的AI分支是如何實現的。同時還會介紹AI試圖解決的問題以及這些問題的重要性。最後,咱們還將深刻介紹爲什麼早在二十世紀五十年代就已誕生的AI這一律念直到今天才開始逐漸成熟。編程

做爲風險投資人,咱們須要緊跟能爲消費者和企業創造價值的新興趨勢。咱們認爲AI是計算領域的一次革命,其重要性甚至遠遠超過移動或雲計算。「這實在難以用言語表達,」亞馬遜CEO Jeff Bezos寫道:「將來20年裏,人工智能對全社會產生的影響將大到不可思議。」但願本文能夠破除各類喧囂炒做,向消費者或企業高管,以及創業者和投資人解釋這一新興趨勢如此重要的緣由。安全

1. AI是什麼?

人工智能:研究智能程序的科學

「人工智能(AI)」這個詞由達特茅斯大學助理教授John McCarthy在1956年提出,做爲一種統稱,AI可用於指代可體現出智能行爲的硬件或軟件。按照McCarthy教受的說法,這是一種「能夠製造出智能的機器,尤爲是智能的計算機程序的科學和工程。」網絡

最基本的AI早在幾十年前就已誕生,當時的AI可經過基於規則的程序,在某些特定情境中體現出最基本的「智能」。然而這類技術的發展一直受到各類限制,由於足以應對現實世界中各類問題所需的算法實在是太過複雜,很難由人工編程的方式實現。架構

這裏所謂的複雜的活動包括作出醫學診斷、預測機器故障時間或衡量某些資產的市值,這些行爲中每每涉及數千種數據集和大量變量之間的非線性關係。這種狀況下一般難以經過現有數據得到最佳效果,即對咱們的預測進行「優化」。對於其餘一些狀況,例如識別圖片中的物體以及翻譯語言,此時咱們甚至沒法開發出用於描述所需「功能」的規則。例如,咱們該如何經過編寫一系列規則,使得程序能在任何狀況下描述出一隻狗的外觀?框架

若是能將作出各類複雜預測的困難工做,即數據優化特徵(Feature)規範?,從程序員身上轉嫁給程序,狀況又會怎樣?這正是現代化人工智能帶給咱們的承諾。dom

機器學習:承擔優化任務

機器學習(ML)是AI的一個子集。全部機器學習都是AI,但並不是全部AI都是機器學習(圖上圖1)。當今人們對AI的興趣主要體如今對機器學習技術的關注中,使得這一技術快速得到了顯著進步。機器學習

機器學習使得咱們能夠將某些沉重的工做交給算法處理,進而解決相對於人類來講過於複雜的問題。AI分支的先驅Arthur Samuel在1959年曾經寫到,機器學習是「一種可以讓計算機在無須進行有針對性的編程狀況下,自行得到學習能力的學科領域。」

大部分機器學習技術的目標在於針對特定用例開發一種預測引擎。算法負責接收有關特定領域(例如某人過去看過的全部電影)的信息,經過對輸入的信息進行權衡作出有用的預測(此人將來觀看其餘種類電影的可能性)。經過實現讓「計算機自行學習的能力」,咱們能夠將優化方面的任務,即對可用數據中的不一樣變量進行權衡,進而面向將來作出精確的預測,交給算法負責。有時候甚至能夠更進一步,將「須要考慮的將來」這種初步決策也交給程序處理。

機器學習算法可經過訓練進行學習。最開始,能夠爲算法提供輸出結果爲已知的樣本數據,並將實際結果與預測結果的差別進行對比,隨後對所輸入內容的權重進行調優,藉此改善預測結果的精確度,直到最終得到優化。所以機器學習算法的界定性徵(Defining characteristic)就在於經過經驗對預測結果進行改善所能取得的質量。咱們提供的數據越多(一般大到某種臨界點),就能建立出越好的預測引擎(以下圖2和圖3,須要注意,所需數據集的規模嚴重取決於具體情境,但沒法從下列範例中加以歸納。)

目前機器學習方法已經超過15種,每種均可以使用不一樣的算法結構經過收到的數據對預測進行優化。做爲其中的一種方法,「深度學習」在不少全新領域實現了突破性的結果,下文將詳細介紹。算法其實還有不少,其餘算法雖然不像深度學習那樣得到了最爲普遍的關注,但也有本身的價值,由於能夠適用於更普遍的用例中。除了深度學習,其餘最實用的機器學習算法還包括:

  • Random forests(隨機叢林)」,經過建立大量決策樹對預測進行優化;
  • Bayesian networks(貝葉斯網絡)」,使用基於機率的方法分析變量和變量之間的關係,以及
  • 支持向量機(Vector machine)」,可經過多種分類樣本並建立模型將新的輸入內容分配給某一分類。

每種方法各有利弊,並能混合使用(一種「綜合」方法)。針對特定問題選擇哪一種算法,主要取決於各類因素,包括可用數據集的本質特徵等。實際上開發者一般趨向於經過多種實驗肯定最佳算法。

機器學習技術的用例因具體需求和想象力而各不相同。只要有合適的數據,咱們就能夠爲無數用途構建所需的算法,例如:根據購買記錄推薦顧客可能願意購買的產品,預測汽車組裝流水線上的機械手何時會故障,預測郵件地址是否輸入有誤,估算某筆信用卡交易存在欺詐狀況的可能性等。

深度學習:開始處理特徵規範

就算藉助通用用途的機器學習(隨機叢林、貝葉斯網絡、支持向量機等),編寫能良好執行某類任務的程序這也是一項困難的工做,從語言的理解到圖片中物體的識別不出其外。爲何?由於咱們沒法用足夠實用而且可靠的方式明確指定所要優化的特徵。舉例來講,若是但願編寫能識別車輛圖片的計算機程序,咱們根本不能經過爲算法指定車輛特徵的方式確保在任何狀況下均能得到正確的識別結果。車輛有着不一樣的外形、尺寸和顏色,車輛的位置、朝向以及具體形態也多種多樣。背景、光照,以及衆多其餘因素都會對物體的外觀產生影響。此時若要編寫規則,須要考慮的變化實在是太多了。就算能夠作到這一切,整個解決方案的縮放能力也會受到極大限制:咱們必須爲打算識別的每一個類型的物體分別編寫一套程序。

擁抱深度學習(DL)吧,該技術讓人工智能領域產生了脫胎換骨的革新。深度學習是機器學習的一個子集,也是超過15種不一樣方法之一。全部深度學習均爲機器學習,但並不是全部機器學習均爲深度學習(見下圖4)。

深度學習頗有用,避免了程序員不得不自行處理特徵規範(定義要在數據種分析的特徵)或優化(如何對數據進行權衡以提供更精確的預測)的麻煩,這些可交給算法來作。

這是如何實現的?深度學習的突破之處在於對大腦,而非整個世界進行建模。人類的大腦會學着作各類困難的事,例如理解語音和識別物體,這並非經過事無鉅細的規則實現的,而是經過各類實踐和反饋實現。孩提時期,咱們會逐漸開始探索整個世界(例如看到一張汽車的圖片),作出預測(「看,汽車!」),並收到反饋(「你說的沒錯!」)。並不須要各類瑣碎的規則,咱們能夠經過訓練自行學習。

深度學習使用了相似的方法。人工製造的僅僅是基於軟件的計算器,藉此模擬出與大腦中神經元相互鏈接後所實現的相似功能。經過這種計算機組成一個「神經網絡」,接受輸入(繼續上文的例子,一張汽車的圖片),對輸入的內容進行分析進而作出判斷,並瞭解本身的判斷是否正確。若是輸出結果是錯誤的,將由算法對神經元之間的鏈接進行調教,進而改變後續的預測。最初這個網絡可能會常常犯錯,但隨着咱們向TA提供數百萬個樣本,神經元之間的鏈接將得到調優,使得整個神經網絡能在幾乎全部狀況下作出正確的判斷。實踐出(近似的)真知。

經過這種過程,隨着效果日漸好轉,如今咱們已經能夠:

  • 識別圖片中的元素;
  • 實時進行兩種語言的互譯;
  • 經過語音命令控制設備(例如蘋果的Siri、Google Now、亞馬遜Alexa,以及微軟小娜);
  • 預測基因變異對DNA轉錄的影響;
  • 分析客戶評論中的情緒;
  • 檢測醫療影像中的腫瘤等。

深度學習並不能用來解決全部問題。這種方式一般須要用極大量的數據集進行訓練。神經網絡的訓練和運行須要投入大量計算處理能力,此外這種方法還存在「可解釋性」方面的問題:可能很難知道某個神經網絡的預測能力是如何發展起來的。但由於能將開發者從複雜的特徵規範任務中解脫出來,深度學習已經能夠爲各類重要問題提供很是成功的預測引擎。所以深度學習已經成爲AI開發者手中一款強大的利器。

2. 深度學習是如何工做的?

鑑於其重要性,咱們有必要對深度學習的工做原理有所簡單理解。深度學習須要使用人造的「神經網絡」,這是一種相互鏈接的「神經元」(基於軟件的計算器)的集合。

人造的神經元能夠接受一種或多種輸入。神經元會針對輸入結果執行數學運算,併產生可輸出的結果。輸出的結果取決於每類輸入的「權重」以及神經元的「輸入-輸出函數」配置(見下圖5)。輸入-輸出函數各異。神經元能夠是:

  • 一種線性單位(Linear unit),輸出結果與輸入總權重成比例;
  • 一種閾值單位(Threshold unit),輸出結果爲兩個級別中的一種,取決於總輸入是否高於某一特定值;或
  • 是一種S形單位(Sigmoid unit),輸出結果頻繁變化,而不像輸入那樣呈線性變化的態勢。

多個神經元相互鏈接組成了神經網絡,一個神經元的輸出能夠成爲另外一個神經元的輸入(見下圖6)。

神經網絡可經過組織整理呈現爲多層次神經元(這也是「深度」這個詞的由來)。其中「輸入層」負責接收將由網絡處理的信息,例如一組圖片。「輸出層」負責提供結果。輸入和輸出層之間還有「隱藏層」,大部分活動均在這一層中發生。一般來講,神經網絡上每一層神經元的輸出內容都可成爲下一層神經元的輸入內容之一(見下圖7)。

用圖像識別算法做爲例子來看看吧。假設要識別圖片中的人臉。將數據裝入神經網絡後,第一層負責識別局部對比模式,例如圖片邊緣,這是一種「底層」特徵。隨着圖片在整個網絡中流動,逐漸提取出「高層」特徵,例如從邊緣到鼻子,再從鼻子到面孔(見下圖8)。

在輸出層方面,根據訓練效果,神經網絡會就圖片是每種特定類型的可能性給出機率(人臉:97%;氣球:2%;樹葉:1%)。

一般來講,神經網絡的訓練過程須要使用大量已經進行過度類的樣本。隨後算法會經過檢測出的錯誤和神經元之間的鏈接權重進行調整,藉此改善效果。優化過程的重複性極高,訓練完成後便可部署系統並對未分類圖片進行評估。

上文描述的是一種很簡單的神經網絡,實際上神經網絡的結構可能各異,而且大部分都很是複雜。各類常見變體包括:同層神經元之間的不一樣鏈接,每層神經元數量的變化,以及將神經元的輸出結果流向前一層網絡(「遞歸」神經網絡)的鏈接。

神經網絡的設計和完善須要投入至關多的技能。例如針對特定應用調整網絡結構,提供適宜的訓練數據集,根據進展調整網絡結構,以及多種方法的混合使用等。

3. 爲什麼AI如此重要?

AI如此重要,緣由在於這種技術能夠順利解決以往看來極爲困難的問題,而這些問題的解決方案可以應用於關乎人類福祉的重要領域:健康、教育、商業、運輸、公共事業、娛樂…… 自二十世紀五十年代開始,人們對AI的研究主要側重於下列五大領域的「查詢」:

  1. 推論(Reasoning):經過邏輯推理解決問題的能力。
  2. 知識(Knowledge):運用人類知識的能力(瞭解現實世界中的某些實體、事件以及狀況,並瞭解到這些元素有不一樣的屬性,而且這些元素能夠進行分類)。
  3. 規劃(Planning):設置並實現目標的能力(世界存在一種特定的將來預期狀態,以及經過採起一系列行動最終推進世界向着這種狀態發展的結果)。
  4. 交流(Communication):理解書面和口頭語言的能力。
  5. 感知(Perception):經過視覺圖像、聲音和其餘傳感器輸入推演出世間物件的能力。

AI蘊含着重大的價值,由於在不少情境下,這些能力方面取得的最新進展每每能催生出顛覆性(Revolutionary),而不只僅是逐漸演變而來(Evolutionary)的其餘能力。例以下文列舉了AI的部分(遠非所有)應用範例:

  1. 推論:法律評估、金融資產管理、金融應用處理、遊戲、自主武器系統。
  2. 知識:醫學診斷、藥品研發、媒體推薦、購買預測、金融市場交易、欺詐檢測。
  3. 規劃:物流、調度、導航、物理和數字化網絡優化、預防式維護、需求預測、庫存管理。
  4. 交流:語音控制、智能代理/助理/客戶支持、實時翻譯書面和口頭語言、文字實時轉錄。
  5. 感知:自動駕駛機動車、醫學診斷、安防監控。

將來幾年裏,機器學習能力將被運用於幾乎全部領域的各類過程當中。以企業中的某一個職能爲例,例如公司內部的人力資源(HR)活動,便可在下列不一樣過程當中運用機器學習技術:

  • 經過更完善的目標定位、更智能的崗位匹配,以及部分程度上自動化實現的評估改善人員招募過程;
  • 經過對我的需求和可能出現的缺席進行預測式規劃,改善員工管理能力;
  • 經過向員工提供更有針對性的培訓內容建議,實現更有效的員工學習活動;以及
  • 經過預測重要員工可能存在離職風險下降員工流失率。

隨着時間的發展,咱們期待着機器學習能變成常態。機器學習早晚會成爲開發者人手必備的工具,最初也許只能對現有過程進行改善,但有朝一日將實現完全的革新。

機器學習的深遠影響遠遠賽過這些直接產生的影響。深度學習已經讓計算機視覺得到了日新月異的提升,例如目前的自動駕駛機動車(轎車和卡車)均已變爲現實。但會產生怎樣的影響?以目前的英國爲例,90%的人員和80%的貨物運輸是在道路上進行的,僅自動駕駛機動車自己就能產生下列影響:

  • 安全性(90%的機動車事故源於駕駛員注意力不集中);
  • 就業(英國的貨運和物流行業員工總數爲220萬人,年薪總和約爲570億英鎊);
  • 保險(Autonomous Research預計通過一段時間後英國的機動車保險保費總額將減小63%);
  • 經濟(消費者更願意按需得到交通服務,而非自行購置機動車);
  • 機動車生產量、城市規劃、規章制度……

4. 爲什麼AI直到今天才開始成熟?

有關AI的研究始於二十世紀五十年代,經歷過數次虛假的「黎明期」後,爲什麼如今才迎來拐點?因爲新算法的陸續完善,所適用數據的大幅豐富,用於訓練的硬件日益強大,以及雲服務對開發者接受度的逐漸催化,AI的實際運用效果在近些年有了大幅改進。

1. 算法的改進

雖然深度學習算不上一種新技術(早在1965年就有人提出了第一個實際有效的多層神經網絡規範?),但最近十年來深度學習算法的革新催生出了大相徑庭的結果。

識別圖像中物體的能力隨着卷積神經網絡(CNN,Convolutional Neural Network)的發展產生了日新月異的提升(以下圖9)。受到動物視覺腦皮層工做原理啓發設計而來的CNN中,神經網絡中的每一層都可充當判斷特定模式是否存在所用的篩選器。2015年,微軟基於CNN的計算機視覺系統在對圖片中物體進行識別方面實現了比人類更高的準確度(計算機:95.1%;人類:94.9%)。「據咱們所知,」他們寫到:「咱們的測試結果是計算機打敗人類的首例。」CNN還可應用於視頻和語音識別等更普遍的領域。

與此同時,隨着遞歸神經網絡(RNN,Recurrent Neural Network)的誕生,語音和手寫識別方面也取得了飛速進展(見下圖10)。不一樣於卷積神經網絡僅「向下饋送」的運做方式,RNN可經過反饋鏈接讓數據呈環路流動。RNN還出現了一種更強大的新類型:長短時間記憶(LSTM,Long Short-Term Memory)模型。在額外的鏈接和內存「細胞(Cell)」的幫助下,RNN能夠「記住」本身在數千步操做以前看到的數據,並使用這些數據對後續須要關注的內容進行解釋:這一特性對語音識別產生了巨大的幫助,由於對下一個詞的理解一般會受到以前所處理詞彙的影響。從2012年開始,谷歌就在使用LSTM驅動Android中的語音識別系統。就在六週前,微軟工程師稱他們的系統實現了低至5.9%的單詞錯誤率,這是有史以來首次接近人類能力的水平。

2. 專用硬件

圖形處理器(GPU)是一種特殊設計的電子電路,可大幅縮短爲深度學習訓練神經網絡所需的時間。

現代化的GPU最初誕生於二十世紀九十年代末,當時主要是爲了爲3D遊戲和3D開發應用程序進行加速。在3D環境中平移或縮放鏡頭須要重複用到一種名爲矩陣計算的數學運算過程,串行架構的微處理器,包括當今大部分計算機所用的CPU很不適合用來處理此類任務。爲了更高效地執行矩陣計算,GPU一般會使用大規模並行架構來製造(Nvidia M40包含3,072個內核)。

神經網絡的訓練會涉及大量矩陣計算。所以人們發現本來針對3D遊戲設計的GPU其實很適合用來對深度學習過程加速。這樣作得到了巨大的收效:一顆GPU便可讓神經網絡的訓練時間縮短5倍,針對一些比較大規模的問題甚至可實現10倍甚至更高的加速。在配合針對深度學習框架進行優化的軟件開發工具包以後,甚至還能夠進一步加快訓練速度(見下圖11)。

3. 廣博的數據

深度學習所用的神經網絡一般須要用大量數據集進行訓練,樣本數量從數千起步,甚至可高達數百萬。好在數據的建立速度和可用性也經歷了指數形式的增加。今天,隨着咱們步入「第三波」數據時代,人類平均天天會生成2.2EB(23億GB)數據,全球數據總量中有90%是過去24個月內建立的。

「第一波」的數據建立時代始於二十世紀八十年代,當時建立的主要是文檔和事務數據,這一時期還在可聯網臺式計算機的普及過程當中得到了催化。隨後「第二波」數據時代,在可聯網智能手機的推進下,誕生了大量非結構化媒體數據(郵件、照片、音樂、視頻)、Web數據,以及各類元數據。今天咱們正在步入數據的「第三個時代」,工業設施和家庭中部署的機器傳感器創造了更多監視用數據、分析用數據,以及更多元數據。

考慮到今天咱們所建立的大部分數據都會經過互聯網傳輸,日益膨脹的互聯網流量也開始充當人類海量數據生成過程當中的代理。1992年,全人類天天平均傳輸100GB數據,但到2020年,咱們將每秒傳輸61,000GB數據(見下圖12,請注意尺度的變化)。

除了通用數據的富足,專用數據資源也在機器學習的推進下與日俱增。例如ImageNet是一個免費提供的數據庫,其中已經包含超過1千萬張手工分類的圖片。該資源的誕生也對深度學習算法物體分類能力的發展起到了推波助瀾的效果。

4. 雲服務

開發者對機器學習的運用還受到雲端機器學習基礎架構和業界領先雲供應商所提供服務的推進。

谷歌、亞馬遜、微軟,以及IBM均提供了雲端基礎架構(用於構建和迭代模型的環境,提供可縮放「GPU即服務」產品,並提供其餘相關託管服務),這也使得機器學習能力的開發成本和難度大幅下降。

此外他們還提供了正在飛速發展的一系列雲端機器學習服務,開發者可將其(從圖像識別到語言翻譯)直接用於本身的應用程序內。谷歌的機器學習服務針對下列領域提供了易於訪問的服務:視覺(物體識別、顯性內容檢測、人臉檢測、圖像情緒分析);語音(語音識別和語音到文字轉換);文字分析(實體識別、情緒分析、語言檢測和翻譯);以及職員工做搜索(機會呈現和基於資歷的匹配)。微軟認知服務也提供了涵蓋視覺、語音、語言、知識和搜索等領域的超過21種服務。

5. 興趣和創業者

公衆對AI的興趣在過去五年裏增長了六倍(見下圖13),風投公司對AI公司的注資金額也有了顯著增加(見下圖14)。咱們已經進入了一種良性循環的境地,機器學習的進一步發展正在繼續吸引投資、創業者,以及社會各界的關注。尤爲是後者,對機器學習的將來發展意義重大。

5. 接下來會怎樣?

機器學習能帶來數量衆多、意義重大的收益。不少收益是看得見的,從無人駕駛機動車到新的人機交互方式等。還有一些收益雖然不那麼明顯,但也會對平常業務流程和消費者服務提供更強大的能力和效率。

與任何範式轉變過程同樣,有時太高的指望可能會超出短時間內所能實現的潛力。咱們期待着將來某一時刻,人們對AI的幻想可以完全幻滅,隨之而來的將會是長期、持續的價值承認,由於機器學習已經被用於改善並革新現有的系統。

在歷史上,工業革命曾經過新的電力和傳送方式改變了生產和交流方法。第一次工業革命在十八世紀八十年代使用蒸汽機驅動了機械化的生產過程;第二次工業革命在十九世紀七十年代使用電力推進了商品的大規模量產;第三次工業革命在二十世紀七十年代使用電子和軟件技術實現了生產和交流的自動化。今天,隨着軟件逐漸「蠶食」整個世界,咱們創造價值的主要來源已成爲信息自己的處理。經過用更智能的方式完成這樣的工做,機器學習將低調地爲咱們帶來效益和歷史意義。

做者David Kelnar閱讀英文原文The fourth industrial revolution: a primer on Artificial Intelligence (AI)

相關文章
相關標籤/搜索