全面連接困何處,卷積網路見解深(深度學習入門系列之九)
系列文章:
一入侯門「深」似海,深度學習深幾許(深度學習入門系列之一)
人工「碳」索意猶盡,智能「硅」來未可知(深度學習入門系列之二)
神經網路不勝語,M-P模型似可尋(深度學習入門系列之三)
「機器學習」三重門,「中庸之道」趨若人(深度學習入門系列之四)
Hello World感知機,懂你我心才安息 (深度學習入門系列之五)
損失函數減肥用,神經網路調權重(深度學習入門系列之六)
山重水複疑無路,最快下降問梯度(深度學習入門系列之七)
BP演算法雙向傳,鏈式求導最纏綿(深度學習入門系列之八)
在前面的文章中,我們介紹了反向傳播(Back Propagation,簡稱BP) 演算法,在本質上,BP演算法是一種全連接神經網路。BP演算法也有很多成功的應用,但只能適用於「淺層」網路,因為「膚淺」,所以也就限制了它的特徵表徵能力,進而也就局限了它的應用範圍。
為什麼它難以「深刻」呢?在很大程度上問題就出在它的「全連接」上。難道「全連接」不好嗎?它更全面啊,難道全面反而是缺陷?
我們暫時不討論這個問題,等讀者朋友閱讀完本專題的系列文章之後,答案自然就會瞭然於胸。在本章,我們討論一種應用範圍更為廣泛的網路——卷積神經網路(Convolutional Neural Network,簡稱CNN),它在圖像、語音識別等眾多任務(比如GoogleNet、微軟的ResNet等)上發揮神勇,近幾年深度學習大放異彩,CNN可謂是功不可沒,拔得頭籌。
可為什麼CNN能這麼生猛呢?答案還得從歷史中追尋。著名人類學家費孝通先生曾指出[1],我們所謂的「當前」,其實包含著從「過去」歷史中拔萃出來的投影和時間選擇的積累。歷史對於我們來說,並不是什麼可有可無的點綴之飾物,而是實用的、不可或缺的前行之基礎。
下面我們就先聊聊卷積神經網路的歷史脈絡,希望能從中找到一點啟發。在回顧歷史之前,我們先嘗試思考這樣一個「看似題外話而實則不然」的問題:為什麼幾乎所有低級動物的雙眼都是長在頭部兩側?
9.1眼在何方?路在何方?
的確,如果你仔細觀察,低級動物的雙眼大多都長在兩側。從進化論的角度來看,「物競天擇,適者生存」。大自然既然這麼安排,自然有它的道理。其中一個解釋就是,那些低級動物正是因為這樣的「造物安排」,所以能夠同時看到上下左右前後等各個方向,從而就不存在視覺盲區。這確實是一種極為安全的配置,有了安全性,它們才能更好地在地球上生存。
可這樣的配置又有什麼局限呢?相比於低級動物,人的雙眼可都是長在面部前方的。這樣的配置,肯定不能全方位地觀察周遭的一切,這豈不是很糟糕?但事實上是,只有人類進化成為這個地球上最為「高級」的動物。
有人是這樣解釋的(這個解釋的意義可能更多的是來自於意象上的,而非生物學的,所以讀者也無需死磕):低級動物無死角的眼睛配置,雖然能夠更全面的關注周圍,但副作用卻在於,它們沒辦法把自己的目光集中在某一處,自然也沒有辦法仔細、長期地觀察某個點,於是它們也就不可能進化出深入思考的能力。而人類卻因為眼睛的缺陷(接受了視野中的盲區)而能注視前方,從而能給出觀察事物的深刻洞察(Insight)。「高級」動物就是這麼「練就」出來了。
換句話說,膚淺的全面觀察,有時候還不如局部的深入洞察。想一想,那個著名的蝴蝶效應(The Butterfly Effect)是怎麼回事,它以「統籌全局」的視角來解釋天氣的變化:亞馬遜雨林一隻蝴蝶翅膀偶爾振動,也許兩周後就會引起美國得克薩斯州的一場龍捲風。可現實生活中,又有誰真的用「蝴蝶效應」來解決過天氣變化問題了呢?我們還不是揮起一把芭蕉扇,利用局部的空氣流動,來讓自己在酷暑之下獲得一絲絲涼意?
可這,和我們今天的主題——卷積神經網路又有什麼聯繫呢?當然有聯繫,這個聯繫體現在方法論層面,且聽我慢慢道來。
9.2卷積神經網路的歷史脈絡
我們知道,所謂動物的「高級」特性,體現出來的是行為表象。更深層地,它們也會體現在大腦皮層的進化上。1968年,神經生物學家大衛?休伯爾(David Hunter Hubel)與托斯坦?威澤爾(Torsten N. Wiesel)在研究動物(先後以貓和人類的近親——猴子為實驗對象)視覺信息處理時,有了兩個重要而有趣的發現[1]:(1)對於視覺的編碼,動物大腦皮層的神經元實際上是存在局部的感受域(receptive field)的,具體說來,它們是局部敏感且具有方向選擇性(論文如圖9-1所示)。(2)動物大腦皮層是分級、分層處理的。在大腦的初級視覺皮層中存在兩種細胞:簡單細胞(simple cell)、複雜細胞(complex cell)和超複雜細胞(hyper-complex cell),這些不同類型細胞承擔不同抽象層次的視覺感知功能。
圖·9-1休伯爾與威澤爾的經典論文
正是因為這些重要的生理學發現,使得休伯爾與威澤爾二人獲得了1981 年的諾貝爾醫學獎。而這個科學發現的意義,並不僅僅局限於生理學,它也間接促成了人工智慧在五十年後的突破性發展。
休伯爾等人的研究成果對人工智慧啟發意義在於,人工神經網路的設計可以不必考慮使用神經元的「全連接」模式。如此一來,就可以大大降低神經網路的複雜性。受此理念的啟發,1980年日本學者福島邦彥(Fukushima)提出了神經認知機(neocognitron,亦譯為「新識別機」)模型[3],這是一個使用無監督學習訓練的神經網路模型,其實也就是卷積神經網路的雛形(論文如圖9-2所示)。從圖2中可以看到,neocognitron借鑒了休伯爾等人提出的視覺可視區(visual area)分層和高級區關聯等理念。
圖9-2 神經認知機的論文
自此之後,很多計算機科學家先後對「神經認知機」做了深入研究和改進,但其效果卻不盡人意。直到1990年,在AT&T貝爾實驗室工作的Yann LeCun等人,把有監督的反向傳播(BP)演算法應用於福島邦彥等人提出的架構,從而奠定了現代CNN的結構[4]。
相比於傳統的圖像處理演算法,LeCun等人提出的CNN,避免了對圖像進行複雜的前期處理(即大量的人工圖像特徵提取工作),也就是說,CNN能夠直接從原始圖像出發,經過非常少的預處理,就能從圖像中找出視覺規律,進而完成識別分類任務,其實這就是端到端(end-end)的含義。在手寫郵政編碼的識別問題上,LeCun等人把錯誤率整到5%左右(論文如圖9-3所示)。有了嚴格的理論基礎,並有成功的商業案例應用為之站台,一下子就讓卷積神經網路學術界和產業界引爆。
圖9-3 LeCun等人利用卷積神經網路識別手寫郵政編碼
LeCun其實也挺「自戀的」,他把自己的研究工作命名為 LeNet,幾經版本的更新,最終定格為LeNet 5。在當時,LeNet 架構可謂是風靡一時,但它的核心業務主要用於字元識別任務,比如前文提到的讀取郵政編碼、數字等。
可問題來了,從1990年到現在,小30年過去了。為什麼30年前的技術,到現在突然又以深度學習的面目重新火爆起來了呢?
對於深度學習,吳恩達先生有個形象的比喻:深度學習的過程就猶如發射火箭。火箭想「發飆」,得依靠兩法寶:一是發動機,二是燃料。而對深度學習而言,它的發動機就是「大計算」,它的燃料就是「大數據」。
而在30年前,LeCun等人雖然提出了CNN,但其性能嚴重受限於當時的大環境:沒有大規模的訓練數據,也沒有跟得上的計算能力,這導致了當時CNN網路的訓練過於耗時且識別效果有上限。
而與LeCun同在一個實驗室的「老冤家」Vapnik(萬普尼克),提出並發揚光大了支持向量機 (Support Vector Machine,簡稱SVM)。這個SVM很了不起,在1998年,就把LeCun等人同類任務的識別錯誤率一下子降到低至0.8%,遠超同期的卷積神經網路。就這樣,在SVM的崛起中,神經網路研究沉寂於一個新的低潮!
有人把「Yann LeCun」的中文名稱翻譯成「嚴樂春」。的確,「三十年河東,三十年河西」,當「大計算」和「大數據」不再是問題的時候,嚴樂春用了三十年迎來了自己的又一「春」。當前,嚴樂春以深度學習大牛的身份出席各大會議,做了一場又一樣的主題報告(keynote speech),他用自己的親身經歷,生動地演繹了「形勢比人強」。
LeCun 提出的LeNet,在推進深度學習的發展上可謂是功不可沒,其結構如圖4所示。其精華大致體現在3個核心操作和3個概念。3個核心是指:卷積(Convolution)、池化(Poling)和非線性處理(ReLU)。三概念是指:局部感受域(Local receptive filed)、權值共享(Weight sharing)和亞採樣(Subsampling)。
圖9-4 CNN的基本結構
在後面的章節中,我們會對這些概念一一進行生動形象地介紹,敬請關注。
9.3 小結與思考
在本節中,我們主要回顧了卷積神經網路的發展史,從歷史的脈絡中,我們可得出一個意象上的結論:深而洞察的專註可能要勝過廣而膚淺的觀察。這也從方法論上部分解釋了「深度學習」的成功所在。
進一步地,請你思考如下問題,人類雙眼的布局其實是有缺陷的,因為它帶來不安全。李笑來先生認為,人只有放棄了部分的安全感,才能獲得進步。為了彌補這方面的缺陷,人們可以通過有效的社交和協作將缺點逆轉為優勢。
社交進而催生出社群,但社群數量超過150人,人們單純的社交就顯得無能為力了。新銳歷史學家尤瓦爾·赫拉利在《人類簡史》中表明觀點,人類需要通過「講故事」的方式來完成大規模的協作。你認可這個觀點嗎?為什麼?
留言寫下你的感悟,祝你每天都有收穫。
參考文獻
[1] 費孝通.鄉土中國.北京大學出版社.2012年10月
[2] Hubel D H, Wiesel T N. Receptive fields and functional architecture of monkey striate cortex[J]. The Journal of physiology, 1968, 195(1): 215-243.
[3] Fukushima K, Miyake S. Neocognitron: A self-organizing neural network model for a mechanism of visual pattern recognition[M]//Competition and cooperation in neural nets. Springer, Berlin, Heidelberg, 1982: 267-285.
[4] LeCun Y, Boser B E, Denker J S, et al. Handwritten digit recognition with a back-propagation network[C]//Advances in neural information processing systems. 1990: 396-404.
文章作者:張玉宏,著有《品味大數據》一書。審校:我是主題曲哥哥。
※分散式HTAP資料庫PetaData——OLTP與OLAP一站式解決方案
※獨家:阿里巴巴DevOps落地實踐玩法及思路解析
※阿里雲高性能時序資料庫 HiTSDB 啟動公測,為物聯網而生的資料庫!
※雲戰略下的安全思維轉型與新認知
※做實景導航的有福了!ARKit增強現實版實景導航開源
TAG:雲棲社區 |
※深度全解卷積神經網路
※深度學習入門指南!六步構建深度神經網路
※全連接網路到卷積神經網路逐步推導
※掌握神經網路,入門深度學習
※基於深度卷積網路進行諷刺檢測
※深度學習神經網路方法獲改進
※機器學習、深度學習、神經網路、深度神經網路之間有何區別?
※自己動手寫深度學習模型之全連接神經網路
※深度揭秘網路賭博陷阱
※深度卷積神經網路演化歷史及結構改進脈絡-40頁長文全面解讀
※江湖秘笈:戲說三國之三級等保篇 忽視網路邊界完整性的檢查工作等於將安全隱患直接引入到網路中來
※深度學習與神經網路概述
※專家解讀:積極推動網路安全軍民融合深度發展
※網路直播將向何處去
※深度學習還是之前的神經網路嗎?
※淺析深度神經網路遷移方法
※一文看懂:深度神經網路加速和壓縮新進展年度報告
※如何用張量分解加速深層神經網路?
※用於單目深度估計的深度有序回歸網路
※利用深層卷積神經網路增強進化耦合