一文帶你瞭解卷積神經網路CNN的發展史

AMiner學術頭條發表於2019-05-27

卷積神經網路(Convolutional Neural Network, CNN)是一種前饋神經網路,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,對於大型影象處理有出色表現。

卷積神經網路由一個或多個卷積層和頂端的全連通層(對應經典的神經網路)組成,同時也包括關聯權重池化層(pooling layer)。這一結構使得卷積神經網路能夠利用輸入資料的二維結構。與其他深度學習結構相比,卷積神經網路在影象和語音識別方面能夠給出更好的結果。這一模型也可以使用反向傳播演算法進行訓練。相比較其他深度、前饋神經網路卷積神經網路需要考量的引數更少,使之成為一種頗具吸引力的深度學習結構。

本文主要介紹了一些CNN的歷史進展。

一文帶你瞭解卷積神經網路CNN的發展史

1962年 Hubel和Wiesel

卷積神經網路的發展,最早可以追溯到1962年,Hubel和Wiesel對貓大腦中的視覺系統的研究。

一文帶你瞭解卷積神經網路CNN的發展史Hubel和Wiesel(圖片來源:harvard brain tour)

20世紀60年代初,David Hubel和Torsten Wiesel從約翰霍普金斯大學和Steven Kuffler一起來到哈佛大學,在哈佛醫學院建立了神經生物學系。他們們在論文《Receptive fields, binocular interaction and functional architecture in the cat's visual cortex》中提出了Receptive fields的概念,因其在視覺系統中資訊處理方面的傑出貢獻,他們在1981年獲得了諾貝爾生理學或醫學獎。

Hubel和Wiesel記錄了貓腦中各個神經元的電活動。他們使用幻燈機向貓展示特定的模式,並指出特定的模式刺激了大腦特定部位的活動。這種單神經元記錄是當時的一項創新,由Hubel早期發明的特殊記錄電極實現,他們通過這些實驗系統地建立了視覺皮層的地圖。

論文地址:https://www.aminer.cn/archive/receptive-fields-binocular-interaction-and-functional-architecture-in-the-cat-s-visual-cortex/55a5761e612c6b12ab1cc946

1980年 福島邦彥

1980年,日本科學家福島邦彥在論文《Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position》提出了一個包含卷積層、池化層的神經網路結構。

一文帶你瞭解卷積神經網路CNN的發展史

老人家現在已經退休了,被譽為“八十多歲仍在奮鬥的全球人工智慧專家”。除了後來發展出卷積神經網路的Neurocognition(認知控制),現在深度學習中開始熱鬧起來的Attention(注意力)網路背後也有他的身影,他也在上世紀80年就提出過Attention概念和網路。

1998年 Yann Lecun

1998年,在這個基礎上,Yann Lecun在論文《Gradient-Based Learning Applied to Document Recognition》中提出了LeNet-5,將BP演算法應用到這個神經網路結構的訓練上,就形成了當代卷積神經網路的雛形。

一文帶你瞭解卷積神經網路CNN的發展史(圖片來源:Forbes)原始的CNN效果並不算好,而且訓練也非常困難。雖然也在閱讀支票、識別數字之類的任務上很有效果,但由於在一般的實際任務中表現不如SVM、Boosting等演算法好,一直處於學術界邊緣的地位。

論文地址:https://www.aminer.cn/archive/gradient-based-learning-applied-to-document-recognition/53e9b85bb7602d970441f6c2

2012年 Hinton組

直到2012年,Imagenet影象識別大賽中,Hinton組的論文《ImageNet Classification with Deep Convolutional Neural Networks》中提到的Alexnet引入了全新的深層結構和dropout方法,一下子把error rate從25%以上提升到了15%,顛覆了影象識別領域。

一文帶你瞭解卷積神經網路CNN的發展史

Alexnet有很多創新點,但現在看來是一項非常簡陋的工作。他主要是讓人們意識到原來那個福島邦彥提出,Yann Lecun優化的Lenet結構是有很大改進空間的;只要通過一些方法能夠加深這個網路到8層左右,讓網路表達能力提升,就能得到出人意料的好結果。

