CNN卷積神經網絡結構遐思

殘缺的神經網絡

卷積神經網絡,是神經網絡的子集,是殘缺的神經網絡。
[a00a01a02a10a11a12a20a21a22][b00b01b10b11]=[c00c01c10c11] \left[\begin{matrix}a_{00} & a_{01} & a_{02} \\a_{10} & a_{11} & a_{12} \\a_{20} & a_{21} & a_{22}\end{matrix}\right] \odot\left[\begin{matrix}b_{00} & b_{01} \\b_{10} & b_{11}\end{matrix}\right] = \left[\begin{matrix}c_{00} & c_{01} \\c_{10} & c_{11}\end{matrix}\right]
其中計算關係爲
{c00=b00a00+b01a01+b10a10+b11a11c01=b00a01+b01a02+b10a11+b11a12c11=b00a10+b01a11+b10a20+b11a21c11=b00a11+b01a12+b10a21+b11a22 \left\{\begin{aligned}c_{00} &= b_{00}a_{00} + b_{01}a_{01} + b_{10}a_{10} + b_{11}a_{11} \\c_{01} &= b_{00}a_{01} + b_{01}a_{02} + b_{10}a_{11} + b_{11}a_{12} \\c_{11} &= b_{00}a_{10} + b_{01}a_{11} + b_{10}a_{20} + b_{11}a_{21} \\c_{11} &= b_{00}a_{11} + b_{01}a_{12} + b_{10}a_{21} + b_{11}a_{22} \\\end{aligned}\right.
全聯接的齊次表示
[a00a01a01a10a11a12a20a21a22][b00000b01b00000b0100b100b000b11b10b01b000b110b0100b10000b11b10000b11]=[c00c01c10c11] \begin{aligned}\left[\begin{matrix}a_{00} &a_{01} &a_{01} &a_{10} &a_{11} &a_{12} &a_{20} &a_{21} &a_{22} \end{matrix}\right] \left[\begin{matrix}b_{00} &0 & 0 & 0\\b_{01} & b_{00} & 0 & 0\\0 & b_{01} & 0 & 0\\b_{10} & 0 & b_{00} & 0\\b_{11} & b_{10} & b_{01} & b_{00}\\0 & b_{11} & 0 & b_{01}\\0 & 0 & b_{10} & 0\\0 & 0 & b_{11} & b_{10}\\0 & 0 & 0 & b_{11}\end{matrix}\right] = \left[\begin{matrix}c_{00} &c_{01} &c_{10} &c_{11} &\end{matrix}\right]\end{aligned}
也就是說,卷積網絡,就是部分連接的神經網絡,而一般的神經網絡都是進行的全聯接。

同時,在圖像尺寸縮小方面,是因爲我們神經元的遞減,經過排布以後,導致的圖像收縮。

當然,相同辦法的逆運算,也會導致我們的圖像放大。

對比來說,也就是下一層的神經元數量的擴增,排布以後形成的圖像放大。

不過,雖然是殘缺的,但是其中帶有權值的,非00的參數分佈,他們在空間之中,是有一定相關性的。

這也是卷積網絡固然殘缺,卻能受到追捧的原因,它保留了空間信息。

隱藏的神經網絡

關於殘缺的神經網絡這點,大多數人都是必然發現和牢記的,但是關於通道,或許還沒有發現它的本質。

輕而易舉的,我們發現通道上面的計算,同神經網絡更具有相似性。

  • 全聯接
  • 輕易的神經元(通道數)變換

如果我們的原圖,是一個四通道,單像素的圖片,然後進行通道變44後變22的卷積操作,如下圖
在這裏插入圖片描述

這不就是神經網絡麼,全聯接的神經網絡。

而實際的情況下,我們的一個通道,卻不只是一個像素。

關於這一點,這是我們對於高緯的信息的想象力的不全,下面進行一下我個人的理解和描述。

緯度信息

我們一般的信息理解,從信息的類型來分,或許也可以稱作是高緯度的,因爲它的確包含了多方面的信息。

比如,一個人,就是高緯度的信息

  • 身高
  • 體重
  • 年齡

這些信息代表了每個單一緯度的信息,從而組成這麼一個信息空間,而個人,可以看作這個空間的一個向量.

或者,使用張量這個詞更接軌一些。

同上圖所示,我們輸入的,就是這麼一個向量,它由n個單一緯度組成。

而隱藏層是由5個緯度構成,最後投射到j個單一緯度的結果空間,通過對j緯的張量的評估,然後得出結果。

就這種單純的圖片,或者說全聯接的神經網絡,我們可以以一種更簡潔的方式來進行表達
Ti T_i

  • TT:張量
  • ii:緯度

上圖就可以表示爲
TnT4Tj T_n \Rightarrow T_4 \Rightarrow T_j
神經網絡,就是這麼一個信息空間的不同投射轉換,唯一的區別,就是在於這個空間的緯度。


上述已經說明了一種普遍的信息應該是如何表示的,發現其中的關鍵了麼。

我們平時所述的信息,存在描述性的差異,或者說是我們接受程度的差異,也就是
nT1Tn nT_1 \Leftrightarrow T_n
我們習慣性的對一個信息量進行拆解,從每一個緯度去進行理解。

對於熟知事物,只是從我們關注的點去進行探究,這才造就了我們豐富的生活。

對於美女,僅僅需要一張姣好的面容即可,但是一個信息,逐漸的認知,會豐富她的緯度。

  • 髮型
  • 穿着
  • 品味
  • 素養
  • 學識
  • 還有腿

正是因爲部分特徵的截取和組合,讓不同的情況不同的人,對於相同的事物產生不同的偏差。

究其根本原因,只是我們認知的侷限,或者說是需求的侷限。

我們的確已經接受了高緯的信息,卻仍然以一種低緯的思想去理解,這就產生了侷限。

現在,不妨玩一玩這麼一個思維遊戲:定義人如何造就一個社會

  • TpT_p:把person定義爲p緯的一個輸入張量
  • TnT_n:假設社會的人口爲n,社會的輸入就是nTPnT_P,以每個人都算作一個緯度,社會輸入就是TnT_n
  • TmT_m:衡量一個社會,需要從教育、軍事…等m個緯度進行衡量,那麼衡量的信息就是TmT_m
  • TsT_s:於是,最終得到一個社會的評價,也就是能夠準確描述社會的TsT_s

整個流程就是
TnTnTs T_n \Rightarrow T_n \Rightarrow T_s
不過,正如TpT_pTnT_n之間的關係,由於樣本組成了樣本空間,每個信息都有所在的信息空間。

對於確定的TsT_s,只是一個固定的社會形態,而TsT_s的空間,則包含了各種的社會形態。


通過這種觀點,我們的回顧了我們對於信息的認知,從而發現這種認知的侷限所在

單緯度的認知,取決於我們對於高緯度信息的緯度發掘的多寡。

爲何因愛生恨,不過是因爲我們緯度信息挖掘的不夠,部分的緯度信息,刺激了愛,於是愛了。

但是當我們接近,發掘出了更多的其他緯度的信息,綜合起來發現,我們誤判了----愛上了一個不該愛的人。

或者說,如果信息完備,我們不會去愛上此人。

卷積信息挖掘

卷積,或者說神經網絡,就是信息的挖掘機,通過卷積,我們挖掘出了這麼一個信息。

如果一個信息是不加約束的,記作TT,如果有一定約束,記作TT'

神經網絡,挖掘的信息,毫無疑問是TT,而卷積網絡,挖掘的信息,包含空間約束,記作TT'

對於每次的信息挖掘,記作TiTi+1T_i \Rightarrow T_{i+1},使用上標來表示緯度變化,也就成了TijTi+1j+1T_i^j \Rightarrow T_{i+1}^{j+1}


在卷積過程當中,或者說單通道的情況下,挖掘的方式爲
TijTi+1j+1 {T^{j}_i }' \Rightarrow {T_{i+1}^{j+1}}'
假設原圖像素爲1,也就是在沒有空間約束的情況下,挖掘方式爲
TijTi+1j+1 T_i^j \Rightarrow T_{i+1}^{j+1}
現在,兩者綜合起來,不過關鍵的點,還是在於通道數量的變化

  • 卷積

單一的卷積的變化式按照原樣,但是對於同樣的輸入,進行了不同挖掘,也就是
TijnTi+1j+1 {T^{j}_i }' \Rightarrow n{T_{i+1}^{j+1}}'
簡單的記作T_NT\_N

  • 通道

通道的變化式,還是老樣子,但是,對於TijT_i^j,有沒有讓你和T_NT\_N產生了聯想。

沒錯,兩者其實是等價的。

通道的網絡變換,作爲一個高緯向量,它的單緯度,正是對應的卷積核抽取出來的一個特徵。

而不同的卷積核抽取的特徵,正是作爲了新一輪的網絡計算的輸入。


爲了直觀感受,這裏舉一個例子,還是以人爲例

  • 身高
  • 體重
  • 腿長
  • 眼睛顏色
  • 眼睛大小
  • 睫毛長度
  • 睫毛顏色
  • 頭髮長度
  • 頭髮顏色
  • 手掌尺寸

每個輸入,都寫作xix_i
x0xn}x0xn}x0xn}x0xn}} \begin{aligned}\left.\begin{aligned}\left.\begin{matrix}x_0 \\\vdots \\x_n\end{matrix}\right\} 財富 \\\left.\begin{matrix}x_0 \\\vdots \\x_n\end{matrix}\right\} 學識 \\\vdots \\\left.\begin{matrix}x_0 \\\vdots \\x_n\end{matrix}\right\} 外貌 \\\left.\begin{matrix}x_0 \\\vdots \\x_n\end{matrix}\right\} 魅力 \\\end{aligned}\right\} 婚姻\end{aligned}

