6.1 ResNet網(wǎng)絡(luò)結(jié)構(gòu),BN以及遷移學(xué)習(xí)詳解

# ResNet詳解、BN以及遷移學(xué)習(xí)
網(wǎng)絡(luò)中亮點:
- 超深的網(wǎng)絡(luò)結(jié)構(gòu)(突破1000層)
- 提出residual模塊
- 使用batch normalization加速訓(xùn)練(丟棄dropout)

### 網(wǎng)絡(luò)深度過高帶來的問題
- 梯度消失或梯度爆炸
- 退化問題(degradation problem)
#### 梯度消失或梯度爆炸:
假設(shè)我們每一層的誤差梯度是一個小于1的數(shù),在反向傳播中,每向前傳播一層,都要乘以一個小于1的誤差梯度。當(dāng)網(wǎng)絡(luò)越來越深的時候,梯度就會越來越小,這就是梯度消失現(xiàn)象;
如果反過來,每一層的一個梯度是一個大于1的數(shù),隨著層數(shù)不斷加深,梯度就會越來越大,這就是梯度爆炸現(xiàn)象;
針對梯度消失或梯度爆炸問題,通常是對數(shù)據(jù)進行標(biāo)準(zhǔn)化處理,權(quán)重進行初始化,以及使用bn來處理。
#### 退化問題(degradation problem):
解決了梯度消失和梯度爆炸的問題,還是會出現(xiàn)網(wǎng)絡(luò)層數(shù)變深,效果不會很高的問題,resnet就此提出了殘差結(jié)構(gòu)來解決退化問題。
### 殘差模塊(residual模塊)

上圖是兩種不同的殘差模塊,左邊是針對于網(wǎng)絡(luò)層數(shù)較少的網(wǎng)絡(luò)使用的殘差結(jié)構(gòu),右邊是針對網(wǎng)絡(luò)層數(shù)較多的網(wǎng)絡(luò)使用的殘差結(jié)構(gòu)(比如左邊的殘差結(jié)構(gòu)對應(yīng)是resnet34,右邊殘差結(jié)構(gòu)對應(yīng)是resnet50,resnet101,resnet152)
需要注意是,兩個殘差結(jié)構(gòu)都最后一層卷積都沒使用relu 激活函數(shù),而是在相加操作之后使用了relu激活函數(shù);另外右邊的結(jié)構(gòu)比左邊的減少了很多參數(shù)
下圖右半部分是resnet34,和左半部分對應(yīng),比如表格中對應(yīng)conv5_x中使用了3次residual block,對應(yīng)右半部分conv5_x中有3個殘差結(jié)構(gòu)
