來源:lynn1205的博客(臺) 從Google AlphaGo到Chatbot聊天機器人、智能理專、精準醫(yī)療、機器翻譯…近年來時而聽到人工智能、機器學習的相關消息,一夕之間這項技術攻占了各大媒體版面。 不但Google、Facebook、微軟、百度、IBM 等巨頭紛紛進軍該領域,NVIDIA 執(zhí)行長黃仁勛亦宣稱將由顯示卡轉型成人工智能運算公司,強調人工智能浪潮的來臨。 講到人工智能,你的想像是什么? 一般人對人工智能的想像,不外乎是影劇中的機器人形象。從史蒂芬·史匹柏導演的《AI 人工智能》中可愛的男孩、《機械公敵》中想控制人類統(tǒng)治世界的機器人、《機械姬》中能騙過人類情感的人造意識… 。 不過撇除這些,來看看我們每日在用的產(chǎn)品: GMAIL 中垃圾信件會自動被丟入垃圾桶 Google 相簿的圖像辨識 這個更猛了,是圖像辨識加上自動翻譯。 從垃圾信件自動分類、圖像辨識、自動翻譯… 你知道內部即已包含了人工智能嗎? 不過具體來說,我們會把這樣的技術稱為「機器學習」。 到底什么是人工智能?什么是機器學習?什么是深度學習?三者的差異在哪?要解決的又是什么問題呢? 今天就讓我們來聊聊,未來十年內將會真正改變你我生活的新世代技術。 人工智能: 如何以電腦解決問題人類自從發(fā)明電腦以來,便始終渴望著能讓電腦擁有類似人類的智能。一提到人工智能,很容易令人想到電影與科幻小說中常見會聊天、會煮飯還會突然間想毀滅人類取而代之的機器人形象。 究竟什么算作「智能」?若電腦能針對我們的問題準確地作回答、或學會下棋和泡咖啡,如此就能確定電腦擁有智能嗎?要怎么確定它真正擁有意識、理解情感? 當年AI技術尚未真正發(fā)展起來,哲學家與人文學家已就這個問題做過許多廣泛的討論。 根據(jù)這個問題,美國哲學家約翰.瑟爾(John Searle) 便提出了「強人工智能」(Strong AI)和「弱人工智能」(Weak AI) 的分類,主張兩種應區(qū)別開來。 強人工智能受到電影與科幻小說的影響,強調電腦將能擁有自覺意識、性格、情感、知覺、社交等人類的特征。 另一方面,弱人工智能主張機器只能模擬人類具有思維的行為表現(xiàn),而不是真正懂得思考。他們認為機器僅能模擬人類,并不具意識、也不理解動作本身的意義。 簡單來說若有一只鸚鵡被訓練到能回答人類所有的問題,并不代表鸚鵡本身了解問題本身與答案的意義。 在圖靈所提出的圖靈測試(Turing Test) 中,如果一臺機器與人類對話、而不被辨別出己方的機器身分時,便能宣稱該機器擁有智能。 Ex Machina 電影中由男主角對機器人進行Turing Test 的一幕。 這可以算是人工智能的一種檢測方式,然而強人工智能擁護者可能會反駁──表現(xiàn)出「智能」的行為不代表它真正擁有智能、了解對話的意義。 當然弱人工智能擁護者也可以反駁: 我們永遠不可能知道另一個人的想法,比如我在和一個人對話時、并不知道對方是否和我進行一樣的思考方式,因此我們不能否定這臺機器存在智能的可能。 是否有點類似莊子和惠子的子非魚安知魚之樂的對話了呢? 有興趣的讀者能再就上述問題持續(xù)深入討論思考。不過在電腦科學界,直至目前為止尚不須深入糾結在這個問題層面。電腦科學家在意的是──我們能用人工智能解決什么樣的問題。 1950 年代的電腦科學方起步,從科學家到一般大眾,都對于電腦充滿無盡的想像。 人工智能(Artificial Intelligence) 一詞最早是在1956 年舉辦于達特茅斯(Dartmouth) 的一場傳奇研討會,與會者包括了幾位當代數(shù)一數(shù)二的學者。 當時,全世界第一臺通用電腦EDVAC 問世剛滿十年,任何人只要看到過電腦的超強運算能力,想當然爾都會認為電腦有一天會比人類還聰明、甚至是超越人類的存在。 其中紐厄爾(Newell)、西蒙(Simon) 更當場展示了有「全世界第一個人工智能程式」之稱的邏輯理論家(Logic Theorist),這是一個會自動證明定理的程式。 在各界的高度期盼下,不但藝術界盛興相關題材,包括大導演弗里茨·朗(Fritz Lang)的大都會、科幻作家艾西莫夫(Isaac Asimov)的機器人三大法則等等,主流科學界也都預估20到30年左右的時間,便可以成功創(chuàng)造出與人類智能同樣高度的人工智能。 然而人工智能的研究很快便面臨了瓶頸。如果你有看過電腦是怎么來的?一文,你可以很明確地感受到──發(fā)明電腦的數(shù)學模型基礎和思想,是建立在邏輯運算上。 從康托爾的集合論、到希爾伯特的可數(shù)無限集、哥德爾不完備定理、圖靈以圖靈機來演繹哥德爾不完備定理… 等等,都是利用符號來表達的形式系統(tǒng),再用有限的數(shù)學式去證明這個系統(tǒng)不會出現(xiàn)矛盾。 … 可想而知,這使得當代人對于人工智能的研究方向也是以「邏輯符號推導」為出發(fā)點。解的問題包括利用Search Tree 來走出迷宮、或梵塔(Hanoi) 問題。 梵塔問題:傳說印度某間寺院有三根柱子,上串64 個金盤。寺院里的僧侶以下述規(guī)則,將這些盤子從第一根移動至第三根:
傳說當這些盤子移動完畢的那一刻,世界就會滅亡。 然而若傳說屬實,僧侶們需要步才能完成這個任務;若他們每秒可完成一個盤子的移動,就需要5849億年才能完成。整個宇宙現(xiàn)在也不過137億年。 不過若用電腦的遞回解,很快就能做完了。我們會在《簡單的演算法》系列第二集中和大家繼續(xù)探討這個問題。 第一次人工智能泡沫后,研究領域轉為「機器學習」然而問題來了──機器程序是由人類撰寫出來的,當人類不知道一個問題的解答時、機器同樣不能解決人類無法回答的問題。 另一個問題是當時電腦的計算速度尚未提升、儲存空間也小、數(shù)據(jù)量更不足夠。 對人工智能的研究方向局限于邏輯數(shù)學領域、加上硬件環(huán)境上的困境,使早期人工智能只能解一些代數(shù)題和數(shù)學證明,難以在實務上有所應用。 在1970 年代末時,一些知名研發(fā)計畫如紐厄爾和西蒙的「通用問題求解器」和日本政府領頭的「第五代電腦系統(tǒng)」達不到預期效果時,人工智能開始被人們視為一場現(xiàn)代煉金術,企業(yè)與政府紛紛撤資、研究基金被削減、多個計畫被停止,迎來了人工智能的第一場寒冬期。 雖然此時人工智能的研究邁入了瓶頸,但是電腦硬件卻是以指數(shù)型的方式進步。 1965 年Intel 創(chuàng)始人摩爾觀察到半導體晶片上的電晶體每一年都能翻一倍;到了1975 年,這個速度調整成每兩年增加一倍,電腦的運算能力與儲存能力同時跟著摩爾定律高速增漲。 如今,電腦的運算能力約為30年前的100萬倍。(此段介紹歡迎參考晶圓代工爭霸戰(zhàn):半導體知識一文) 我們上面提到,早期的人工智能研究聚焦在邏輯推論的方法,專注于模仿人類推理過程的思考模式,需要百分之百確定的事實配合,實務上應用困難。 但有沒有可能換一個思考模式,比如用統(tǒng)計概率學來處理人工智能的問題呢?假設一個命題為:「某個特定事件會發(fā)生嗎?」同樣是判斷「是」或「否」的二分法,數(shù)學邏輯的思考方式是證明TRUE 或FLASE。 但我們也能用概率來量化對于某些不確定命題的想法,想法改為:「我們可以多確定這個事件會發(fā)生?」確定的程度可以用0 到1 之間的數(shù)值來表示。 如果你一路讀完電腦科學領域的初始發(fā)展、知道圖靈、馮紐曼等巨頭,與紐厄爾等早期圖靈獎(電腦科學界最高榮譽) 得主的研究方向,到如今人們對于人工智能研究的思想轉變,會發(fā)現(xiàn)…… 這可是多大的突破! 此即為時下熱門的話題「機器學習」(Machine Learning)。 「機器學習」是一門涵蓋電腦科學、統(tǒng)計學、概率論、博弈論等多門領域的學科,從1980 開始蓬勃興起。 機器學習之所以能興起,也歸功于硬件儲存成本下降、運算能力增強(包括本機端與云端運算),加上大量的數(shù)據(jù)能做處理。 電腦從大量的資料中找出規(guī)律來「學習」,稱為「機器學習」,也是「資料科學」(Data Science) 的熱門技術之一。 最早研究機器學習的理論都是統(tǒng)計學家或概率學家所發(fā)表的,到后來電腦科學界的人發(fā)現(xiàn):「噢,這些理論可以幫助我們來解決一些問題!」又加進來研究,可以說是「資工+統(tǒng)計」的雙重Domain Knowhow。 另外,這也是為什么「機器學習」會被稱之為人工智能領域的一支。要實現(xiàn)人工智能的方式有很多,像早期的符號邏輯學也是人工智能的實踐方向。 所以說別再說現(xiàn)在紅的是「人工智能」啦!人工智能領域很多元也很廣泛,早在1950 年代就已經(jīng)紅過了。 什么是深度學習?機器學習的一個分支不過除了機器學習,最近常聽到的「深度學習」又是什么意思呢?類神經(jīng)網(wǎng)路、深度神經(jīng)網(wǎng)路和深度學習是不一樣的東西嗎? 雖然有點繞口令,不過請跟我念一次:機器學習是人工智能的一個分支。深度學習是機器學習的一個分支。 也就是說人工智能包在最外層、機器學習包在第二層、深度學習是第三層。 2013 年7 月,Google 收購了一家才創(chuàng)立一年、叫做DNNresearch 的公司。甚至,這家公司僅有三個人。為多倫多大學教授Geoffrey Hinton 教授和他的兩位學生。 是什么魔力,讓Google 愿意砸大錢在一家名不見經(jīng)傳的公司?你可能沒聽過DNNresearch、或不認識該公司的創(chuàng)辦人Geoffrey Hinton,但你不能不知道的事情是,Google 眼饞的、正是背后的深度學習(Deep Learning) 技術。 可以說后續(xù)AlphaGo 的出現(xiàn),除了主導研發(fā)的DeepMind 之外,還有Hinton 的協(xié)助。 什么是深度學習? 為何各產(chǎn)業(yè)為之風靡?這就讓我們來聊聊深度學習發(fā)展的前身「類神經(jīng)網(wǎng)路」(Neural Network) 啦。 在本文的前半段,我們只很簡單說明了,1950年代電腦發(fā)明的時候人類就寄望、能出現(xiàn)比人類運算能力更強、更聰明的機器出現(xiàn),稱為人工智能。在1950 年代以數(shù)理邏輯的為主要研究方向。 機器學習是由統(tǒng)計概率學、加上電腦科學方法的一個延伸學科,在數(shù)理邏輯研究方向失敗后,機器學習在1980 年代到2006 年間成為研究主流。 但機器學習的理論有很多,包括支援向量機(SVM)、決策樹(Decision Tree)、AdaBoost、隨機森林… 其中有一個分支在1980 年初的時候一度興起,叫「類神經(jīng)網(wǎng)路」(Artificial Neural Network)。 類神經(jīng)網(wǎng)路的衰頹、與淺層機器學習方法興起1943 年就有學者用數(shù)學模型來模擬生物大腦的神經(jīng)網(wǎng)路。這個研究后續(xù)分成了兩派,一派轉向了生物神經(jīng)學、一派轉向了人工智能。 1980 年代,當時的諾貝爾醫(yī)學獎得主研究了大腦內部的神經(jīng)回路而轟動一時。也讓科學家們對「模擬人類大腦的運算模型」抱持了高度期待。 1986年,Rumelhar 和Hinton 等學者提出了反向傳播算法(Back Propagation),解決了神經(jīng)網(wǎng)路所需要的復雜計算量問題,從而帶動了神經(jīng)網(wǎng)路的研究熱潮。 然而過了不久就發(fā)現(xiàn)反向傳播法遇到了瓶頸──反向傳播的優(yōu)化(找出誤差的最小值) 問題,使得神經(jīng)網(wǎng)路只要超過3 層以上就幾乎沒有效果。 由于本篇旨在講解人工智能發(fā)展簡史,關于什么是「反向傳播」、「誤差最小值」、「梯度消失」,會在日后另發(fā)一篇文講解類神經(jīng)網(wǎng)路原理,讀者只要先記得一個概念就好:此時的多層神經(jīng)網(wǎng)路宣告失敗。 如果神經(jīng)網(wǎng)路無法達到多層的運算,相較之下不如采用其它層數(shù)小于3 且效果又更好的機器學習算法,比如SVM、隨機森林等,此時SVM 火熱了一段時間,在垃圾信件分類上做得特別好。 同時間,學術界一度放棄類神經(jīng)網(wǎng)路的研究方向,甚至只要有論文或研究標明「Neural Network」,幾乎不愿意花心思閱覽或刊出。 2006 年HINTON 成功訓練多層神經(jīng)網(wǎng)路、稱為深度學習此時的Hinton 還很年輕,仍不離不棄對于神經(jīng)網(wǎng)路的研究。也正是這股熱情,使他整整力撐30 年、終于在2006 年找到了解方、提出限制玻爾茲曼機(RBM) 模型成功訓練多層神經(jīng)網(wǎng)路。 這帶來了類神經(jīng)網(wǎng)路模型復蘇的又一春。由于Neural Network 長久以來太過惡名昭彰,Hinton 決定把多層的神經(jīng)網(wǎng)路(Deep Neural Network) 重命名為深度學習(Deep Learning)。 (同時,他又用有點諷刺意味的說法,將Neural Network 以外、層數(shù)小于3 的機器學習方法,包括SVM 等稱為「淺層學習」(Shallow Learning),可能是想一雪長久以來被SVM壓在頭頂上的不爽吧(′_ゝ)... )
Hinton 因此被稱為「深度學習之父」。也就是說,這是一個勵志故事。當大家都放棄時、再撐30 年還是會有轉機的!(咳咳 盡管如此, Hinton 就算在2006 年就提出了RBM 模型,深度學習還是沒有紅起來。大家只是知道:「噢類神經(jīng)網(wǎng)路也不是完全沒用嘛?!褂捎诹曈诤鲆曇丫茫由线\算量過于龐大: 當時都是采用CPU 來運算。好不容易耗費5 天才終于跑完一個模型,結果發(fā)現(xiàn)有問題、改個模型參數(shù)又要再等5 天… 等真正訓練好的時候都已經(jīng)不知何日了。 只能說2006 年的突破只是帶來一絲曙光。真正的轉折點,還是要到2012年。那年10?,機器學習界發(fā)?了?項?事。 2012 年深度學習+GPU一戰(zhàn)成名,爆發(fā)人工智能熱潮ImageNet是全世界最大的圖像識別資料庫。每年,史丹佛大學都會舉辦ImageNet圖像識別競賽,參加者包括了Google、微軟、百度等大型企業(yè),除了在比賽中爭奪圖像識別寶座、同時測試自家系統(tǒng)的效能與極限。 其實從2007 年ImageNet 比賽創(chuàng)辦以來,每年的比賽結果、每家都差不多,錯誤率大致落在30%、29%、28%… 瓶頸一直無法突破。 結果2012 年Hinton 的兩個學生以SuperVision 的隊伍名參賽,以16.42% 的錯誤率遠勝第二名的26.22%。用的正是深度學習技術。 此景一出,大家都瘋了!從此爆發(fā)深度學習熱潮。Google 在2013 年人才收購了Hinton 和他的兩位學生,一堆企業(yè)爭相投入深度學習的研究領域。 2015 年的冠軍Microsoft ,已以3.5% 的錯誤率贏得冠軍,超越?類5%。發(fā)展可謂一日千里。 深度學習之所以在2006 年還沒真正火熱起來,問題在于硬件運算能力不足──傳統(tǒng)大家都是用CPU 來運算,然而速度緩慢。 深度學習會大量用到矩陣運算,最合適的硬件事實上是負責圖形處理的GPU。直到2012 年Hinton 的兩位學生利用「深度學習+ GPU」的組合,才真正發(fā)揮GPU 的威力。 但為什么這么長以來的時間,都沒有人用GPU 來運算呢?因為編譯有其難度。 我們之所以能用CPU 做運算,是因為CPU 有編譯器(Compiler) 這樣的設計,能讓工程師寫完程式后、經(jīng)過編譯器的轉譯、成為CPU 看得懂的機械碼。 然而一般GPU 并沒有類似的設計,因此工程師難以直接寫程式讓GPU 來運算。直到NVIDIA 在2006 – 2007 年間推出全新運算架構CUDA ——NVIDIA成為深度學習運算必用硬件的關鍵。 使用者可以撰寫C 語言、再透過CUDA 底層架構轉譯成GPU 看得懂的語言。 這也是自GPU 可以拿來做大規(guī)模運算的概念推出之后,首次可以讓人使用C 語言來運用GPU 蘊藏已久的強大運算能力,故NVIDIA 從GeForce 8 系列之后的顯示卡全開始支援CUDA 技術。 而CUDA 的成功,更直接導致了深度學習的運算全部都使用NVIDIA 家的GPU。這種驚人的影響力,不論是深度學習、機器學習、自動車、虛擬實境(VR)、電競游戲,每一項都跟NVIDIA 習習相關。 這也讓NVIDIA 的GPU 從此一飛沖天,股價也隨之高漲──NVIDIA 從去年12 月開始連續(xù)9 個交易日創(chuàng)歷史收盤新高、到年底為止?jié)q幅高達255.95%。MarketWatch 也報導,NVIDIA 是2016 年S&P 500 指數(shù)表現(xiàn)最好的成分股。 2016 年8月,NVIDIA 在其每年舉辦的GTC 大會上(GPU Technology Conference,俗稱老黃的傳教大會),執(zhí)行長黃仁勛強調NVIDIA 在人工智能領域上的深耕、能提供最完整的軟硬件解決方案。 整場大會以深度學習為重要主角,同時宣布推出全世界第一個專門用來運算深度學習的超級電腦——DGX-1 伺服器,售價129,000美金。 今年5 月,NVIDIA 再度宣布推出全新DGX 工作站,最大賣點莫過于搭配了采用Vota 架構的Tesla V100,可在單臺系統(tǒng)內,搭配四臺Tesla V100,提供相當于400 顆CPU 的效能。 今天,我們講解了人工智能、機器學習和深度學習的由來。再幫大家回顧一次這張圖:
|
|
來自: 網(wǎng)摘文苑 > 《人工智能》