發現問題的關鍵點了麼

  • 相同輸入會進行重複的特徵提取
  • 每個特徵都有各自的偏向性
  • 基於提取之後的特徵,再次進行特徵提取

也就是說,這是一種嫁接在神經網絡上面的神經網絡,而殘缺是由於空間限定。

而且與嫁接而言,空間限定僅僅是小兒科。


這裏,同樣解釋了這麼一個問題:爲什麼backbone可以複用。

因爲,經過大量訓練集的洗禮,backbone已經習得了諸如顏色、毛髮等特徵。

而後續的特徵組合,僅僅是一種基於此的新的特徵判斷,但是組合方式的差異,不受基礎屬性的影響。

正如判斷漂亮與否,和判斷頭髮枯黃的兩種基準,是明確的隔離的。

對於美醜的判斷,基於頭髮枯黃等結果,卻和是否枯黃的判斷標準毫無關聯。

也是,backbone的複用性也就不言而明。

易於理解的網絡

本質來說,這種抽取+邏輯的網絡是否就更具有一種更好的效果呢。

從個人的觀念來看,那必定是更好的。

因爲,它對於一個抽象的高緯的信息的判斷變得更加的精確,組合方式也就更加的精準。

現在一步到位的神經網絡,存在兩個問題

  • 隱蔽:

