當前位置:
首頁 > 最新 > 「深度學習」與工匠技藝

「深度學習」與工匠技藝

作者:謝耘博士

2018/3/22

1

今天,大數據、人工智慧等概念由於商業炒作等多方面的原因,已經變得模糊不清了。許多具體的技術也被罩上了奪目的光環,或有意被賦予了能夠引發奇妙想像的名字,如「深度學習」。

任何事物只有放在它所存在的環境中,才能準確理解它的本質。下面我們從科學到應用的這個鏈條上,來看一下信息技術產業中的不同要素各自處於什麼樣的位置。為了不陷入不必要的細節而又能揭示本質,我們將這個鏈條分為五個環節:科學原理,基礎共性技術,具體應用技術,基礎系統原理/技術及具體應用系統,見下圖:

圖:信息技術從科學原理到應用系統

科學原理是對基本運動規律的認識總結,而技術是對規律的運用。所以新的科學原理的提出,常常會對社會產生深刻而廣泛的影響。正因為科學原理的意義如此之大,所以「科學」這個詞也常常被盜用。許多技術性的產出,也被帶上了「科學」這個帽子。在計算機領域,圖靈機與計算複雜性理論基本上屬於科學原理這個範疇。也正因為如此,計算機學科才被冠以了「科學」的稱謂,雖然對此並非沒有異議。

從根本上看,人工智慧熱潮(在90年代)的冷卻,是因為人們在人工智慧領域經過了幾十年的努力,沒有能夠理解一般意義上的智能過程的本質,因而也就沒有能夠取得科學意義上的原理性突破,在理論上抽象出類似數字基本計算那樣的基本智能操作,用以支撐更為高級複雜的智能過程。所以人工智慧領域的產出,雖然豐富而且在應用領域影響巨大,但是卻始終沒有達到科學原理的高度。因而「人工智慧」至今只能委身於計算機學科而無法獨立存在。

在一個產業中,會有一些基礎性共性技術,有時也被成為核心技術,它們支撐著整個產業。在信息技術產業中,操作系統、資料庫、集成電路等就屬於這個層面的技術。這些技術的進步,對整個產業的影響也是全局性的。正是集成電路技術的進步,使得計算機擁有了「暴力計算」能力,促成了2010年前後整個信息技術產業發生了歷史性的轉折。人工智慧領域不僅沒有科學原理層面的成果,而且至今也沒有能夠產生支撐一個產業的基礎共性技術,不論我們給那些技術/方法起個什麼樣的名字。

在基礎共性技術之上,還有面向不同問題的具體應用技術去解決不同類型的問題。在這個層面,我們才遇到了「人工智慧」的蹤影。當人們意識到我們沒有能力用一些普適的基本邏輯化規則或機制去有效地解決各種『智能問題』時,人工智慧的研究便扎入到了各種具體的問題之中。針對不同類型的問題,發展出了花樣繁多的解決方法,也取得了很大的進展。也正因為如此,人工智慧目前更多地是被當成了一些具體的應用工具方法,融入到了不同類型的應用之中,以自己具體的技術性名稱出現,默默無聞地發揮著自己的作用。這些年關於人工智慧的一本經典的教科書的名字是『人工智慧---一種現代方法』,……它的副標題『A Modern Approach』就是指試圖採用『智能體』(Agent)的概念將人工智慧在各個不同領域中的方法整合到一個統一的框架之中。其實,用智能體這個概念整合與人工智慧相關的技術方法,也是沒有辦法的辦法,顯示出了這個領域的一種無奈的現實:只有實用的一些具體技術方法,缺少科學原理或基礎共性技術的支撐,也沒有基礎性系統級的有效理論。這些年被熱捧的「深度學習」,也是具體技術這個層面的技術。

02

