1. 程式人生 > >Resnet的理解——(1)

Resnet的理解——(1)

網路深度是影響深度卷積神經網路效能的一大因素,但是研究者發現當網路不斷加深時,訓練的結果並不好。這不是因為過擬合,因為過擬合的話應該是訓練集上結果好,測試集不好,但深度網路出現的現象是訓練集上的效果就不好。而且這種現象還會隨著深度加深而變差。這並不符合邏輯,因為深層網路在訓練時,可以是在淺層網路的函式上加上一個恆等變換。而深層網路顯然沒有把這種恆等變換學習到。因此,提出了Resnet

網路結構是有好多個block組成,每個block的構成如下圖,加入了一個shortcut connections 從函式上來看就是加入了一個恆等變換。

從正向傳播上來看,引入恆等變換可以使網路引數調整作用更大。這個地方引用下知乎上一個特別好的回答

“F是求和前網路對映,H是從輸入到求和後的網路對映。比如把5對映到5.1,那麼引入殘差前是F'(5)=5.1,引入殘差後是H(5)=5.1, H(5)=F(5)+5, F(5)=0.1。這裡的F'F都表示網路引數對映,引入殘差後的對映對輸出的變化更敏感。比如s輸出從5.1變到5.2,對映F'的輸出增加了1/51=2%,而對於殘差結構輸出從5.15.2,對映F是從0.10.2,增加了100%。明顯後者輸出變化對權重的調整作用更大,所以效果更好。殘差的思想都是去掉相同的主體部分,從而突出微小的變化,看到殘差網路我第一反應就是差分放大器