一文帶你瞭解卷積神經網路CNN的發展史 - IT人
文章推薦指數: 80 %
卷積 神經網路 (Convolutional Neural Network, CNN)是一種 前饋 神經網路 ,它的人工 神經元 可以響應一部分覆蓋範圍內的周圍單元,對於大型 影象處理 ...
Togglenavigation
IT人
IT人
一文帶你瞭解卷積神經網路CNN的發展史
AMiner學術頭條發表於
2019-05-27
神經網路
卷積神經網路(ConvolutionalNeuralNetwork,CNN)是一種前饋神經網路,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,對於大型影象處理有出色表現。
卷積神經網路由一個或多個卷積層和頂端的全連通層(對應經典的神經網路)組成,同時也包括關聯權重和池化層(poolinglayer)。
這一結構使得卷積神經網路能夠利用輸入資料的二維結構。
與其他深度學習結構相比,卷積神經網路在影象和語音識別方面能夠給出更好的結果。
這一模型也可以使用反向傳播演算法進行訓練。
相比較其他深度、前饋神經網路,卷積神經網路需要考量的引數更少,使之成為一種頗具吸引力的深度學習結構。
本文主要介紹了一些CNN的歷史進展。
1962年Hubel和Wiesel卷積神經網路的發展,最早可以追溯到1962年,Hubel和Wiesel對貓大腦中的視覺系統的研究。
Hubel和Wiesel(圖片來源:harvardbraintour)
20世紀60年代初,DavidHubel和TorstenWiesel從約翰霍普金斯大學和StevenKuffler一起來到哈佛大學,在哈佛醫學院建立了神經生物學系。
他們們在論文《Receptivefields,binocularinteractionandfunctionalarchitectureinthecat'svisualcortex》中提出了Receptivefields的概念,因其在視覺系統中資訊處理方面的傑出貢獻,他們在1981年獲得了諾貝爾生理學或醫學獎。
Hubel和Wiesel記錄了貓腦中各個神經元的電活動。
他們使用幻燈機向貓展示特定的模式,並指出特定的模式刺激了大腦特定部位的活動。
這種單神經元記錄是當時的一項創新,由Hubel早期發明的特殊記錄電極實現,他們通過這些實驗系統地建立了視覺皮層的地圖。
論文地址:https://www.aminer.cn/archive/receptive-fields-binocular-interaction-and-functional-architecture-in-the-cat-s-visual-cortex/55a5761e612c6b12ab1cc9461980年福島邦彥1980年,日本科學家福島邦彥在論文《Neocognitron:Aself-organizingneuralnetworkmodelforamechanismofpatternrecognitionunaffectedbyshiftinposition》提出了一個包含卷積層、池化層的神經網路結構。
老人家現在已經退休了,被譽為“八十多歲仍在奮鬥的全球人工智慧專家”。
除了後來發展出卷積神經網路的Neurocognition(認知控制),現在深度學習中開始熱鬧起來的Attention(注意力)網路背後也有他的身影,他也在上世紀80年就提出過Attention概念和網路。
1998年YannLecun1998年,在這個基礎上,YannLecun在論文《Gradient-BasedLearningAppliedtoDocumentRecognition》中提出了LeNet-5,將BP演算法應用到這個神經網路結構的訓練上,就形成了當代卷積神經網路的雛形。
(圖片來源:Forbes)
原始的CNN效果並不算好,而且訓練也非常困難。
雖然也在閱讀支票、識別數字之類的任務上很有效果,但由於在一般的實際任務中表現不如SVM、Boosting等演算法好,一直處於學術界邊緣的地位。
論文地址:https://www.aminer.cn/archive/gradient-based-learning-applied-to-document-recognition/53e9b85bb7602d970441f6c22012年Hinton組直到2012年,Imagenet影象識別大賽中,Hinton組的論文《ImageNetClassificationwithDeepConvolutionalNeuralNetworks》中提到的Alexnet引入了全新的深層結構和dropout方法,一下子把errorrate從25%以上提升到了15%,顛覆了影象識別領域。
Alexnet有很多創新點,但現在看來是一項非常簡陋的工作。
他主要是讓人們意識到原來那個福島邦彥提出,YannLecun優化的Lenet結構是有很大改進空間的;只要通過一些方法能夠加深這個網路到8層左右,讓網路表達能力提升,就能得到出人意料的好結果。
論文地址:https://www.aminer.cn/archive/imagenet-classification-with-deep-convolutional-neural-networks/53e9a281b7602d9702b88a98順著Alexnet的思想,Lecun組2013年提出一個Dropconnect,把errorrate提升到了11%。
而NUS的顏水成組則提出了NetworkinNetwork,NIN的思想是CNN原來的結構是完全可變的,然後加入了一個1*1conv層,NIN的應用也得到了2014年Imagine另一個挑戰——影象檢測的冠軍。
NetworkinNetwork的思想是CNN結構可以大膽去變化,由此,Inception和VGG在2014年把網路加深到了20層左右,影象識別的errorrate也大幅提升到6.7%,接近人類的5.1%。
2015年,MSRA的任少卿、何凱明、孫劍等人,嘗試把identity加入到神經網路中。
最簡單的Identity卻出人意料的有效,直接使CNN能夠深化到152層、1202層等,errorrate也降到了3.6%。
後來,ResNeXt,Residual-Attention,DenseNet,SENet等也各有貢獻,各自引入了Groupconvolution,Attention,Denseconnection,channelwise-attention等,最終Imagenet上errorrate降到了2.2%,完爆人類。
現在,即使手機上的神經網路,也能達到超過人類的水平。
而另一個挑戰——影象檢測中,也是任少卿、何凱明、孫劍等優化了原先的R-CNN,fastR-CNN等通過其他方法提出regionproposal,然後用CNN去判斷是否是object的方法,提出了fasterR-CNN。
FasterR-CNN的主要貢獻是使用和影象識別相同的CNNfeature,發現那個feature不僅可以識別圖片是什麼東西,還可以用來識別圖片在哪個位置!也就是說,CNN的feature非常有用,包含了大量的資訊,可以同時用來做不同的task。
這個創新一下子把影象檢測的MAP也翻倍了。
在短短的4年中,Imagenet影象檢測的MAP從最初的0.22達到了最終的0.73。
何凱明後來還提出了MaskR-CNN,給fasterR-CNN又加了一個maskhead。
即使只在train中使用maskhead,但maskhead的資訊傳遞迴了原先的CNNfeature中,因此使得原先的feature包含更精細的資訊。
由此,MaskR-CNN得到了更好的結果。
何凱明在2009年時候就以一個簡單有效的去霧演算法得到了CVPRbestpaper,在計算機視覺領域聲名鵲起。
後來更是提出了Resnet和FasterR-CNN兩大創新,直接顛覆了整個計算機視覺/機器學習領域。
前些年有很多質疑說高考選拔出的不是人才,幾十年幾千個狀元“沒有一個取得成就”。
而何凱明正是2003年的廣東理科狀元,Densenet的共同一作劉壯是2013年安徽省的狀元,質疑者對這些卻又視而不見了。
CNN結構越來越複雜,於是谷歌提出了Nasnet來自動用ReinforcementLearning去search一個優化的結構。
Nas是目前CV界一個主流的方向,自動尋找出最好的結構,以及給定引數數量/運算量下最好的結構(這樣就可以應用於手機),是目前影象識別的發展方向。
但何凱明前幾天(2019年4月)又發表了一篇論文,表示其實random生成的網路連線結構只要按某些比較好的random方法,都會取得非常好的效果,比標準的好很多。
Random和Nas哪個是真的正確的道路,這就有待研究了。
正由於CNN的發展,才引發其他領域很多變革。
利用CNN,AlphaGo戰勝了李世石,攻破了圍棋。
但基礎版本的AlphaGo其實和人類高手比起來是有勝有負的。
但利用了Resnet和Faster-RCNN的思想,一年後的Master則完虐了所有人類圍棋高手,達到神一般的境界,人類棋手毫無勝機。
後來又有很多復現的開源圍棋AI,每一個都能用不大的計算量吊打所有的人類高手。
以至於現在人們講棋的時候,都是按著AI的勝率來講了。
AI的出現也打臉了很多”古今無類之妙手“,人們稱頌了幾百年的丈和、秀榮妙手,在當下的AI看來,反而是大惡手。
而有些默默無聞,人們都認為下的不好的棋,反而在AI分析後大放異彩了。
相關文章
java網路程式設計
2020-11-22
Java
Keras輸出網路結構圖
2020-11-21
Keras
Python+selenium實現Drcom校園網自動檢測網路以及自動登入
2020-11-21
Python
centos7初始網路設定
2020-11-21
CentOS
網路程式設計初學
2020-11-21
Java網路程式設計--UDP傳送接收資料
2020-11-21
Java
CS131homework1使用numpy實現卷積
2020-11-21
IMRG:預計今年黑色星期五網路銷售額增長45%
2020-11-22
[論文理解]變換不變性網路transformationinvariantpooling(TI-Pooling)
2020-11-21
計算機網路概述
2020-12-21
計算機網路
VMware安裝CentOS虛擬機器與配置網路
2020-11-22
CentOS
圖神經網路入門
2020-11-22
神經網路
5G+工業網際網路的中國登山隊,如何攀躍“產業化”山巒?
2020-11-22
docker網路問題解決辦法“大全”:關於宿主機訪問不了docker容器中web服務,或者容器內訪問不了外網的問題的解決辦法
2020-11-22
Docker
基於Java的Socket類Tcp網路程式設計實現實時聊天互動程式(一):QQ聊天介面的搭建
2020-11-22
Java
分散式監控系統之Zabbix網路發現
2020-11-22
工信部:2020年10月移動網際網路人均手機流量達11.46GB/月創歷史新高
2020-11-22
【人工智慧】複習筆記DAY01——人工智慧發展簡史
2020-11-22
人工智慧
卷積神經網路知識點總結
2020-11-22
神經網路
最新文章
3.25成都|阿里云云原生Serverless技術實踐營開放報名!
聲網崩潰資料的自動化閉環處理
MobaXterm2022,遠端控制
阿里雲應用身份服務IDaaS重磅升級,雲原生、高安全、更經濟,極致使用者體驗!
AcrobatProDC2022,PDF檔案編輯
共享辦公室租賃,分享創新資源
5分鐘學會gRPC
乾貨|身為頂尖的Hr,這個Excel外掛你不能不知道,用上它事業開掛!
【北亞資料恢復】伺服器中Raid5磁碟陣列重建後資料丟失的資料恢復
[csi]淺聊ceph-csi元件
圖解機器學習|LightGBM模型詳解
如何讀懂火焰圖?+例項講解程式效能優化
延伸文章資訊
- 1一文帶你瞭解卷積神經網路CNN的發展史 - IT人
卷積 神經網路 (Convolutional Neural Network, CNN)是一種 前饋 神經網路 ,它的人工 神經元 可以響應一部分覆蓋範圍內的周圍單元,對於大型 影象處理 ...
- 2卷積神經網路Convolutional Neural Networks - 資料科學・機器 ...
卷積神經網路的運作原理 ... CNN 又被稱為CNNs 或ConvNets,它是目前深度神經網路(deep neural network)領域的發展主力,在圖片辨別上甚至可以做到比人類還精準的...
- 3深度卷積神經網絡演化歷史及結構改進脈絡-40頁長文全面解讀
文獻[3]的網絡即為LeNet-5網絡,這是第一個被廣為流傳的卷積網絡,整個網的結構如下圖所示: ... 下面是基於LeNet-5的手寫體 ...
- 4[总结] 卷积神经网络发展历程 - 知乎专栏
定义了卷积神经网络(Convolutional Neural Network, CNN)的基本框架:卷积层+ 池化层(Pooling Layer) + 全连接层; 定义了卷积层(Convolut...
- 5卷積神經網路歷史
相比較其他深度、前饋神經網路,卷積神經網路需要考量的引數更少,使之成為一種頗具吸引力的深度學習結構。本文主要介紹了一些CNN的歷史進展。1962年Hubel和Wiesel 卷 ...