對於所謂的美貌這種特徵,如果不是作爲目標來計算,而僅僅是中間生成的一方面的判斷依據。

它是不具備複用性的,也是不長久的。

對於神經網絡,我們只是對它的複雜計算最終導致的結果是可分析和預計的,對於其中的中間信息,無能爲力。

也就是因果一步到位,對於其中的變化過程一無所知,最終的出來的,只是經驗而非知識。

  • 模糊

同樣的,關注不同的事情,重點是不一樣的。

雖然我們可以忽略,卻不能夠忘記還有這麼一些東西。

神經網絡中,由於存在明確的目標,關於這方面的信息的確能夠足夠的去挖掘。

但是更換目標以後,由於偏重的變化,相同信息在新的模型中,它的參數權重,也就會降低。

甚至於,它的影響相比其他重量級的因素是微小的,於是被完全的忽略,權重爲00

但是本質上,它的影響力還是存在那麼一點點。

正是因爲這個原因,對於一個既定結果的憑重的不一,導致對單一信息的差異性識別。

得出來的結果本身就有一定的偏向性。

相同的東西,不同環境下的評價或許不同,但是就它本身而言,應該是一種明確的、定量的評價

就好比身高175175,在一些地方,被認爲高,一些地方,被認爲矮,一些地方就覺得很普通。