深度學習:大家現在把「深度學習」的功勞主要歸功於Geoffrey Hinton(1947—,認知心理與計算機科學家,多倫多大學任職)。他從事人工神經網路研究30多年,不論潮起潮落,矢志不渝。在苦熬了30多年後的2004年,他領導的團隊得到了加拿大高等研究院(CIFAR)為期10年共1000萬加元的支持。據說這是當年全球唯一對人工神經網路研究的上規模的資金支持。當時參與這個計劃的主要成員還有:蒙特利爾大學的Yoshua Bengio,紐約大學的Yann LeCun(楊立昆,Hinton當年的博士後),斯坦福大學的Andrew Ng(吳恩達),加州大學伯克利分校的Bruno Olshausen等學者。

僅僅用「反傳」(BP)演算法來訓練人工神經網路,當網路的隱含層多於一層以上後,訓練效果明顯變差。所以後來人工神經網路只能用來解決一些比較簡單的非線性分類性質的問題。Yoshua Bengio說:「從2005年開始,由CIFAR支持的一些工作不斷取得突破。2006年時,我們找到了訓練深層網路的演算法,所用到的技巧就是逐層訓練」(Yoshua Bengio, 「深度學習:人工智慧的復興」,《環球科學》(《科學美國人》中文版),2016年7月)。所以「深度學習」是指用多層(目前的應用常常達到幾十到上百層)人工神經網路來對數據(訓練樣本)進行學習的方法。在這些演算法中,BP演算法(或者說梯度下降演算法)依然扮演著基礎性的角色,但是不同的演算法融入了不同的其它方法與技巧,用於到達不同的效果。之所能夠訓練「深度」網路,不僅僅是演算法與技巧有了改進,還要仰仗計算機的「暴力計算」能力才行。沒有「暴力計算」能力,如此「深度」的學習是完全不可能的,甚至都不會有人有興趣去研究那些「奇技淫巧」般的演算法技巧。「深度學習」中使用幾十、甚至上百層的網路的做法,是否讓我們想起了在第二章第六節中提到的計算機越來越依靠「粗暴」的方法去解決問題?但是,如果考慮到人腦的神經元是以百億來計算的,這種「粗暴」也並非是沒有道理的「野蠻」。

Hinton與其他學者於2006年分別在《Neural Computation》與《Science》上聯合發表了「A FastLearning Algorithm for Deep Belief Nets」與「Reducing theDimentionality of Data with Neural Networks」的論文,它們被認為是「深度學習」崛起的先聲。但是讓他們的工作真正產生影響力,讓人工智慧「滿血復活」、「深度學習」名揚天下的並非是這些論文,而是後來Hinton帶領學生參加了2012年的ImageNet Large Scale Visaul Recognition Challenge大賽。在此之前,參賽者的最好成績是圖像識別錯誤率為25.7%。2012年Hinton與他兩個研究生AlexKrizhevsky, Illya Sutskever使用了一個有八層結構、六十五萬的神經元,六千萬個可調參數的卷積神經網路,將識別錯誤率降到了15.3%,第二名的錯誤率是26.2%。當時其他參賽團隊使用的都是非神經網路的、從科學的角度來看更加嚴謹完備的支持向量機(SVM)技術。用Yoshua Bengio的話來說,這次突破是基於將「以前存在的各種零碎的方法整合在了一起。」

2012年10月23日因ImageNet大賽「深度學習」一鳴驚人,人工智慧「死而復生」。這與計算機歷史性地獲得了「暴力計算」能力,由此開啟智能化時代的時間點高度吻合。這是人工神經網路方法20多年來在圖像識別領域第一次以無可置疑的優勢超越了其它的技術方法。隨後「深度學習」各種改進技巧不斷出現,到了2015年在中國的微軟亞洲研究院團隊在這個比賽中使用了152層的網路,引入了「深度殘餘學習」的技巧(由於他們的網路深度太大,為了避免有效信息在逐層處理中損失過大,他們做了一些神經元跨層級的連接),將錯誤率降到了3.57%,首次超過了自然人的錯誤率。

「深度學習」這個概念也並沒有嚴格的定義。通常規模「足夠大」、層數「足夠多」的神經網路模型,都被人為是「深度學習」網路。它包括了深度信念網路、卷積神經網路、循環與遞歸網路等等多種不同的具體網路模型與相應的演算法。

03