論文地址:https://www.aminer.cn/archive/imagenet-classification-with-deep-convolutional-neural-networks/53e9a281b7602d9702b88a98

順著Alexnet的思想,Lecun組2013年提出一個Dropconnect,把error rate提升到了11%。而NUS的顏水成組則提出了Network in Network,NIN的思想是CNN原來的結構是完全可變的,然後加入了一個1*1conv層,NIN的應用也得到了2014年Imagine另一個挑戰——影象檢測的冠軍。Network in Network的思想是CNN結構可以大膽去變化,由此,Inception和VGG在2014年把網路加深到了20層左右,影象識別的error rate也大幅提升到6.7%,接近人類的5.1%。

2015年,MSRA的任少卿、何凱明、孫劍等人,嘗試把identity加入到神經網路中。最簡單的Identity卻出人意料的有效,直接使CNN能夠深化到152層、1202層等,error rate也降到了3.6%。後來,ResNeXt, Residual-Attention,DenseNet,SENet等也各有貢獻,各自引入了Group convolution,Attention,Dense connection,channelwise-attention等,最終Imagenet上error rate降到了2.2%,完爆人類。現在,即使手機上的神經網路,也能達到超過人類的水平。

而另一個挑戰——影象檢測中,也是任少卿、何凱明、孫劍等優化了原先的R-CNN, fast R-CNN等通過其他方法提出region proposal,然後用CNN去判斷是否是object的方法,提出了faster R-CNN。Faster R-CNN的主要貢獻是使用和影象識別相同的CNN feature,發現那個feature不僅可以識別圖片是什麼東西,還可以用來識別圖片在哪個位置!也就是說,CNN的feature非常有用,包含了大量的資訊,可以同時用來做不同的task。這個創新一下子把影象檢測的MAP也翻倍了。

在短短的4年中,Imagenet影象檢測的MAP從最初的0.22達到了最終的0.73。何凱明後來還提出了Mask R-CNN,給faster R-CNN又加了一個mask head。即使只在train中使用mask head,但mask head的資訊傳遞迴了原先的CNN feature中,因此使得原先的feature包含更精細的資訊。由此,Mask R-CNN得到了更好的結果。

何凱明在2009年時候就以一個簡單有效的去霧演算法得到了CVPR best paper,在計算機視覺領域聲名鵲起。後來更是提出了Resnet和Faster R-CNN兩大創新,直接顛覆了整個計算機視覺/機器學習領域。前些年有很多質疑說高考選拔出的不是人才,幾十年幾千個狀元“沒有一個取得成就”。而何凱明正是2003年的廣東理科狀元,Densenet的共同一作劉壯是2013年安徽省的狀元,質疑者對這些卻又視而不見了。

CNN結構越來越複雜,於是谷歌提出了Nasnet來自動用Reinforcement Learning 去search一個優化的結構。Nas是目前CV界一個主流的方向,自動尋找出最好的結構,以及給定引數數量/運算量下最好的結構(這樣就可以應用於手機),是目前影象識別的發展方向。但何凱明前幾天(2019年4月)又發表了一篇論文,表示其實random生成的網路連線結構只要按某些比較好的random方法,都會取得非常好的效果,比標準的好很多。Random和Nas哪個是真的正確的道路,這就有待研究了。

正由於CNN的發展,才引發其他領域很多變革。利用CNN,AlphaGo戰勝了李世石,攻破了圍棋。但基礎版本的AlphaGo其實和人類高手比起來是有勝有負的。但利用了Resnet和Faster-RCNN的思想,一年後的Master則完虐了所有人類圍棋高手,達到神一般的境界,人類棋手毫無勝機。後來又有很多復現的開源圍棋AI,每一個都能用不大的計算量吊打所有的人類高手。以至於現在人們講棋的時候,都是按著AI的勝率來講了。AI的出現也打臉了很多”古今無類之妙手“,人們稱頌了幾百年的丈和、秀榮妙手,在當下的AI看來,反而是大惡手。而有些默默無聞,人們都認為下的不好的棋,反而在AI分析後大放異彩了。

相關文章