卷積神經網路(CNN) 的發展 - Medium
文章推薦指數: 80 %
卷積神經網路(Convolutional Neural Network, CNN)是深度學習裡極為重要的一門分支,電腦視覺這領域便是因為它的關係在近幾年有了許多重大的進展, ...
HomeNotificationsListsStoriesWritePublishedinTaiwanAIAcademy卷積神經網路(CNN)的發展介紹卷積神經網路(ConvolutionalNeuralNetwork,CNN)是深度學習裡極為重要的一門分支,電腦視覺這領域便是因為它的關係在近幾年有了許多重大的進展,然而這種神經網路的一大特點即為「卷積」。
卷積是什麼?卷積是一種數學的運算,其功用是可以對資料(如:訊號、影像)做特徵的萃取,萃取出來的特徵會再送到下一個卷積層做進一步的特徵萃取,如此的方式增強了神經網路的學習效率,在圖像辨識上,比起一般的深度神經網路效果高出太多,因此它也成為了各家爭相研究的對象。
Figure1卷積的計算方式CNN的演進1950s~1960s,Hubel&WieselFigure2Hubel(left),Wiesel(right)1950~1960年代,神經生理學家Hubel和Wiesel基於對貓和猴子視覺的研究,提出了腦中兩種基本型態的視覺細胞,分別稱為simplecells和complexcells。
Figure3simplecells和complexcells的結構示意圖上圖是simplecells和complexcells的架構示意圖,這例子說明了simplecells會被特定位置的鉛直邊緣形狀給激發,激發後會再將訊號傳給下一階段的complexcells,值得注意的是每一個simplecell的感知域較小,會受圖形位置的影響激發與否,而complexcells再這樣的連結中卻不會受鉛直邊緣圖形所在位置,只要是在橘色長方形框中都可受到激發,所以感知域較大。
1980,NeocognitronFigure4福島邦彥受到Hubel和Wiesel的啟發,1980年日本電腦科學家福島邦彥提出Neocognitron(神經感知機),它可說是現今CNN架構的源頭。
Neocognitron主要是由兩種不同的cells分別稱作S-cells和C-cells交錯堆疊而成。
S-cells對應到大腦中的simplecells,其功用為featureextraction。
C-cells對應到大腦中的complexcells,有較大的receptivefield,具有downsampling的效果。
Figure5S-cellsandC-cells1987,TDNN(TimeDelayNeuralNetworks)Figure6AlexWaibel1987年AlexWaibel和GeoffreyHinton等人在日本的ATR(AdvancedTelecommunicationResearchInstitute)發表時間延遲神經網路(TDNN)。
TDNN是第一個使用backpropagation做梯度下降訓練的卷積神經網路。
Figure7TDNNArchitectureTDNN是一個語音識別模型,而非圖像識別模型。
上圖是TDNN的網路架構圖,可以看到在inputlayer,convolutionalkernel延著時間方向掃過抓取聲音特徵。
時間延遲(time-delay)是指對同一個音素(phoneme)/b/,/d/,或/g/在不同的時間點上進行採樣後,一起作為模型的輸入,如此以提昇模型的準確度。
1989~1998,YannLeCunFigure8YannLeCunnYannLeCunn法裔美國電腦科學家,1989~1998年間相繼發表了許多關於CNN的研究,為現代CNN架構打下了確實的基礎,他也被稱為卷積網路(convolutionalnets)之父。
Figure9PartofY.LeCun’spaperin1989Figure10Y.LeCun’sNeuralNetworkArchitecture1989年貝爾實驗室Denker等人發表了「手寫郵遞區號的神經網路辨識」的方法,該方法運用了卷積做特徵選取。
不過此方法中卷積核(convolutionalkernel)的參數都是人工設計,並非神經網路自動學習得來。
同年,Y.LeCun等人於貝爾實驗室亦發表了針對「手寫郵遞區號數字辨識」的卷積神經網路。
如此架構的神經網路是Y.LeCun基於他先前的論文「GeneralizationandNetworkDesignStrategies」所提出的概念所設計,不同於DenKer等人先前的作法,這次模型卷積核參數的選取完全是機器自動學來,並非人工設計。
Figure11LeNet-5’sArchitectureLeNet-5於1998年提出,其架構與現今的CNN已經別無二致,且在文字圖像辨識上可說是已經技壓群雄,但受限於當時的算力與資料量,神經網路的優勢在當時並不十分顯著。
另一方面,當時正是SVM大放異彩的年代,神經網路要能被關注大約是在10年後的事。
Figure12LeNet-5Figure13LeNets與其它模型的錯誤率比較圖2006,GPU-implementationofCNNsFigure14KumarChellapilla’spaper2006年KumarChellapilla等人,利用GPU平行運算的能力,將CNN模型forwardpropagation和backpropagation速度提昇3~4倍,使CNN模型不論是在訓練或測試時,時間都大幅縮短,這也是第一個用GPU進行訓練的CNN。
2006,ImageNetFigure15李飛飛ImageNet是個大型的視覺資料集,超過1400萬張人工標注的相片,包含2萬種以上不同的類別,像是氣球,草莓等日常所能見的物品。
ImageNetdataset是由史丹佛大學電腦科學教授李飛飛於2006年所開創,其目的是希望能擴大及增進訓練AI所能使用的資料,ILSVRC競賽所用的資料庫即為ImageNet。
2012,AlexNetFigure16AlexNet’sArchitectureAlexNet是由Hinton學生AlexKrizhevsky所設計的CNN架構,於2012年參與ILSVRC競賽,在圖像分類任務上取得優勝,其Top5errorrate領先當時的第2名近10個百分點,ILSVRC競賽是以ImagNetdataset當作database從中取出一部份作為該年比賽用的資料,訓練資料共包涵1000個類別,每類別約1000張照片,總計訓練資料1200萬張照片,其validationset和testingset照片數量各為5萬及10萬張。
由於AlexNet在這一年的競賽中遙遙領先其他使用非CNN架構的隊伍,這使得CNN受到大家的關注,在往後幾年的比賽中,第一名也都被CNN架構的模型所包辦。
AlexNet是個8層的神經網路(不包含input層),所接收的圖像大小是224*224*3,可以看到AlexNet在input的維度與堆疊的層數上都已較以前的LeNet-5來得多與深。
2014,VGG&GoogleNetFigure17VGGandGoogleNet2014年牛津大學的VGG以19層的CNN將Top5errorrate從原本AlexNet的16.4%下降到7.3%,而GoogleNet再以22層的CNN將Top5errorrate下降到6.7%,此時距離要達到人類的Top5errorrate:5.1%已經不遠。
Figure18Top5errorrate2015,ResNet隨著AlexNet,VGG,GoogleNet在層數上的加深模型表現也越來越好,開始出現一個問題:Thedeeper,thebetter?但答案並非那麼的顯然,甚至人們發現在層數加更深的情況下模型表現反而下降Figure19Figure20Residual’sstructure解決這問題的是2015年在微軟研究院的何凱明,當時他設計了帶有殘差結構的神經網路,並發表了深達152層的ResNet.。
ResNet在該年的ILSVRC競賽中拿下第一,Top5errorrate達到3.57%,準確率已經超越人類的5.1%,ResNet的出現也為ILSVRC的該項分類競賽畫上了句點。
References:https://commons.wikimedia.org/wiki/File:3D_Convolution_Animation.gifhttps://www.i-programmer.info/news/105-artificial-intelligence/8823-golden-goose-award-to-hubel-a-wiesel.htmlhttps://www.brains-explained.com/how-hubel-and-wiesel-revolutionized-neuroscience/http://personalpage.flsi.or.jp/fukushima/index-e.htmlhttps://www.kiv.zcu.cz/studies/predmety/uir/NS/Neocognitron/en/example3.htmlhttps://en.wikipedia.org/wiki/Alex_Waibelhttps://www.wikiwand.com/en/Yann_LeCunhttps://en.wikipedia.org/wiki/Fei-Fei_LiAlexanderH.Waibel,ToshiyukiHanazawa,andKevinJ.Lang,Phonemerecognitionusingtime-delayneuralnetworksY.LeCun,B.Boser,J.S.Denker,D.Henderson,R.E.Howard,W.Hubbard,L.D.Jackel,BackpropagationAppliedtoHandwrittenZipCodeRecognitionKumarChellapilla,SiddPuri,andPatriceSimard,HighPerformanceConvolutionalNeuralNetworksforDocumentProcessingAlexKrizhevsky,IlyaSutskever,GeoffreyE.Hinton,ImageNetClassificationwithDeepConvolutionalNeuralNetworksKaimingHe,XiangyuZhang,ShaoqingRen,JianSun,DeepResidualLearningforImageRecognitionMorefromTaiwanAIAcademynews,techreviewsandsupplementalmaterialsReadmorefromTaiwanAIAcademyGetstartedHsiao-EnSun17FollowersFollowRelatedALIEN´SDIARYbyMaríaSotosToday’sWritingPrompt:DinnerPartyPrepConcreteThinkingFrozenTaoSix-WordCoupletsSixwords,twolinesthatrhyme …HelpStatusWritersBlogCareersPrivacyTermsAboutKnowable
延伸文章資訊
- 1圖像的處理原理:CNN(卷積神經網絡)的實現過程 - 每日頭條
現在有個概念叫泛產品經理,這個概念本身是好的,核心說的是產品思維,但是在工作上我認為還是有一定誤導性。產品經理在工作中要突出自己的核心價值與 ...
- 2卷積神經網路Convolutional Neural Networks - 資料科學・機器 ...
CNN 又被稱為CNNs 或ConvNets,它是目前深度神經網路(deep neural network)領域的發展主力,在圖片辨別上甚至可以做到比人類還精準的程度。如果要說有任何方法能不負大...
- 3卷積神經網路工作原理直觀的解釋? - GetIt01
我目前大四,在用CNN做手寫識別畢業設計,已經接觸機器學習4個月了。但CNN是目前最讓我困惑的,其簡直就像黑匣子,只有輸入輸出,然後看看準確率,完全不清楚...
- 4卷積神經網路(Convolutional Neural Networks,CNN) @ 凝視
卷積神經網路(Convolutional Neural Networks),CNN 也被稱為CNNs 或ConvNets,它是目前深度神經網路(deep neural network)領域的發展主力。
- 5看懂卷積神經網路
這兩個概抄念實際上是互相交叉的,例如,卷積神經網路(Convolutional neural networks,簡稱CNNs)就是一種深度的監督學習下的機器學習模型,而深度置信 ...