深度信念網路(Deep Belief Networks,DBN)是第一批成功應用深度學習架構訓練模型之一,它也因Hinton在2006年的相關論文而成為了深度學習崛起的代表。Hinton用它向人們展示了我們可以通過逐層設定目標、逐層訓練而構造出一個深層的神經網路,並且用它來有效地解決一些問題。DBN是由多個受限玻爾茲曼機(RBM)相鄰彼此重疊一層級聯而成為一個「深度」網路。每一個RBM採用無監督學習。與卷積網路層間部分連接不同,深度信念網路是層間全連接的。一個訓練好的DBN可以作為一個概率生成網路來使用,也可以用來為分類網路做參數的初始化優化設置,有效改善分類網路的學習效果。隨著其它無監督學習及生成學習演算法的發展,深度信念網路已經較少被使用了,在某種程度上它成為了「深度學習」的「先烈」。

卷積網路(Convolutional Neural Networks,CNN)是第一個在解決實際問題中有出色表現的深度學習神經網路模型。將卷積運算引入到人工神經網路中來在上個世紀80年代就出現了,這種結構是受大腦的視覺神經系統結構過程的啟發而來。它是一種分層前饋、以有監督學習為主的神經網路。這種網路中主要採用兩個並不複雜的數學方法,一個是用輸入比較少的、可以提取不同局部特徵的「核函數」對輸入做離散卷積運算(從網路結構的視角看,實際上就是通過兩層神經元之間的網路連接的設計實現的),這也是這種模型名稱的來源;另外一個技巧就是「池化」。它與卷積運算有類似的地方,也是對較少的局部神經元的輸入做相應的處理形成輸出這兩種方法都是採取某種處理方式對局部數據做處理,然後在整個輸入數據集上重複同樣的操作計算。除了處理演算法的技術特徵外,它們都能夠大幅降低深度學習的運算量。卷積網路在許多領域都有出色的表現,其最成功的應用領域就是在二維圖像的處理上。這個結果很正常,因為它就是受啟發於大腦的視覺過程而出現的。

循環神經網路(Recurrent Neural Networks,RNN)也是多層的神經網路,但是它的部分神經元具有狀態記憶存儲,因而是一種「動力學」系統,處理起來要比無記憶的靜態網路複雜很多。循環神經網路也是在上個世紀80年代就出現了。它的學習也是以有監督為主,用於對時空動態序列型數據做處理,典型的應用就是做語音數據處理。相比之下,卷積神經網路則是一種無狀態記憶的靜態網路。

深度學習中不同的模型方法並不是互斥的,在實際應用中,不同的模型、演算法與技巧,也包括那些非深度學習的方法技巧如支持向量機,常常根據問題的特點被整合在一起來解決特定的問題。

不論是哪一類「深度學習」網路,實際上都是以計算機的「暴力」計算能力為基礎,用大規模的、含有多個隱含層、高達千萬以上的可調參數的非線性人工神經網路,使用特定的有監督或無監督的「學習/訓練」演算法或它們的組合,通過對大量樣本的統計處理,實現對這些參數的調整,從而通過非線性變換完成對輸入數據特徵的提取、信息表達的變換以及後續的分類、預測等功能。它們是解決特定類型問題的一些具體的方法與技巧,而不是具有像人那樣的一般意義上的學習的能力,儘管「深度學習」這個名字確實引發了許多不了解這個技術的人的這方面的想像。「深度學習」這個詞中的「深」指的是使用的神經網路的層級很多,並非是一般學習意義上的「深」。其實,信息技術領域內的絕大部分技術,包括與大數據分析相關的方法/技術,基本都屬於技術體系中的這個解決具體問題層面的技術,而且它們也都屬於輔助與延伸智能性質的技術。所以,大數據分析、人工智慧方法與其它的技術彼此的界限日益模糊。

04

信息技術中這些解決具體問題的「智能」性實用技術,包括「深度學習」(人工神經網路),常常是有強烈實驗性成分的方法技巧,在應用於一個新的具體問題之前,我們無法確定它是否能夠有效地解決這個問題,或者能夠將問題解決到什麼程度。

