AI:IPPR的数学表示-CNN结构/参数分析
前言:CNN迎接多類的挑戰
????? ??? 特定類型的傳統PR方法特征提取的方法是固定的,模式函數的形式是固定的,在理論上產生了特定的“局限性” 的,分類準確度可以使用PAC學習理論的方法計算出來。特定函數形式的模式識別準確度、泛化誤差都受到模型本身VC維的限制。
???? ? ??? 使用不受限制的多層網絡取代可以有明確語法形式的傳統網絡,可以突破特征提取和模式函數的固有限制,也導致了模式識別的黑盒方法——不停的實驗,使用更多的數據直至接近遍歷,提高訓練測試技巧,直到評測結果達到最優。隨著類別的增加,和更高準確率的要求,壓縮映射函數必須有更小的損失,意味著壓縮函數變得更加復雜,形式化的網絡和參數化的網絡都面臨著參數暴漲的必然之路,表現在網絡結構上為網絡變得更大,每層網絡的神經元個數變多。
? ? ? ?? 模式識別第94頁,類似的人們研究發現,任意一個從x到y的非線性映射,都存在一個適當結構的三層前饋神經網絡能夠以任意的精度來逼近它。人們分別從Kolmogorov定理的角度和函數的傅里葉展開思想來研究這一性質( Approximation by superposition of a sigmoid function - SPringer和Elervier這兩個出版社對科學論文的過分商業化才是阻礙人類科學進步的鐵欄桿 )。 ?????
? ? ? ? ?? 可以以任意精度逼近任意函數的三層網絡理論上可以描述任意壓縮映射,但即使是傳統的模式識別方法已經使用了多層網絡。三層網描述多類別模式函數需要更多的節點,僅使用兩次函數復合達到多類識別和高精度,每一個函數將會極度復雜,全連接層將變得異常復雜,訓練更加困難。
?????????? 固定的特征提取方法和模式識別方法沒有廣泛通用到各個場景的形式,但分層的思想是通用的經驗之談,逐層遞進也是復雜度分解的有效方式。使用更多層次的映射,即使用相對簡單函數進行多次復合來擬合能適用多類和高精度的模式函數,稱為DNN方法的一般途徑。
弱遍歷
?????? ??? 此外,根據乘法組合原理,分層可以有效的降低網絡總參數個數。每一個從定義域邊緣定義到類別的特定值映射都可被視為一個界面函數,這個函數有且僅有一個纖維組成,從圖像到模式的模式映射被所有的纖維包裹在一個超度量空間里,模式函數必須隱式地在所有界面纖維“里面”,模式函數復雜度等同于纖維叢的復雜度,而多類和高精度意味著界面纖維更多,更靠近定義域定義的個數,所以模式函數的負責度更靠近于定義域的個數。最少的描述每個纖維可以用一個二維張量轉換矩陣描述,纖維的個數等同于矩陣的個數,多層網絡可以得到保證完成相同表示矩陣復合可能的情況下,降低總的網絡參數。使用4*3個矩陣復合12個矩陣比直接使用12個矩陣參數降低了5=X×Y-(X+Y)個,層數越多可以降低的參數越多。
???????? 愈來愈多的類別和要求更高的精度要求網絡越來越大,越變越胖,而隨著參數暴漲,網絡訓練更加困難,分治法又有了用武之地。為使參數變少,使訓練變得相應簡單,網絡逐漸變深,變得更長。????
逐漸變深/變長的ANN-CNN
????? ? ?? 20年前的LeNet網絡在手寫識別領域效果斐然,而對于更復雜的圖像分類如ImageNet級別的數據集,效果就不是那么好了。更深更大的2012年崛起的CNN-AlexNet,以8層的深度取得了很好的效果,力壓各種傳統分類器。
??????? 6層網絡的LeNet只可以在手寫數字識別上發揮奇效,在Minist數據集上取得了很好的結果,而面對類別更多的自然圖像處理變得更加困難。理論上不斷變胖的LeNet也可以在自然圖像上取得奇效(三層網都可以做到),但多類的模式函數使網絡映射函數非線性復雜度增加,局部極值點的勢需要更多參數的吉布斯采樣,使訓練過程變得極度困難。8層網絡的ALexNet在2012年獲得ImageNet-ILSVRC-2012的冠軍,把組合隨機森林方法遠遠地甩在了身后。8層網絡的ALexNet比LeNet更長,同時也比原始LeNet更胖。
???????? 來看看最近幾年的CNN變的多胖多長。
?????????
????????
??????? ? 20年前的LeNet只有6層,而2012年不可一世的ALexNet網絡層數為8層,終于可以在ImageNet數據集上展現風采,在ILSVRC上取得冠軍。
???????? 此后緊隨著AlexNet取得成功 ,? VGGNet、Google Inception Net 和 ResNet,這3種網絡依照順序先后出現,排列查看,網絡的深度和復雜度也依次遞進。
?????? 它們分別獲得了ILSVRC(ImageNet?Large?Scale?Visual?Recognition?Challenge)比賽分類項目的2012年冠軍(AlexNet, top-5錯誤率16.4%,使用額外數據可達到15.3%,8層神經網絡)、2014年亞軍(VGGNet,top-5錯誤率7.3%,19層神經網絡),2014年冠軍(InceptionNet,top-5錯誤率6.7%,22層神經網絡)和2015年的冠軍(ResNet,top-5錯誤率3.57%,152層神經網絡)。
??????? 此處參考:CNN淺析和歷年ImageNet冠軍模型解析?? http://www.cnblogs.com/payton/articles/6732130.html????
??????????
CNN網絡參數-有多胖? ??
????? ?? 參考文章:LeNet參數詳解 ,此文簡單地計算一下參數總數。
???????? 參考鏈接:Deep Learning(深度學習)學習筆記整理系列之LeNet-5卷積參數個人理解
??????? LeNet-5共有6層,不包含輸入,每層都包含可訓練參數;每個層有多個Feature Map,每個FeatureMap通過一種卷積濾波器提取輸入的一種特征,然后每個FeatureMap有多個神經元。可訓練參數大約有30萬個。
????????
?????????
1. C1層是一個卷積層
????????? 輸入圖片:32*32???????? 卷積核大小:5*5?????? 卷積核種類:6?????? 輸出featuremap大小:28*28 (32-5+1)
????????? 神經元數量:28*28*6?????? 可訓練參數:(5*5+1)*6(每個濾波器5*5=25個unit參數和一個bias參數,一共6個濾波器)
?????????? 連接數:(5*5+1)*6*28*28
2. S2層是一個下采樣層
?????????? 輸入:28*28 采樣區域:2*2??????? 采樣方式:4個輸入相加,乘以一個可訓練參數,再加上一個可訓練偏置。結果通過sigmoid
?????????? 采樣種類:6??????????? 輸出featureMap大小:14*14(28/2)
?????????? 神經元數量:14*14*6 可訓練參數:2*6(和的權+偏置)
?????????? 連接數:(2*2+1)*6*14*14??????????????????????? S2中每個特征圖的大小是C1中特征圖大小的1/4
3. C3層也是一個卷積層
?????????? 輸入:S2中所有6個或者幾個特征map組合???? ? ?? 卷積核大小:5*5??? ? ? ? 卷積核種類:16???? ? ? ? 輸出featureMap大小:10*10
??????????? C3中的每個特征map是連接到S2中的所有6個或者幾個特征map的,表示本層的特征map是上一層提取到的特征map的不同組合
??????????? 存在的一個方式是:C3的前6個特征圖以S2中3個相鄰的特征圖子集為輸入。接下來6個特征圖以S2中4個相鄰特征圖子集為輸入。然后的3個以不相鄰的4個特征圖子集為輸入。最后一個將S2中所有特征圖為輸入。
??????????? 則:可訓練參數:6*(3*25+1)+6*(4*25+1)+3*(4*25+1)+(25*6+1)=1516
??????????? 連接數:10*10*1516=151600
4. S4層是一個下采樣層
??????????? 輸入:10*10???? 采樣區域:2*2? 采樣方式:4個輸入相加,乘以一個可訓練參數,再加上一個可訓練偏置。結果通過sigmoid
??????????? 采樣種類:16?? 輸出featureMap大小:5*5(10/2) ? ? 神經元數量:5*5*16=400
??????????? 可訓練參數:2*16=32(和的權+偏置)??? 連接數:16*(2*2+1)*5*5=2000
??????????? S4中每個特征圖的大小是C3中特征圖大小的1/4
5. C5層是一個卷積層
??????????? 輸入:S4層的全部16個單元特征map(與s4全相連)?????? 卷積核大小:5*5???????? 卷積核種類:120?????? 輸出featureMap大小:1*1(5-5+1)
??????????? 可訓練參數/連接:120*(16*5*5+1)=48120
6. F6層全連接層
????????? 輸入:c5 120維向量???? 計算方式:計算輸入向量和權重向量之間的點積,再加上一個偏置,結果通過sigmoid函數
????????? 可訓練參數:84*(120+1)=10164;
??? F6層有84個單元(之所以選這個數字的原因來自于輸出層的設計),與C5層全相連。有10164個可訓練參數。如同經典神經網絡,F6層計算輸入向量和權重向量之間的點積,再加上一個偏置。然后將其傳遞給sigmoid函數產生單元i的一個狀態。
AlexNet等更復雜的網絡參數分析
?? ? ?? 段落摘抄:深度 | ImageNet 歷屆冠軍架構最新評析:哪個深度學習網絡最適合你 ? ?????
??????? AlexNet包含了6億3000萬個連接,6000萬/60M個參數(是LeNet的200倍)和65萬個神經元,擁有5個卷積層,其中3個卷積層后面連接了最大池化層,最后還有3個全連接層。AlexNet以顯著的優勢贏得了競爭激烈的ILSVRC?2012比賽,top-5的錯誤率降低至了16.4%,相比第二名的成績26.2%錯誤率有了巨大的提升。
??? ? ? ???? ???
?????????? 圖片:?http://www.jianshu.com/p/58168fec534d?from=androidqq??? 參數眾多的全鏈接層,浪費! ???????
????? ?? AlexNet可以說是神經網絡在低谷期后的第一次發聲,確立了深度學習(深度卷積網絡)在計算機視覺的統治地位,同時也推動了深度學習在語音識別、自然語言處理、強化學習等領域的拓展。
???????? VGGNet是牛津大學計算機視覺組(Visual?Geometry?Group)和Google?DeepMind公司的研究員一起研發的的深度卷積神經網絡。VGGNet探索了卷積神經網絡的深度與其性能之間的關系,通過反復堆疊3*3的小型卷積核和2*2的最大池化層,VGGNet成功地構筑了16~19層深的卷積神經網絡。
? ? ? ? ? 而VGG參數個數進一步增加,接近130M個,相對于ALexNet,沒有變寬,體型瘦了不少。
? ? ? ? ?
?????????
?????? ? Google?Inception?Net首次出現在ILSVRC?2014的比賽中(和VGGNet同年),就以較大優勢取得了第一名。那屆比賽中的Inception?Net通常被稱為Inception?V1,它最大的特點是控制了計算量和參數量的同時,獲得了非常好的分類性能——top-5錯誤率6.67%,只有AlexNet的一半不到。
???? ?? Inception?V1有22層深,比AlexNet的8層或者VGGNet的19層還要更深。但其計算量只有15億次浮點運算,同時只有500萬的參數量,僅為AlexNet參數量(6000萬)的1/12,卻可以達到遠勝于AlexNet的準確率,可以說是非常優秀并且非常實用的模型。
????? ? 此時,網絡變深的乘法因式分解起了作用,直接把參數降低到ALexNet的1/12,網絡變得瘦長。
??????? 殘差網絡ResNet,Deep Residual Learning for Image Recognition?中提出一種residual learning的框架,能夠大大簡化模型網絡的訓練時間,使得在可接受時間內,模型能夠更深( 152甚至嘗試了1000 ),因此能夠獲得更好的全局表征,該方法在ILSVRC2015上取得最好的成績。
????????? 殘差連接(Residual connections )允許模型中存在shortcuts,可以讓研究學者成功地訓練更深的神經網絡(表達更多的 邊緣參數,能夠獲得更好的表現),這樣也能明顯地簡化深度網絡模塊。
????????? 文章翻譯:圖像識別的深度殘差學習?
??????? Google Inception V4研究了Inception模塊結合Residual Connection能不能有改進?發現ResNet的結構可以極大地加速訓練,同時性能也有提升,得到一個Inception-ResNet v2網絡,同時還設計了一個更深更優化的Inception v4模型,能達到與Inception-ResNet v2相媲美的性能。
?????? 下圖顯示了Google Inception 網絡的改進對比:
????????
??????? 下圖為出類拔萃的眾多CNN網絡的參數分布和層數概況。
??????? ??????
?????? 2016年之后,CNN方法的改進呢?海康威視不是拿到了場景分類的冠軍嗎?
???????????
AI總的路線
?????? CNN廣泛用于圖像識別和圖像檢測,取得了顯著的成果,并應用于工程領域,催生了價值幾十億美元的單個企業,產生了巨大的社會價值。是AI研究、工程化及社會價值實現的先行者。
?????? AI模型的線路圖為:模型結構的探索和模型參數的優化。在CNN以及各個領域,總有一個相對明確的線路圖,即結構的復雜化以及適應性的增強,這樣逐步導致一個整體構架復雜而局部稠密且特定鏈接稀疏的模型。
?????? 這個模型應用于不同的系統會產生特定快速的局部結構選擇,而選擇部分結構之后稠密部分能帶來接近最優的結果,在處理各種場景時能夠相對快速的取得明顯的效果,即智能。
總結
以上是生活随笔為你收集整理的AI:IPPR的数学表示-CNN结构/参数分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LOL无限火力蛮王出什么 英雄联盟无限火
- 下一篇: 三维重建13X:一些算法试题-今日头条A