但是在長度的標尺下面,它就是一定的175175,是確定的,唯一的。


原來的神經網絡,兩點的弊病,一針見血的表述就是

  • 差異性目標導致的基礎特徵的差異性認知

而且相同的基礎特徵,都需要重頭的訓練,浪費資源,還是存在識別差異。

卷積網絡的backbone,經過標準的數據集,可以說有一定的認知標準,因此直接複用。

制定個人的functional,僅僅改變組合邏輯,就可以完成個人的信息組合,多麼美好。


不過,對於一個東西準確的衡量,並不是如此簡單,爲了更貼近自己的結果,有時候我們更需要擴大它的差異。

由於functional的設計缺陷,很多人也重新訓練backbone,這就是爲了更好偏向結果,不過個人覺得並不正確

擬合

所以過擬合欠擬合,到底是什麼關係呢?

  • 過擬合:過於貼近訓練集,測試集效果不佳
  • 欠擬合:對於訓練集本身擬合不佳

兩者有差異麼?不,兩者不存在差異,兩者都是一致的:方向性偏差

欠擬合,無法擬合,是一種大距離的方向性偏差,能夠明顯的察覺到錯誤。

過擬合,很大程度上擬合,但是偏向點和目標點角度很小,很大程度準確,無法校準。

欠擬合無需多說,關鍵是過擬合,真的有意思。

如果你的真實情況是x=1x=1,訓練出來x=1.1x = 1.1,在範圍[0.5,+0.5][-0.5, +0.5]之間,情況是這樣的。

真實樣本x[0.5,1.5]x \in [0.5, 1.5],預測的樣本[0.6,1.6][0.6, 1.6],也就是對於測試集合中的[0.5,0.6)(1.5,1.6][0.5, 0.6) \bigcup (1.5, 1.6],它就會辨別錯誤。

這種擬合,精確程度下發生了很小的偏差,因爲精確,所以更深蒂固。

哪怕錯誤,或許我們想要的更是x=300[299.6,298.6]x = 300 \Rightarrow [-299.6, -298.6],因爲預測的結果[0.4,1.6][0.4, 1.6]更貼近我們的目標。

也就是說,一般的訓練,實際上有兩個方面因素

  • 定位
  • 偏移

兩者都精準的大道了目標,我們就掌握了真理,不過太理想。

當定位太遙遠,但是通過偏移,映射了我們的目標,我們心滿意足,反之亦然。

或者說,我們對於定位的要求並沒那麼大,偏移程度和範圍,纔是能夠把握樣本的根本關鍵。

過擬合,就是映射過程中,對於偏移的程度和範圍,又一個固執的認知,自成體系,而無法容納我們的部分期望。


擬合的兩者,一個錯誤的認知,一個偏執的認知,根本原因在於認知方向的錯誤。

差異過大,這是量上面的,顯而易見。

但是那些看起來正確的,始終過擬合的,是因爲某些東西本質上的不同,但是現象上面存在交集。

或許,也是因爲基礎特徵的差異化、偏向性的特徵提取導致,完全的忽略的那些微弱的原因。

由於這些原因的缺乏,導致認知的正確存在那麼一點點的固化偏差。

過擬合其實不是錯誤,也有可能是我們對於某方面的處理,矇蔽了視聽,侷限了信息範圍。

這就是激活函數的優劣問題了,梯度消失當時就是抹殺了信息。

這種問題,還存在吧,在一些我們意想不到的角落。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章