正因為如此,以深度學習為例,在《深度學習》(【美】伊恩·古德費洛等著,MITPress出版,2016年)這本被認為是「深度學習」領域奠基性的經典教材中,作者為了闡述深度學習的這種實驗性特徵,專門在第二部分設置第11章來討論這個問題,它的題目取為「實踐方法論」。在這一章的開頭,作者寫了這樣一段話:「要成功地使用深度學習技術,僅僅知道存在哪些演算法和解釋它們為何有效的原理是不夠的。一個優秀的機器學習實踐者還需要知道如何針對具體應用挑選一個合適的演算法以及如何監控,並根據實驗反饋改進機器學習系統。在機器學習系統的日常開發中,實踐者需要決定是否收集更多的數據、增加或減少模型容量、添加或刪除正則化項、改進模型的優化、改進模型的近似推斷或調整模型的軟體實現。嘗試這些操作都需要大量時間,因此確定正確的做法而不盲目猜測尤為重要。」這段話比較完整地揭示了深度學習這個具體技術的實驗性特徵。我們在前面提到的Yoshua Bengio也是這本書的作者之一。

作為一個具體的例子,我們在前面提到過「深度殘餘學習」的技巧。它是對嚴格分層網路連接的一種局部改動,利用一些跨層級的連接來保證「有用」的信息不會在「深度」網路中過早地衰減而影響網路的性能。但是這種連接如何設置才更合理,則沒有精確嚴格的普適性理論原理來支撐,主要靠自己的經驗直覺去嘗試。

Gary Marcus在2018年1月2日發表的引起很大爭議的文章「Deep Learning: A Critical Appraisal」(arXiv.org,2018年1月2日)中提出了深度學習的十個局限,其中第十個「Deep learning thus far is difficult to engineer with」指的也是這個問題---「深度學習」還只是一個就事論事的方法,沒有辦法作為一個標準普適的有效的工程方法被用來去有效地解決不同的問題。換句話來說,以深度學習為代表的人工智慧方法,更類似於傳統的工匠技藝,而不是現代工程師使用的工程化普適方法。

人工智慧的這種狀態多少有點像傳統領域在現代科學出現以前,人們通過經驗摸索,也能夠設計製造出很多不同類型的精巧工具來解決各種具體的問題的狀況。而具體的實用技術再豐富精妙,也未必能夠產生出更深一層的原理性、普適性的成果。中國歷史上無數的能工巧匠都沒有能夠讓中國趕上現代科技發展的潮流,就說明了這個問題。它映襯出伽利略與牛頓為人類打開現代科學之門的開創性貢獻,遠遠不是過去人類實用技術積累的必然結果。工匠的技能再高,也不會必然導致他成為有科學理論指導的工程師。

不過不同的人對此還是有不同的看法。所以在2018年初,Gary Marcus與Yann LeCun等人就「深度學習」與「人工智慧」技術在網上發生了激烈的公開爭論。不過這也正常。超級牛人愛因斯坦至死對量子力學的看法也與波爾向左。但是不論怎麼爭論,人工智慧至今都無法在現代科技體系中成為一個獨立的學科是一個基本的事實。從這個事實出發去理解一些問題可就能不會離真實情況想去太遠。

當然我們完全可以大開腦洞,反過來問一個問題:「人工智慧需要成為一個在傳統科學意義上的學科嗎?」歷史的跨越,常常發生在基本概念的顛覆之上。也許計算機的「暴力計算」正在推動科學技術的內涵與外延發生著我們尚未察覺的質變。或許,人類在科技領域的發展,走過了從工匠技藝到科學理論與工程方法的飛躍之後,在信息技術這個輔助與延伸智能工具的推動下,會形成一個否定之否定,進入到一個在科學技術基礎上由新一代工匠技藝主導的「高科技大眾化」的「發展新階段」?

謝耘博士簡介:謝耘博士,首都科技領軍人才,清華大學電子工程系博士。著有《我的職場十年》、《成長——從校園到職場》、《轉折——眺望IT巔峰 》。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 慧影Cydow 的精彩文章:

TAG:慧影Cydow |