關於神經網絡的capacity、regularization、generalization

以一個ANN(MLP,級聯的FC網絡)爲例,每一層的每一個units(neurons)代表着這一層所構建的特徵空間中的一維,或者是這一層所能代表類別的某一類別的confidence:

(即若ANN中的某一層有3個neuron,後一層有5個neuron,y = W * x + b, 這兩層之間的W是一個5*3的矩陣。那麼這兩層相當於把輸入爲3 * dim的一個feature map轉換成5 * dim的feature map,即將dim維的feature dimension從3升到了5。W中的每行的3個weight wi(即這一層中的5個neuron每一個都管理着自己的3個weights),就可以看做是一個classifer,或一個feature descriptor。因爲這三個weights把一個輸入轉化成了一個類別的得分,或者是一個5維特徵在一維上的特徵值。)

那麼,一個網絡的generalization能力是由網絡的capacity和訓練數據量共同決定的。網絡capacity越大越能捕捉訓練數據的細枝末節(高頻),所以越容易overfit(在訓練數據的高頻noise上),從而generalization不佳。

所以在訓練數據無窮的極限條件下,網絡的generalization能力與其capacity成正比。

那麼提高網絡的泛化性能就可以理解爲1. 增加訓練數據;2. 增大網絡的capacity

直觀來看網絡的capacity與網絡參數量成正比。但是,這裏面要考慮到所謂參數間互相coupling、correlating的現象。即,某些參數能力很強,總能做出正確的事,從而網絡學會了偷懶,其他某些參數(units)只是在機械地模仿這些“superstar“unit的輸出結果。這就導致雖然參數量很大,但是一部分參數在單純模仿,並沒有獨立運作的效力。造成其名存實亡,也即網絡capacity的折損。因而,需要一些手段來de-coupling、de-correlating,讓每個units都主動去學,各司其職,分擔工作。這些手段就是regularizations。regularization = 規範化、約束化,顧名思義是一種對網絡參數進行管控的手段。常見的L1,L2,以及dropout,都屬於regularization。

L1和L2 loss是加在loss function上的regualrization手段。L2 loss直接觀察就是通過懲罰使得網絡規避少量極大的weight(極大weight代表這些unit在網絡進行predict的時候起到很大的主導作用,就是“superstar units”),而更傾向於diffused weight,即每個unit都有貢獻,但貢獻都不太大,都不佔主導。L1 loss則是一種特徵選擇,即可以接受一些unit靜默,某些unit獨大。

Dropout作爲一種regularization的理解更晦澀一些。舉例如下:網絡的所有unit是一個班裏的所有同學。這個網絡的任務是複習參加一次考試。此時,班裏有一些尖子生(“superstar units”)總是能夠好好複習,且總能考出好成績。班裏也有一些不上進的同學,寄希望於在考試的時候抄這些尖子生的答案,因此這些差學生根部不學習,等着抄。如何motivate這些差學生也主動學習呢?Dropout好比一次流感。這次流感會導致班裏randomly一半的同學感冒不能參加考試。這時候,差同學擔心身旁的好學生可能參加不了考試,沒辦法等着抄了,只好主動自己去學習。從結果上來看,dropout “de-couple”了差學生對好學生的依賴和依附,也即regularize(教導管理了)這些化學生的behavior。因此,壞學生也學習了,units的weight就有值了。

說得再宏觀一點,Inductive bias是regularization的本源。inductive bias指的是網絡本身具有的或者人爲施加的對網絡訓練過程的管理監控約束機制。Occarm‘s razor就是最基本的一種inductive bias原則,而Occarm razor與L2 loss的regularization理念不謀而合,即傾向於網絡weights的平均化。

總結而言,regularization能夠幫助兌現網絡的capacity,更強的capacity配合更大的training data會得到更強的generalization capacity of the model。

 

 

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